Kazalo:
- Korak: Materiali in orodja
- 2. korak: Pripravite ATTINY85
- 3. korak: Sestavite vezje
- 4. korak: Testiranje
- 5. korak: Naslednji koraki
Video: IOT123 - 2 -kanalni relejni zidak: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
IOT123 BRICS so modularne enote DIY, ki jih je mogoče združiti z drugimi IOT123 opekami, da vozlišču ali nosljivemu delu dodajo funkcionalnost. Temeljijo na palčnih kvadratnih, obojestranskih ploščah, ki so med seboj povezane skozi luknje.
Pričakuje se, da bodo številne te ZDRAVILE na več vozliščih (glavni MCU -ji - ESP8266 ali ATTINY84) na spletnem mestu. MCU ne potrebuje predhodnega znanja o namenu senzorjev ali potrebah po programski opremi. Skenira vozlišča I2C, nato od vsakega podrejenega zahteva izpis lastnosti (podatki senzorja). Te OPIČKE napajajo 5.0V, 3.3V in drugo linijo AUX, ki je prilagodljiva.
Ta 2 -kanalni relejni zidak I2C razširja funkcionalnost opeke I2C KY019 in ima dve lastnosti branja/pisanja:
2CH RELAYS [0] (true/false)
2CH RELEJI [1] (res/napačno)
Skozi luknje, ki mejijo na ATTINY85, niso bile uporabljene, da bi omogočili programer pogo pin, medtem ko je DIP8 spajkan na tiskano vezje. Razvija se nadaljnja abstrakcija, pakiranje OPEK v majhne jeklenke, ki se priključijo na vozlišče D1M WIFI BLOCK in črpajo vrednosti na strežnik MQTT.
Korak: Materiali in orodja
Obstaja celoten seznam gradiva in virov.
- 2 -kanalni rele (1)
- ATTINY85 20PU (1)
- 1 "dvostranska protoboard (1)
- Moški vzglavnik 90º (3P, 3P)
- Moška glava (2P, 2P)
- Skakalec (1)
- Priključna žica (~ 7)
- Spajkanje in železo (1)
2. korak: Pripravite ATTINY85
OPOMBA: Če nameravate imeti Croutonovo integracijo, uporabite knjižnico od tu in uporabite primer nameščenega "attiny_2ch_relay".
Potreben je AttinyCore upravitelja upravnih odborov. Zapiši zagonski nalagalnik "EEPROM zadržan", "8mHZ Notranji" (vse konfiguracije prikazane zgoraj).
Shrambo kod najdete tukaj.
ZIP datoteko knjižnice najdete tukaj.
Navodila za "Uvoz knjižnice ZIP" tukaj.
Ko je knjižnica nameščena, lahko odprete primer "attiny_2ch_relay".
Če želite naložiti vdelano programsko opremo na ATTINY85, lahko najdete več podrobnosti v teh navodilih:
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
Najbolje je, da pred nadaljevanjem preizkusite prek mize.
Če imate obstoječe ASSIMILATE SENSORS, se prepričajte, da je podrejeni naslov drugačen v kombinaciji gostitelja SENSOR/MCU, kar pomeni, da imajo lahko vsi relejni igralci isti naslov, če imate na MCU/vozlišču le enega relejnega igralca.
3. korak: Sestavite vezje
- Na sprednji strani vstavite komponente ATTINY85 (1), 3P 90deg moške glave (2) (3), 3P moške glave (4) (5) in spajkajte na zadnji strani.
- Na zadnji strani potegnite rumeno žico od RUMENE1 do RUMENE2 in spajkajte.
- Na zadnji strani poiščite oranžno žico od ORANGE1 do ORANGE2 in spajkajte.
- Na zadnji strani poiščite modro žico od MODRE1 do MODRE2 in spajkajte.
- Na zadnji strani potegnite zeleno žico od ZELENE1 do ZELENE2 in spajkajte.
- Na zadnji strani poiščite črno žico od BLACK1 do BLACK2 in spajkajte.
- Na zadnji strani poiščite črno žico od BLACK3 do BLACK4 in spajkajte.
- Na zadnji strani poiščite rdečo žico od RED1 do RED2 in spajkajte.
- Na zadnji strani poiščite golo žico od RED3 do RED4 in spajkajte.
- Na zadnji strani poiščite golo žico od SREBRNEGA1 do SREBRNEGA2 in spajkajte.
- Dodajte mostiček na linijo 5V ali 3V3.
Rele je zdaj mogoče priključiti neposredno preko svojih zatičev na tiskano vezje ali preko žic, na točke, prikazane v pogodbi o zatičih.
4. korak: Testiranje
Pričakuje se, da bodo številne te ZDRAVILE na več vozliščih (MCU -ji - ESP8266 ali ATTINY84) v okolju. To je test enote: pošilja ukaze I2C iz UNO na ATTINY, ki odpre ali zapre releje.
Pred tem smo za Arduino zgradili I2C SHIELD.
Če ga želite namesto tega narediti:
- Priključite 5.0V na UNO na VCC na BRICK.
- Povežite GND na UNO z GND na BRICK.
- Povežite A5 na UNO s SCL na BRICK.
- Povežite A4 na UNO s SDA na BRICK.
- Priključite vlečni upor 4K7 iz SDA na VCC.
- Priključite vlečni upor 4K7 iz SCL v VCC.
Izvajanje testa
- Povežite svoj UNO z računalnikom Dev prek USB -ja.
- Naložite kodo v UNO.
- Odprite konzolo Arduino.
- Izberite 9600 baudov (znova zaženite UNO in znova odprite konzolo, če je potrebno).
- Naslov podrejenega se natisne na konzolo.
-
Kdaj vnesite v polje za pošiljanje 2 0: 1 (torej 15 2 0: 1) in rele CH1 se vklopi.
- Kdaj vnesite v polje za pošiljanje 2 0: 0 (torej 15 2 0: 0) in rele CH1 se izklopi.
- Kdaj vnesite v polje za pošiljanje 2 1: 1 (torej 15 2 1: 1) in rele CH2 se vklopi.
- Kdaj vnesite v polje za pošiljanje 2 1: 0 (torej 15 2 0: 0) in rele CH2 se izklopi.
I2C BRICK adhoc ukazi za sužnje od UNO masterja
#vključi |
const byte _num_chars = 32; |
char _prejeti_chars [_num_chars]; // polje za shranjevanje prejetih podatkov |
logični _has_new_data = false; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("ASIMILIRAJ IOT AKTOR/SENZOR EEPROM UREDNIK"); |
Serial.println ("zagotovite, da je nova vrstica izbrana v oknu konzole"); |
Serial.println (); |
Serial.println ("NASLOV 1 POTRDI PREJEM METODATKOV N/A (ZA M2M)"); |
Serial.println ("NASLOV 2 ULOGA AKTORJA"); |
Serial.println (); |
Serial.println ("NASLOVI V AVTOBUSU:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
for (naslov bajtov = 8; naslov <127; naslov ++) |
{ |
Wire.beginTransmission (naslov); |
napaka bajta const = Wire.endTransmission (); |
če (napaka == 0) |
{ |
Serial.println (naslov); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statični bajt ndx = 0; |
char end_marker = '\ n'; |
char rc; |
medtem ko (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
if (rc! = end_marker) { |
_prejeti_črki [ndx] = rc; |
ndx ++; |
if (ndx> = _številka_znakov) { |
ndx = _številka -znakov - 1; |
} |
} |
drugače { |
_received_chars [ndx] = '\ 0'; // prekinimo niz |
ndx = 0; |
_has_new_data = res; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Niz prejel_string = Niz (_prejeti_črki); |
if (_has_new_data == true) { |
int idx1 = sprejet_string.indexOf (''); |
Naslov niza = prejel_string.substring (0, idx1); |
int naslov_int = naslov.toInt (); |
if (naslov_int <8 || naslov_int> 127) { |
Serial.println ("INVALID ADDRESS INPUT:"); |
Serial.println (naslov); |
vrnitev; |
} |
int idx2 = sprejet_string.indexOf ('', idx1+1); |
Koda niza; |
če (idx2 == -1) { |
koda = sprejet_string.substring (idx1+1); |
} drugo { |
koda = prejeti_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
if (code_int <0 || code_int> 5) { |
Serial.println ("INVALID CODE INPUT:"); |
Serial.println (koda); |
vrnitev; |
} |
bool has_parameter = idx2> -1; |
Parameter niza; |
if (has_parameter) { |
parameter = sprejet_string.substring (idx2 + 1, idx2 + 17); // največ 16 znakov |
if (parameter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = false; |
vrnitev; |
} |
} drugo { |
če (code_int> 1) { |
Serial.println ("PARAMETER POTREBEN!"); |
_has_new_data = false; |
vrnitev; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (niz_prejetih); |
Serial.print ("naslov ="); |
Serial.println (naslov); |
Serial.print ("code ="); |
Serial.println (koda); |
Serial.print ("parameter ="); |
Serial.println (parameter); |
// POŠLJI PO I2C |
Wire.beginTransmission (naslov_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 ("Poslano prek I2C!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = false; |
} |
} |
oglejte si rawuno_i2c_command_input.ino, ki ga gosti ❤ GitHub
5. korak: Naslednji koraki
Nadaljnji podporni akter: 2-kanalni rele, ki uporablja to opeko, ima samodejno konfiguracijo za Croutona prek metapodatkov, ki so že nameščeni v ATTINY85 tukaj. Paket JSON, poslan Croutonu, se pošlje prek najnovejše vdelane programske opreme za ICOS10. Proof-of-concept lahko naredite na običajnem ESP8266, če je gradnja zaenkrat preveč.
Skica UNO, uporabljena pri preskušanju, ima funkcijo za shranjevanje novega podrejenega naslova v EEPROM na ATTINY85, če pride do spopada na ciljnem vodilu I2C. Nekaj shem je bilo dodanih, vendar obstajajo različni načini za ožičenje spodnjega tokokroga, odvisno od tega, kaj želite doseči, zato bom to pustil za vas:)
Priporočena:
DIY - Relejni modul: 8 korakov
DIY - Relejni modul: Relejni moduli, ki so na voljo na trgu, so združeni z neomejenimi neuporabnimi komponentami. Stavim, da če jih res ne uporabljate, boste morda vedno razmišljali, da bi jih vse izločili, preden jih uporabite v svojem projektu. No, če čutite potrebo po enostavnem
CSR1011 - Relejni sprožilec: 5 korakov
CSR1011 - Sprožilni rele: CSR1011 je enosmerni Bluetooth čip Bluetooth in ta vadnica prikazuje, kako dostopati do svojih GPIO in sprožiti rele
Vadnica za Arduino - gumb v slogu BLYNK in relejni modul ESP -01: 3 koraki (s slikami)
Vadnica Arduino - Stilski gumb BLYNK in relejni modul ESP -01: Dobrodošli v drugi vadnici na našem kanalu, to je prva vadba v tej sezoni, ki bo namenjena sistemom IoT, tukaj bomo opisali nekatere funkcije in funkcionalnosti naprav uporabljajo v tovrstnih sistemih. Če želite ustvariti te s
DIY elektronski relejni modul: 4 koraki (s slikami)
DIY elektronski relejni modul: Rele je elektronski ali električno preklopni element, sestavljen iz sponk za eno- in večstopenjske vhodne signale. Releji se uporabljajo tam, kjer je potrebno nadzorovati neodvisne vhodne signale majhne moči. Osvežujejo inpu
Arduino relejni nadzor preko interneta: 5 korakov
Arduino relejni nadzor po internetu: dobrodošli