Satura rādītājs:
- 1. darbība: materiāli un instrumenti
- 2. solis: montāža
- 3. darbība: UNO kods
- 4. darbība. Nākamās darbības
Video: IOT123 - I2C BRICK MASTER JIG: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Izstrādājot ASIMILĀTOS SENSORUS un AKTORUS, man ir UNO pa rokai, lai nosūtītu adhoc I2C komandas izstrādātajiem prototipiem. Viena no I2C BRICKS priekšrocībām ir standartizētās spraudītes. Tā vietā, lai katru reizi izmantotu rīvdēļa vadus (skat. Fritzings), tiek izmantots izturīgs lo-tech vairogs.
1. darbība: materiāli un instrumenti
- 4 cm x 6 cm vienpusējs PCB (1)
- Savienojuma vads (~ 6)
- 4K7 rezistori (2) 6
- Galvene vīriešiem (12P, 8P)
- Sieviešu galvene (9P vai 3P, 3P)
- Lodmetāls un dzelzs (1)
2. solis: montāža
Ja izmantojat 2 izslēgtas 3P sieviešu galvenes, nevis 1 izslēgtas 9P sieviešu galvenes, ASISIMILĀTĀS SENSORS/AKTORI iederēsies JIG, tos neizjaucot.
Izmantojot vadu, noņemiet galus līdz 10 mm un tiniet pašus galus.
- PCB apakšā ievietojiet tērauda galviņu (1) (2) un lodējiet virsū.
- PCB augšpusē ievietojiet sieviešu galviņu (3) un lodējiet no apakšas.
- Augšdaļā caur sarkano vadu RED1 un RED2.
- Apakšā, caurums caurumiem no RED1 līdz RED3.
- Apakšā, caurums caurumiem no RED2 uz RED5, un lodēt.
- Augšpusē, caurums caurumiem no RED3 uz RED4, un lodēt.
- Augšpusē caur sarkano vadu RED6 un RED7.
- Apakšā, caurums caurumiem no RED6 līdz RED8.
- Apakšā, caurums caurumiem no RED7 līdz RED10, un lodēt.
- Augšpusē caur caurumu no RED8 uz RED9 un lodēt.
- Augšdaļā caur caurumu melns vads BLACK1 un BLACK2.
- Apakšā, caurums caurumiem no BLACK1 līdz BLACK3.
- Apakšā, caurums caurumiem no BLACK2 uz BLACK5, un lodēt.
- Augšpusē, caurums caurumiem no BLACK3 līdz BLACK4, un lodēt.
- Augšdaļā caur caurumu zils vads BLUE1 un BLUE2.
- Apakšā, caurums caurumiem no BLUE1 līdz BLUE3.
- Apakšā, caurums caurumiem no BLUE2 līdz BLUE5, un lodēt.
- Augšpusē, caurums caurumiem no BLUE3 līdz BLUE4, un lodēt.
- Augšpusē caur zaļo vadu GREEN1 un GREEN2.
- Apakšā, caurums caurumiem no GREEN1 līdz GREEN3.
- Apakšā, caurums caurumiem no GREEN2 līdz GREEN5, un lodēt.
- Augšpusē caur caurumu no GREEN3 uz GREEN4 un lodēt.
- Augšpusē caur caurumu 4K7 rezistors SILVER3 un SILVER4.
- Apakšā, caurums caurumam no SILVER3 līdz GREEN5, un lodēt.
- Apakšā, caurums caurumam no SILVER4 uz RED10, un lodēt.
- Augšpusē caur caurumu 4K7 rezistors SILVER1 un SILVER2.
- Apakšā, caurums caurumam no SILVER1 uz BLUE5, un lodēt.
- Apakšā, caurums caurumam no SILVER2 uz RED10, un lodēt.
3. darbība: UNO kods
Skice šeit ir elementāra. Tas ļauj izmantot konsoles ievadi, lai UNO nosūtītu I2C ziņojumus uz I2C ATTINY85 BRICK.
Visas instrukcijas tiek drukātas uz ekrāna ar atbalstītajām opcijām.
I2C BRICK adhoc komandas vergiem no UNO master
#iekļaut |
const baits _num_chars = 32; |
char _saņēmu_čalas [_num_chars]; // masīvs saņemto datu glabāšanai |
Būla _has_new_data = nepatiess; |
voidsetup () { |
Sērijas sākums (9600); |
Sērijas.println (); |
Serial.println ("ASIMILĒT IOT AKTORU/SENSOR EEPROM EDITOR"); |
Serial.println ("nodrošināt jaunas līnijas izvēli konsoles logā"); |
Sērijas.println (); |
Serial.println ("ADRESE 1 APSTIPRINĀT METADATU SAŅEMŠANU N/A (M2M)"); |
Serial.println ("ADRESE 2 AKTORA KOMANDA"); |
Sērijas.println (); |
Serial.println ("ADRESES UZ BUS:"); |
scan_i2c_addresses (); |
Sērijas.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
par (baitu adrese = 8; adrese <127; adrese ++) |
{ |
Wire.beginTransmission (adrese); |
const baitu kļūda = Wire.endTransmission (); |
ja (kļūda == 0) |
{ |
Serial.println (adrese); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statiskais baits ndx = 0; |
char end_marker = '\ n'; |
char rc; |
kamēr (Serial.available ()> 0 && _has_new_data == false) { |
rc = Sērijas.lasījums (); |
ja (rc! = end_marker) { |
_saņemti_ieraksti [ndx] = rc; |
ndx ++; |
ja (ndx> = _num_chars) { |
ndx = _skaits_skaits - 1; |
} |
} |
cits { |
_received_chars [ndx] = '\ 0'; // izbeigt virkni |
ndx = 0; |
_has_new_data = taisnība; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Virkne saņemta_virkne = String (_received_chars); |
ja (_ has_new_data == true) { |
int idx1 = saņēmis_string.indexOf (''); |
Virknes adrese = saņemta_string.substring (0, idx1); |
int address_int = address.toInt (); |
ja (adrese_int <8 || adreses_int> 127) { |
Serial.println ("INVALID ADDRESS INPUT:"); |
Serial.println (adrese); |
atgriešanās; |
} |
int idx2 = saņēmis_string.indexOf ('', idx1+1); |
Virknes kods; |
ja (idx2 == -1) { |
kods = saņemta_string.substring (idx1+1); |
} vēl { |
kods = saņemta_string.substring (idx1+1, idx2+1); |
} |
int kods_int = kods.toInt (); |
ja (kods_int <0 || kods_int> 5) { |
Serial.println ("INVALID CODE INPUT:"); |
Serial.println (kods); |
atgriešanās; |
} |
bool has_parameter = idx2> -1; |
String parametrs; |
if (has_parameter) { |
parametrs = saņemta_string.substring (idx2 + 1, idx2 + 17); // maks. 16 rakstzīmes |
ja (parametrs.garums () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = nepatiess; |
atgriešanās; |
} |
} vēl { |
ja (kods_int> 1) { |
Serial.println ("OBLIGĀTS PARAMETRS!"); |
_has_new_data = nepatiess; |
atgriešanās; |
} |
} |
Sērijas.println (); |
Serial.print ("ievades orig ="); |
Sērijas.println (saņemta_virkne); |
Serial.print ("adrese ="); |
Serial.println (adrese); |
Serial.print ("kods ="); |
Serial.println (kods); |
Serial.print ("parametrs ="); |
Serial.println (parametrs); |
// SŪTĪT I2C |
Wire.beginTransmission (address_int); |
Wire.write (kods_int); |
if (has_parameter) { |
parametrs.trim (); |
strcpy (param_buf, parametrs.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Sērijas.println (); |
Serial.println ("SŪTĪTS I2C!"); |
Sērijas.println (); |
Serial.println (""); |
_has_new_data = nepatiess; |
} |
} |
apskatīt rawuno_i2c_command_input.ino, kuru mitina GitHub ar ❤
4. darbība. Nākamās darbības
No piedāvātajām konstrukcijām ir pietiekami daudz kustīgu detaļu, lai jūs varētu izveidot savu ASSIMILATE IOT TĪKLU.
Katru mezglu (sensoru un aktieru) atsevišķo funkciju var kontrolēt decentralizēti, nevis atkarībā no MCU meistara zināšanām par atbalstītajām funkcijām.
Jebkura lietotne, kas savienojas ar MQTT brokeri, var kontrolēt/novērot visas IOT mezgla funkcijas. Tas ir M2M, tīmekļa lietojumprogrammas, IFTTT un tā tālāk. Daudz vienkāršākas (vai bagātākas, ja vēlaties) saskarnes ar jūsu IOT pasauli.
Ieteicams:
DRONE MASTER: 6 soļi
DRONE MASTER: Tas ir AI robota 3D dizains. Visu bezpilota lidaparātu koordinēšana un vadīšana programmā vai lielās funkcijās vai pat futbola mačā ir diezgan sarežģīta. Lai to izdarītu, mums ir vajadzīgi vairāk apmācīti dronu operatori. Bet šis AI robots ir futūristisks un būs b
IOT123 - ATTINY85 UZBŪVES PROGRAMMĒŠANAS JIG: 3 soļi
IOT123 - ATTINY85 IEGĀDĀTĀS PROGRAMMĒŠANAS JIG: BRICK konstrukcijās es minēju, ka caurumi, kas atrodas blakus ATTINY85, ir palikuši neizmantoti, lai iespējotu pogo pin programmētāju, kamēr DIP8 ir pielodēts pie PCB. Tas ir tas pogo pin programmētājs. Tas tiešām ir tikai adaptera vads
IOT123 - LIR2032 BATTERY BRICK: 4 soļi
IOT123 - LIR2032 BATTERY BRICK: IOT123 BRICKS ir DIY modulāras vienības, kuras var sajaukt ar citiem IOT123 BRICKS, lai mezglam pievienotu funkcionalitāti vai valkājamu. Tie ir balstīti uz collu kvadrātveida, divpusējiem protoboriem ar savstarpēji savienotiem caurumiem. Lai gan instrukcija
IOT123 - 3.3V POWER BRICK: 4 soļi
IOT123 - 3.3V POWER BRICK: IOT123 BRICKS ir DIY modulāras vienības, kuras var sajaukt ar citiem IOT123 BRICKS, lai mezglam pievienotu funkcionalitāti vai valkājamu. Tie ir balstīti uz collu kvadrātveida, divpusējiem protoboriem ar savstarpēji savienotiem caurumiem. Lai gan instrukcija
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: 4 soļi
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: UPDATE: Šī iestatīšana lielā mērā ir akadēmiska vai programmatūras/barošanas avota testēšanas bāze. Pat tad, ja PB5 ir atspējots kā RESET, tas precīzi neizlasa vērtības, izmantojot analogRead: sensoru rādījumu galvenais lietojums. Izpētīs ATTINY84 iestatījumus