Агуулгын хүснэгт:
- Алхам 1: Материал ба багаж хэрэгсэл
- Алхам 2: угсрах
- Алхам 3: НҮБ -ын код
- Алхам 4: Дараагийн алхамууд
Видео: IOT123 - I2C BRICK MASTER JIG: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
ASSIMILATE SENSORS and ACTORS -ийг боловсруулж байхдаа би боловсруулсан прототипүүдэд adhoc I2C командыг илгээх UNO -г гартаа хадгалдаг. I2C BRICKS -ийн давуу талуудын нэг бол стандарт зүү юм. Талхны хавтангийн утсыг байнга ашиглахаас илүүтэйгээр (Fritzings-ийг үзнэ үү) бат бөх лог технологийг ашигладаг.
Алхам 1: Материал ба багаж хэрэгсэл
- 4см х 6см Uninersal ПХБ (1)
- Холбох утас (~ 6)
- 4K7 эсэргүүцэл (2) 6
- Эрэгтэй толгой (12P, 8P)
- Эмэгтэй толгой (9P, эсвэл 3P, 3P)
- Гагнуур ба төмөр (1)
Алхам 2: угсрах
Хэрэв та 1 унтраах 9P эмэгтэй толгойн оронд 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-ээс цэнхэр 5 хүртэлх нүхтэй утас, гагнуур.
- Доод талд нь SILVER2-ээс RED10 хүртэлх нүхний утас, гагнуур.
Алхам 3: НҮБ -ын код
Энд байгаа ноорог нь энгийн зүйл юм. Энэ нь НҮБ -аас I2C ATTINY85 BRICK руу I2C мессеж илгээх боломжийг олгохын тулд консол оролтыг ашиглах боломжийг танд олгоно.
Бүх зааврыг дэмжигдсэн сонголтуудын хамт дэлгэц дээр хэвлэнэ.
I2C BRICK НҮБ -ын мастераас гаргасан боолуудад зориулсан adhoc командууд
#оруулах |
const байт _num_chars = 32; |
char _ хүлээн авсан_чар [_нум_чарс]; // хүлээн авсан өгөгдлийг хадгалах массив |
boolean _has_new_data = худал; |
voidsetup () { |
Цуваа эхлэх (9600); |
Serial.println (); |
Serial.println ("IOT ACTOR/SENSOR EEPROM EDITOR ASSIMILATE"); |
Serial.println ("консолын цонхонд шинэ мөрийг сонгосон эсэхийг баталгаажуулах"); |
Serial.println (); |
Serial.println ("ADDRESS 1 METADATA RECEIPT N/A (M2M -ийн хувьд) хүлээн зөвшөөрч байна"); |
Serial.println ("ADDRESS 2 ACTOR COMMAND"); |
Serial.println (); |
Serial.println ("АВТОБУСАНД ХАЯГ:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
for (байт хаяг = 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) { |
_ хүлээн авсан_чарс [ndx] = rc; |
ndx ++; |
хэрэв (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
өөр { |
_ хүлээн авсан_чарс [ndx] = '\ 0'; // мөрийг зогсоох |
ndx = 0; |
_has_new_data = үнэн; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const String хүлээн авсан_ мөр = String (хүлээн авсан_чарс); |
хэрэв (_has_new_data == үнэн) { |
int idx1 = хүлээн авсан_стринг.indexOf (''); |
String хаяг = хүлээн авсан_мөр.субстринг (0, idx1); |
int address_int = address.toInt (); |
if (address_int <8 || address_int> 127) { |
Serial.println ("ХҮРГҮЙ ХАЯГЫН ОРОЛЦОО:"); |
Serial.println (хаяг); |
буцах; |
} |
int idx2 = хүлээн авсан_стринг.indexOf ('', idx1+1); |
String код; |
хэрэв (idx2 == -1) { |
код = хүлээн авсан_мөр.субстринг (idx1+1); |
} өөр { |
код = хүлээн авсан_мөр.субстринг (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; |
String параметр; |
if (has_parameter) { |
параметр = хүлээн авсан_мөр.субстринг (idx2 + 1, idx2 + 17); // хамгийн ихдээ 16 тэмдэгт |
if (parameter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = худал; |
буцах; |
} |
} өөр { |
хэрэв (code_int> 1) { |
Serial.println ("PARAMETER REUUIRED!"); |
_has_new_data = худал; |
буцах; |
} |
} |
Serial.println (); |
Serial.print ("оролтын ориг ="); |
Serial.println (хүлээн авсан_ мөр); |
Serial.print ("хаяг ="); |
Serial.println (хаяг); |
Serial.print ("код ="); |
Serial.println (код); |
Serial.print ("параметр ="); |
Serial.println (параметр); |
// I2C -ээр илгээх |
Wire.beginTransmission (address_int); |
Wire.write (code_int); |
if (has_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 = худал; |
} |
} |
GitHub -ийн ❤ дээр зохион байгуулагдсан rawuno_i2c_command_input.ino -г үзэх
Алхам 4: Дараагийн алхамууд
Танилцуулсан бүтээн байгуулалтаас харахад та өөрийн ASSIMILATE IOT сүлжээг бий болгоход хангалттай хөдлөх хэсгүүд байна.
Зангилааны бие даасан функц (мэдрэгч ба жүжигчид) тус бүрийг дэмжигдсэн шинж чанаруудын талаар мэдлэгтэй байхын тулд MCU -ийн мастераас хамааралгүйгээр төвлөрсөн бус байдлаар удирддаг.
MQTT брокертой холбогдсон аливаа програм нь IOT зангилааны бүх онцлогийг хянах/ажиглах боломжтой. Энэ бол M2M, вэб програмууд, IFTTT гэх мэт. Илүү энгийн (хэрэв та хүсвэл илүү баялаг) интерфейс нь таны IOT ертөнцөд интерфэйс болно.
Зөвлөмж болгож буй:
DRONE MASTER: 6 алхам
DRONE MASTER: Энэ бол хиймэл оюун ухаантай роботын 3D загвар юм. Бүх дроныг програм эсвэл том функцээр эсвэл хөл бөмбөгийн тэмцээнд зохицуулах, удирдах нь маш хэцүү байдаг. Үүнийг хийхийн тулд бидэнд илүү нисгэгчгүй нисгэгчтэй операторууд хэрэгтэй. мөн хийх болно
Gardenduino Aka Garden Master: 4 алхам
Gardenduino Aka Garden Master: За манай зүлгийг цэвэрлэх, ургамлыг услах нь уйтгартай санагдахгүй байна. үгүй юу! Цэцэрлэгжүүлэлт бол миний цай биш юм. Тиймээс миний цэцэрлэгийг арчлах автомат систем хийхээр шийдсэн! эхэлцгээе
VHDL дахь SPI Master -ийн дизайн: 6 алхам
VHDL дахь SPI Master -ийн дизайн: Энэхүү зааварчилгаанд бид SPH Bus Master -ийг VHDL дээр эхнээс нь зохион бүтээх гэж байна
IOT123 - ATTINY85 ONBOARD програмчлалын JIG: 3 алхам
IOT123 - ATTINY85 ОНБОРД ХӨТӨЛБӨРЛӨХ ЖИГ: Тоосгоны загвар дээр DIP8 -ийг ПХБ -д гагнах үед пого пин програмистыг идэвхжүүлэхийн тулд ATTINY85 -ийн хажууд байгаа нүхнүүд ашиглагдаагүй байгааг би хэлсэн. Энэ бол pogo pin програмист юм. Энэ бол үнэхээр адаптер юм
IOT123 - ATTINY85 SOFTWARE SERIAL JIG угсралт: 4 алхам
IOT123 - ATTINY85 SOFTWARE SERIAL JIG угсралт: Би ATTINY85 -ийг бага хүчин чадалтай мэдрэгчийг нэгтгэхэд ашигладаг байсан. Анхандаа би эдгээр чипийг консол ашиглан дибаг хийх ямар ч арга байхгүй гэж бодоод нэлээд хөөрхөн " тэнд " Ажиллаж байх үед юу болж байгааг харах арга. Дараа нь SoftwareSeria -тай таарлаа