Satura rādītājs:
- 1. darbība: materiāli un instrumenti
- 2. darbība: sagatavojiet ATTINY85
- 3. darbība: samontējiet ķēdi
- 4. solis: pārbaude
- 5. darbība. Nākamās darbības
Video: IOT123 - I2C 2CH RELAY BRICK: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
IOT123 BRICKS ir DIY modulāras vienības, kuras var sajaukt ar citiem IOT123 BRICKS, lai mezglam pievienotu funkcionalitāti vai valkājamu. To pamatā ir kvadrātveida kvadrātveida, divpusēji protoboards ar savstarpēji savienotiem caurumiem.
Paredzams, ka vairāki no šiem ķieģeļiem atradīsies vairākos vietnes mezglos (galvenie MCU - ESP8266 vai ATTINY84). MCU nav vajadzīgas priekšzināšanas par sensoru mērķi vai programmatūras vajadzībām. Tā skenē I2C mezglus un pēc tam pieprasa īpašuma izgāztuvi (sensora datus) no katra verga. Šie BRICK piegādā 5.0V, 3.3V un citu pielāgojamu AUX līniju.
Šis I2C 2CH RELAY BRICK paplašina I2C KY019 BRICK funkcionalitāti, un tam ir divi lasīšanas/rakstīšanas rekvizīti:
2CH RELEJI [0] (patiess/nepatiess)
2CH RELEJI [1] (patiess/nepatiess)
Caurumi, kas atrodas blakus ATTINY85, ir palikuši neizmantoti, lai iespējotu pogo tapu programmētāju, kamēr DIP8 ir pielodēts pie PCB. Tiek izstrādāta turpmāka abstrakcija - BRICKS iesaiņošana mazos cilindros, kas pievienojami D1M WIFI BLOCK centrmezglam, pārsūtot vērtības uz MQTT serveri.
1. darbība: materiāli un instrumenti
Ir pilns materiālu un avotu saraksts.
- 2 kanālu relejs (1)
- ATTINY85 20PU (1)
- 1 "divpusējs protoboards (1)
- Galvene vīriešiem 90º (3P, 3P)
- Galvene vīriešiem (2P, 2P)
- Džempera šunts (1)
- Savienojuma vads (~ 7)
- Lodmetāls un dzelzs (1)
2. darbība: sagatavojiet ATTINY85
PIEZĪME. Ja plānojat integrēt Crouton, lūdzu, izmantojiet šeit esošo bibliotēku un izmantojiet instalēto piemēru "attiny_2ch_relay".
Ir nepieciešams AttinyCore no valdes pārvaldnieka. Ierakstiet sāknēšanas ielādētāju "EEPROM Retained", "8mHZ Internal" (visa konfigurācija parādīta iepriekš).
Kodu krātuvi var atrast šeit.
Bibliotēkas pasta adresi var atrast šeit.
Norādījumi par ZIP bibliotēkas importēšanu šeit.
Kad bibliotēka ir instalēta, varat atvērt piemēru "attiny_2ch_relay".
Lai augšupielādētu programmaparatūru ATTINY85, sīkāku informāciju varat atrast šajos norādījumos:
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-…
Pirms turpināt, vislabāk ir pārbaudīt, izmantojot maizes dēli.
Ja jums jau ir ASSIMILATE SENSORS, pārliecinieties, ka SENSOR/MCU Host kombinācijā vergu adrese ir atšķirīga, t.i., visiem Relay dalībniekiem var būt viena adrese, ja vien MCU/mezglā ir tikai viens Relay aktieris.
3. darbība: samontējiet ķēdi
- Priekšpusē ievietojiet detaļas ATTINY85 (1), 3P 90 grādu vāciņus (2) (3), 3P vīriešu galviņas (4) (5) un lodējiet aizmugurē.
- Aizmugurē izsekojiet dzelteno vadu no YELLOW1 līdz YELLOW2 un lodējiet.
- Aizmugurē izsekojiet oranžu vadu no ORANGE1 līdz ORANGE2 un lodējiet.
- Aizmugurē izsekojiet zilu vadu no BLUE1 līdz BLUE2 un lodējiet.
- Aizmugurē izsekojiet zaļo vadu no GREEN1 līdz GREEN2 un lodējiet.
- Aizmugurē izsekojiet melnu vadu no BLACK1 līdz BLACK2 un lodējiet.
- Aizmugurē izsekojiet melnu vadu no BLACK3 līdz BLACK4 un lodējiet.
- Aizmugurē izsekojiet sarkanu vadu no RED1 līdz RED2 un lodējiet.
- Aizmugurē izsekojiet tukšu vadu no RED3 līdz RED4 un lodējiet.
- Aizmugurē izsekojiet tukšu vadu no SILVER1 līdz SILVER2 un lodēt.
- Pievienojiet džemperi 5V vai 3V3 līnijai.
Releju tagad var pieslēgt tieši caur tapām pie PCB vai caur vadiem uz tapu līgumā norādītajiem punktiem.
4. solis: pārbaude
Paredzams, ka vairāki no šiem ķieģeļiem vidē atradīsies vairākos mezglos (MCU - ESP8266 vai ATTINY84). Šis ir vienības tests: nosūta I2C komandas no UNO ATTINY, kas atver vai aizver relejus.
Mēs iepriekš esam izveidojuši I2C SHIELD Arduino.
Tā vietā, ja vēlaties to pārklāt ar maizi:
- Pievienojiet 5.0V uz UNO ar BRCK VCC.
- Savienojiet GND uz UNO ar GND uz BRICK.
- Savienojiet A5 uz UNO ar SCL uz BRICK.
- Savienojiet A4 uz UNO ar SDA uz BRICK.
- Pievienojiet 4K7 pievilkšanas rezistoru no SDA uz VCC.
- Pievienojiet 4K7 pievilkšanas rezistoru no SCL uz VCC.
Testa izpilde
- Savienojiet UNO ar savu Dev datoru, izmantojot USB.
- Augšupielādējiet kodu UNO.
- Atveriet Arduino konsoli.
- Izvēlieties 9600 baudus (restartējiet UNO un, ja nepieciešams, atveriet konsoli).
- Verga adrese tiks izdrukāta uz konsoles.
-
Kad, ievadiet sūtīšanas lodziņu 2 0: 1 (tātad 15 2 0: 1), un CH1 relejs ieslēdzas.
- Kad, ievadiet sūtīšanas lodziņu 2 0: 0 (tātad 15 2 0: 0), un CH1 relejs izslēdzas.
- Kad, ievadiet sūtīšanas lodziņu 2 1: 1 (tātad 15 2 1: 1), un CH2 relejs ieslēdzas.
- Kad, ievadiet sūtīšanas lodziņu 2 1: 0 (tātad 15 2 0: 0), un CH2 relejs izslēdzas.
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 ❤
5. darbība. Nākamās darbības
Sekojošais ASIMILĀTĀS AKTORS: 2 CH RELAY, kas izmanto šo ķieģeļu, ir automātiski konfigurēts Crouton, izmantojot metadatus, kas jau ir instalēti šeit ATTINY85. Uz Crouton nosūtītā JSON pakete tiek nosūtīta, izmantojot jaunāko ICOS10 programmaparatūru. Jūs varat izveidot koncepcijas pierādījumu ar parastu ESP8266, ja pagaidām būvējums ir par daudz.
Testēšanā izmantotajai UNO skicei ir funkcija saglabāt jaunu vergu adresi EEPROM uz ATTINY85, ja jūsu mērķa I2C kopne saduras. Ir pievienotas dažas shēmas, taču atkarībā no tā, ko vēlaties sasniegt, ir dažādi veidi, kā pieslēgt pakārtoto ķēdi, tāpēc es to atstāšu jums:)
Ieteicams:
IOT123 - D1M BLOCK - 2xAMUX montāža: 7 soļi (ar attēliem)
IOT123 - D1M BLOCK - 2xAMUX montāža: D1M BLOCKS pievieno taustāmus futrāļus, etiķetes, polaritātes vadotnes un izlaušanos populārajiem Wemos D1 Mini SOC/vairogiem/kloniem. Viena no ESP8266 mikroshēmas problēmām ir tā, ka tai ir pieejama tikai viena analogā IO tapa. Šī pamācība parāda, kā salikt 2xA
IOT123 - D1M BLOCK - ACAM2 kameras montāža: 8 soļi (ar attēliem)
IOT123 - D1M BLOCK - ACAM2 kameru montāža: D1M BLOCKS pievieno taustāmus futrāļus, etiķetes, polaritātes vadotnes un izlaušanos populārajiem Wemos D1 Mini SOC/vairogiem/kloniem. ArduCam 2MP kamera nodrošina elastīgu attēlu/video uzņemšanu, izmantojot mikroshēmu ESP8266 (uz kuras pamatā ir D1M BLOCKS). Šī instrukcija
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