Мазмұны:
Бейне: IOT123 - I2C BRICK MASTER JIG: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
ASSIMILATE SENSORS and ACTORS әзірлей отырып, мен жасалынатын прототиптерге adhoc I2C командаларын жіберу үшін UNO -ны қолда ұстаймын. I2C BRICKS артықшылықтарының бірі стандартталған түйреуіштер болып табылады. Нан тақтасы сымдарын қолданудың орнына (фрицингтерді қараңыз), берік технологиялық қалқан қолданылады.
1 -қадам: материалдар мен құралдар
- 4см x 6см біркелкі емес ПХД (1)
- Қосылатын сым (~ 6)
- 4K7 резисторлары (2) 6
- Ерлер тақырыбы (12P, 8P)
- Әйел тақырыбы (9P немесе 3P, 3P)
- Дәнекер және темір (1)
2 -қадам: құрастыру
Егер сіз 1 разрядты 9П әйел тақырыбының орнына 2 ажыратымды 3P әйел тақырыптарын қолдансаңыз, ASSIMILATE SENSOR/ACTORS JIG -ге оларды бөлшектеместен сәйкес келеді.
Сым арқылы ұштарынан 10 мм -ге дейін жұлып алып, ұштарын бекітіңіз.
- ПХД астыңғы жағына еркек атауын (1) (2) салыңыз да, үстінен дәнекерлеңіз.
- ПХД -нің жоғарғы жағына аналық бастиекті (3) және дәнекерлеуді төменгі жағына салыңыз.
- Жоғарғы жағында тесік арқылы қызыл сым RED1 мен RED2.
- Төменгі жағында тесік сым RED1-ден RED3-ке дейін.
- Төменгі жағында RED2-ден RED5-ке дейінгі тесік сым және дәнекерленген.
- Жоғарғы жағында RED3-тен RED4-ке дейінгі тесік сым және дәнекерленген.
- Жоғарғы жағында қызыл сым RED6 және RED7 тесіктерінен өтеді.
- Төменгі жағында тесік сым RED6-дан RED8-ге дейін.
- Төменгі жағында тесік сым RED7-ден RED10-ға дейін және дәнекерленген.
- Жоғарғы жағында тесік сым RED8-ден RED9-ға дейін және дәнекерленген.
- Жоғарғы жағында тесік арқылы қара сым BLACK1 мен BLACK2.
- Төменгі жағында тесік сым BLACK1-ден BLACK3-ке дейін.
- Төменгі жағында тесік сым BLACK2-ден BLACK5-ке дейін және дәнекерленген.
- Жоғарғы жағында BLACK3-тен BLACK4-ке дейінгі тесік сым және дәнекерленген.
- Жоғарғы жағында көгілдір сым BLUE1 және BLUE2 арқылы тесіледі.
- Төменгі жағында тесік сым BLUE1-ден BLUE3-ке дейін.
- Төменгі жағында BLUE2-ден BLUE5-ке дейінгі тесік сым және дәнекерленген.
- Үстіңгі жағында тесік сым BLUE3-тен BLUE4-ке дейін және дәнекерленген.
- Жоғарғы жағында жасыл сым GREEN1 мен GREEN2-ге тесік арқылы өтеді.
- Төменгі жағында GREEN1-ден GREEN3-ке дейінгі тесік сым.
- Төменгі жағында GREEN2-ден GREEN5-ке дейінгі тесік сым және дәнекерленген.
- Үстіңгі жағында GREEN3-тен GREEN4-ке дейінгі тесік сым және дәнекерленген.
- Жоғарғы жағында тесік арқылы 4K7 резисторы SILVER3 және SILVER4.
- Төменгі жағында SILVER3-тен GREEN5-ке дейінгі саңылаулы сым және дәнекерленген.
- Төменгі жағында SILVER4-тен RED10-ға дейінгі тесік сым және дәнекерленген.
- Жоғарғы жағында тесік арқылы 4K7 резисторы SILVER1 мен SILVER2.
- Төменгі жағында SILVER1-ден BLUE5-ке дейінгі саңылау және сым.
- Төменгі жағында SILVER2-ден RED10-ға дейінгі саңылаулы сым және дәнекерленген.
3 -қадам: БҰҰ коды
Мұндағы эскиз қарапайым. Бұл консольді енгізуді пайдалануға, БҰҰ I2C хабарламаларын I2C ATTINY85 BRICK жіберуге мүмкіндік береді.
Барлық нұсқаулар қолдау көрсетілетін опциялармен бірге экранға шығарылады.
I2C BRICK БҰҰ шеберінің құлдарға арналған арнайы командалары
#қосу |
const байт _num_chars = 32; |
char _received_chars [_num_chars]; // алынған мәліметтерді сақтауға арналған массив |
логикалық _has_new_data = жалған; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println («IOT ACTOR/SENSOR EEPROM EDITOR РЕДАКТОРЫН ҚҰРУ»); |
Serial.println («консоль терезесінде жаңа жолды таңдауды қамтамасыз ету»); |
Serial.println (); |
Serial.println («АДРЕС 1 METADATA ҚАБЫЛДАУЫН ЖОҚ (M2M үшін) РАҚСАТТАҢЫЗ»); |
Serial.println («АДРЕС 2 АКТОР ПАРДАМЕНТІ»); |
Serial.println (); |
Serial.println («АВТОБУСТАРДАҒЫ АДРЕСТЕР:»); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println («»); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
үшін (байт адрес = 8; адрес <127; адрес ++) |
{ |
Wire.beginTransmission (мекенжай); |
const байт қателігі = Wire.endTransmission (); |
егер (қате == 0) |
{ |
Serial.println (мекен -жайы); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
статикалық байт ndx = 0; |
char end_marker = '\ n'; |
char rc; |
while (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
егер (rc! = end_marker) { |
_received_chars [ndx] = rc; |
ndx ++; |
егер (ndx> = _num_chars) { |
ndx = _нөмір_шарлар - 1; |
} |
} |
басқа { |
_received_chars [ndx] = '\ 0'; // жолды тоқтатыңыз |
ndx = 0; |
_has_new_data = ақиқат; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Жол қабылданды_жол = Жол (_қабылданған_шарлар); |
егер (_has_new_data == ақиқат) { |
int idx1 = алынды_string.indexOf (''); |
Жол мекенжайы = алынды_string.substring (0, idx1); |
int address_int = address.toInt (); |
if (address_int <8 || address_int> 127) { |
Serial.println («ADRESS INPUT INVALID:»); |
Serial.println (мекен -жайы); |
қайтару; |
} |
int idx2 = алынды_string.indexOf ('', idx1+1); |
Жол коды; |
егер (idx2 == -1) { |
код = алынған_стринг.substring (idx1+1); |
} басқа { |
код = алынған_стринг.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
if (code_int <0 || code_int> 5) { |
Serial.println («КОД КІРІСІ ЖАҚСЫ:»); |
Serial.println (код); |
қайтару; |
} |
bool has_parameter = idx2> -1; |
Жол параметрі; |
if (has_parameter) { |
параметр = алынды_string.substring (idx2 + 1, idx2 + 17); // максимум 16 таңба |
if (paramet.length () <1) { |
Serial.println («PARTAMETER MIN. LENGTH 1»); |
_has_new_data = жалған; |
қайтару; |
} |
} басқа { |
егер (code_int> 1) { |
Serial.println («ПАРАМЕТР КЕРЕК!»); |
_has_new_data = жалған; |
қайтару; |
} |
} |
Serial.println (); |
Serial.print («кіріс ориг =»); |
Serial.println (алынған_жол); |
Serial.print («мекен -жай =»); |
Serial.println (мекен -жайы); |
Serial.print («код =»); |
Serial.println (код); |
Serial.print («параметр =»); |
Serial.println (параметр); |
// I2C арқылы жіберу |
Wire.beginTrmission (address_int); |
Wire.write (code_int); |
if (has_parameter) { |
parameter.trim (); |
strcpy (param_buf, parameter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println («ЖІБЕРІЛДІ I2C!»); |
Serial.println (); |
Serial.println («»); |
_has_new_data = жалған; |
} |
} |
rawuno_i2c_command_input.ino -ды GitHub ❤ арқылы орналастыруды қараңыз
4 -қадам: Келесі қадамдар
Ұсынылған конструкциялардан сіз өзіңіздің жеке ассоциациялаушы IOT ЖЕЛІСІН құру үшін қозғалмалы бөліктер жеткілікті.
Түйіндердің әрбір жеке функциялары (сенсорлар мен актерлер) орталықтандырылмаған түрде басқарылады, MCU шеберіне қолдау көрсетілетін мүмкіндіктер туралы білуге байланысты емес.
MQTT брокеріне қосылатын кез келген қосымша IOT түйінінің барлық мүмкіндіктерін бақылай алады/бақылай алады. Бұл M2M, веб -қосымшалар, IFTTT және т. IOT әлеміне әлдеқайда қарапайым (немесе қаласаңыз, бай) интерфейстер.
Ұсынылған:
DRONE MASTER: 6 қадам
DRONE MASTER: Бұл AI роботының 3D дизайны. Бағдарламадағы немесе үлкен функциялардағы немесе тіпті футбол матчындағы барлық дрондарды үйлестіру және басқару өте қиын. Бізге бұл үшін ұшқышсыз ұшу аппараттарының операторлары қажет. және болады
Arduino мен Python Arduino Master кітапханасын қолдану арқылы жарық қарқындылығын сызу: 5 қадам
Arduino мен Python Arduino Master кітапханасын қолдана отырып, жарықтың қарқындылығын анықтау: Arduino үнемді, бірақ өте тиімді және функционалды құрал, оны Embedded C -де программалау жобаларды қиындатады! Python Arduino_Master модулі мұны жеңілдетеді және есептеулер жүргізуге, қоқыс мәндерін жоюға мүмкіндік береді
Gardenduino Aka Garden Master: 4 қадам
Gardenduino Aka Garden Master: жақсы, біздің көгалдарды тазалау, өсімдіктерді суару скучно емес пе? не емес! Бау -бақша - бұл менің шәйім емес. сондықтан менің бақшамды күту үшін автоматты жүйе жасауды шештім! Бастайық
VHDL -де SPI Master дизайны: 6 қадам
VHDL -де SPI шеберінің дизайны: Бұл нұсқаулықта біз SPH автобус шеберін нөлден VHDL -де жобалайтын боламыз
ESP32 Modbus Master TCP: 7 қадам
ESP32 Modbus Master TCP: Бұл сыныпта сіз ESP32 процессорын Modbus TCP Master ретінде бағдарламалайсыз, бізде екі процессор бар: Moduino ESP32 және Pycom. Екі құрылғы да MicroPytthon ортасында жұмыс істейді. Біздің Modbus Slave - бұл М компьютері бар компьютер