Բովանդակություն:
- Քայլ 1: Նյութեր և գործիքներ
- Քայլ 2. Պատրաստեք ATTINY85- ը
- Քայլ 3: Հավաքեք շրջանը
- Քայլ 4: Փորձարկում
- Քայլ 5: Հաջորդ քայլերը
Video: IOT123 - I2C 2CH RELAY BRICK: 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
IOT123 Աղյուսները DIY մոդուլային միավորներ են, որոնք կարող են համակցվել այլ IOT123 Աղյուսների հետ ՝ հանգույցին ֆունկցիոնալություն հաղորդելու կամ կրելու համար: Դրանք հիմնված են դյույմ քառակուսի, երկկողմանի նախատախտակների վրա, որոնք փոխկապակցված են անցքերով:
Սպասվում է, որ այս ԿՈICՐԵՐԻ մի մասը կլինեն մի քանի հանգույցների վրա (Master MCUs - ESP8266 կամ ATTINY84) կայքում: MCU- ին սենսորների նպատակի կամ ծրագրակազմի կարիքների մասին նախնական գիտելիքներ պետք չեն: Այն սկանավորում է I2C հանգույցները, այնուհետև յուրաքանչյուր ստրուկից պահանջում է սեփականության աղբանոց (տվիչների տվյալներ): Այս աղյուսները մատակարարում են 5.0V, 3.3V և մեկ այլ AUX գիծ, որը հարմարեցված է:
Այս I2C 2CH RELAY Աղյուսը ընդլայնում է I2C KY019 ԿՈICՐՔԻ ֆունկցիոնալությունը և ունի կարդալու/գրելու երկու հատկություն.
2CH RELAYS [0] (ճշմարիտ/կեղծ):
2CH RELAYS [1] (ճշմարիտ/կեղծ):
ATTINY85- ի հարակից անցքերը մնացել են չօգտագործված, ինչը հնարավորություն է տալիս միացնել pogo- ի ծրագրավորողին, մինչ DIP8- ը կպցված է PCB- ին: Մշակվում է ևս մեկ աբստրակցիա ՝ ԿՈICՐԵՐԸ փաթեթավորելով փոքր բալոններում, որոնք միանում են D1M WIFI BLOCK հանգույցին ՝ արժեքները մղելով MQTT սերվերի վրա:
Քայլ 1: Նյութեր և գործիքներ
Կա Նյութերի և աղբյուրների ամբողջական օրինագիծ:
- 2 ալիքի ռելե (1)
- ATTINY85 20PU (1)
- 1 "երկկողմանի նախատախտակ (1)
- Արական վերնագիր 90º (3P, 3P)
- Արական վերնագիր (2P, 2P)
- Jատկող շանթ (1)
- Միացման մետաղալար (7 ~)
- Sոդման և երկաթ (1)
Քայլ 2. Պատրաստեք ATTINY85- ը
Նշում. Եթե մտադիր եք ունենալ Crouton ինտեգրում, խնդրում ենք օգտագործել գրադարանը այստեղից և օգտագործել «attiny_2ch_relay» տեղադրված օրինակը:
Խորհուրդների կառավարիչից անհրաժեշտ է AttinyCore: Այրեք bootloader «EEPROM պահպանված է», «8mHZ ներքին» (բոլորը կազմաձևված են վերևում):
Կոդերի պահեստը կարելի է գտնել այստեղ:
Գրադարանի ZIP- ը կարելի է գտնել այստեղ:
«ZIP գրադարան ներմուծելու» հրահանգներն այստեղ են:
Գրադարանը տեղադրվելուց հետո կարող եք բացել «attiny_2ch_relay» օրինակը:
Սարքաշարը ATTINY85- ում վերբեռնելու համար կարող եք ավելի շատ մանրամասներ գտնել այս հրահանգներում ՝
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-…
Շարունակելուց առաջ լավագույնն է փորձարկել հացահատիկի միջոցով:
Եթե դուք ունեք գոյություն ունեցող ASSIMILATE SENSORS, համոզվեք, որ ստրուկի հասցեն տարբերվում է SENSOR/MCU Host- ի համակցությունից, այսինքն ՝ Relay- ի բոլոր դերակատարները կարող են ունենալ նույն հասցեն, քանի դեռ MCU/հանգույցում ունեք միայն մեկ Relay դերասան:
Քայլ 3: Հավաքեք շրջանը
- Առջևում տեղադրեք ATTINY85 (1), 3P 90 աստիճանի արական վերնագրեր (2) (3), 3P արական վերնագրերի (4) (5) բաղադրամասերը և զոդեք հետևի մասում:
- Հետևի մասում նշեք դեղին մետաղալարը YELLOW1- ից YELLOW2- ից և ամրացրեք:
- Հետևի մասում նշեք նարնջագույն մետաղալարեր ORANGE1- ից ORANGE2 և կպցրեք:
- Հետևի մասում կապույտ մետաղալարեր գտեք BLUE1- ից մինչև BLUE2 և կպցրեք:
- Հետևի մասում հետևեք կանաչ մետաղալարից GREEN1- ից GREEN2 և ամրացրեք:
- Հետևի մասում հետևեք սև մետաղալարից BLACK1- ից մինչև BLACK2 և զոդեք:
- Հետևի մասում հետևեք սև մետաղալարից BLACK3- ից մինչև BLACK4 և զոդեք:
- Հետևի մասում հետևեք կարմիր մետաղալարից RED1- ից մինչև RED2 և ամրացրեք:
- Հետևի մասում հետևեք մերկ մետաղալարին RED3- ից մինչև RED4 և ամրացրեք:
- Հետևի մասում հետևեք մերկ մետաղալարից SILVER1- ից մինչև SILVER2 և ամրացրեք:
- Ավելացրեք jumper 5V կամ 3V3 գծի վրա:
Ռելեն այժմ կարող է ուղղակիորեն միացնել PCB- ին կամ լարերի միջոցով `քորոցային պայմանագրում նշված կետերին:
Քայլ 4: Փորձարկում
Սպասվում է, որ այս ԿՈICՐԵՐԻ մի մասը կլինեն մի քանի հանգույցների վրա (MCUs - ESP8266 կամ ATTINY84) միջավայրում: Սա միավորի թեստ է. I2C հրամաններ է ուղարկում UNO- ից ATTINY, որը բացում կամ փակում է ռելեները:
Մենք նախկինում կառուցել ենք I2C SHIELD Arduino- ի համար:
Եթե ցանկանում եք դրա փոխարեն սեղան դնել
- Միացրեք 5.0V- ը UNO- ում `BRICK- ի VCC- ին:
- Միացրեք GND- ը UNO- ին GND- ին `BRICK- ում:
- Միացրեք UN5- ի A5- ը SCL- ին BRICK- ով:
- Միացրեք UNO- ի A4- ը SDA- ին BRICK- ում:
- SDK- ից միացրեք 4K7 ձգման դիմադրություն VCC- ին:
- Միացրեք 4K7 քաշվող դիմադրություն SCL- ից VCC- ին:
Թեստը վարելը:
- USB- ով միացրեք ձեր UNO- ն ձեր Dev համակարգչին:
- Վերբեռնեք կոդը ՄԱԿ -ում:
- Բացեք Arduino վահանակը:
- Ընտրեք 9600 baud (վերագործարկեք UNO- ն և անհրաժեշտության դեպքում վերաբացեք վահանակը):
- Ստրուկի հասցեն տպվելու է վահանակում:
-
Երբ, մուտքագրեք ուղարկման վանդակում 2 0: 1 (ուրեմն 15 2 0: 1), և CH1 ռելեդը միանում է:
- Երբ, մուտքագրեք ուղարկման վանդակում 2 0: 0 (ուրեմն 15 2 0: 0), և CH1 ռելեն անջատվում է:
- Երբ, մուտքագրեք ուղարկման տուփ 2 1: 1 (ուրեմն 15 2 1: 1), և CH2 ռելեդը միանում է:
- Երբ, մուտքագրեք ուղարկման տուփ 2 1: 0 (ուրեմն 15 2 0: 0), և CH2 ռելեն անջատվում է:
I2C BRICK adhoc հրամաններ ստրուկների համար ՄԱԿ -ի տիրոջ կողմից:
#ներառում |
const byte _num_chars = 32; |
char _ստացված_դասարաններ [_num_chars]; // ստացված տվյալները պահելու զանգված |
բուլյան _has_new_data = false; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println («ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR»); |
Serial.println («ապահովել վահանակի պատուհանում ընտրված նոր տողը»); |
Serial.println (); |
Serial.println ("ՀԱՍRԵ 1 ՀԱՍՏԱՏՈ MԹՅԱՆ ՄԵՏԱԴԵՏԱՅԻ ՀԱՅՏԱՐԱՐՈ NԹՅՈՆԸ N/A (M2M- ի համար)"); |
Serial.println («Հասցե 2 դերասանի հրահանգ»); |
Serial.println (); |
Serial.println ("ՀԱՍRԵՆԵՐԸ Ավտոբուսում."); |
scan_i2c_ հասցեներ (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int սարքի_հաշիվ = 0; |
համար (բայտ հասցե = 8; հասցե <127; հասցե ++) |
{ |
Wire.beginTransmission (հասցե); |
const byte սխալ = 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; |
} |
} |
ուրիշ { |
_received_chars [ndx] = '\ 0'; // դադարեցնել տողը |
ndx = 0; |
_has_new_data = true; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Լարված ստացված_լար = Լար (_ստացված_շարքեր); |
եթե (_has_new_data == true) { |
int idx1 = ստացվել է_լարը.indexOf (''); |
Լարային հասցե = ստացված_ստրինգ. Ենթալար (0, idx1); |
int address_int = address.toInt (); |
if (address_int <8 || address_int> 127) { |
Serial.println ("ԱՆՎALԱՐ ՀԱՍRԵ ՄՏԱՈՄ."); |
Serial.println (հասցե); |
վերադարձ; |
} |
int idx2 = ստացվել է_լարը.indexOf ('', idx1+1); |
Լարային կոդ; |
եթե (idx2 == -1) { |
կոդ = ստացված_թել. ենթալար (idx1+1); |
} ուրիշ { |
կոդ = ստացված_թել. ենթալար (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
if (code_int <0 || code_int> 5) { |
Serial.println ("ԱՆՎALԱՐ ԿՈԴԻ ՄՈPՏՔ."); |
Serial.println (ծածկագիր); |
վերադարձ; |
} |
bool has_parameter = idx2> -1; |
Լարային պարամետր; |
եթե (պարամետր ունի) { |
պարամետր = ստացված_թել. ենթաշերտ (idx2 + 1, idx2 + 17); // առավելագույնը 16 նիշ |
if (parameter.length () <1) { |
Serial.println ("ՄԱՍՆԱԿՈ MԹՅԱՆ ԱՌԱՆ ԼԵՆԳ 1"); |
_has_new_data = false; |
վերադարձ; |
} |
} ուրիշ { |
եթե (code_int> 1) { |
Serial.println ("ՊԱՐԱՄԵՏՐԸ ՊԱՐՏԱԴԻՐ է"); |
_has_new_data = false; |
վերադարձ; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (ստացված_լար); |
Serial.print ("հասցե ="); |
Serial.println (հասցե); |
Serial.print ("կոդը ="); |
Serial.println (ծածկագիր); |
Serial.print ("պարամետր ="); |
Serial.println (պարամետր); |
// ՈENDԱՐԿԵԼ VIA I2C- ով |
Wire.beginTransmission (address_int); |
Wire.write (code_int); |
եթե (պարամետր ունի) { |
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 = false; |
} |
} |
դիտել rawuno_i2c_command_input.ino- ն, որը տեղակայված է it -ի կողմից GitHub- ի կողմից
Քայլ 5: Հաջորդ քայլերը
Հետևվող ASSIMILATE ACTOR: 2CH RELAY- ն, որն օգտագործում է այս աղյուսը, ունի ավտոմատ կազմաձևում Crouton- ի համար ՝ այստեղ արդեն ATTINY85- ում տեղադրված մետատվյալների միջոցով: Crouton- ին ուղարկված JSON փաթեթը ուղարկվում է ICOS10- ի վերջին որոնվածի միջոցով: Սովորական ESP8266- ի վրա կարող եք կատարել «Proof-of-concept» հասկացությունը, եթե ներկայումս կառուցվածքը չափազանց շատ է:
Փորձարկման ժամանակ օգտագործվող UNO- ի էսքիզը գործառույթ ունի ՝ ATTINY85- ում EEPROM հասցեին նոր ստրուկի հասցե պահպանելու համար, եթե բախում ունեք ձեր թիրախային I2C ավտոբուսում: Ավելացվել են մի քանի սխեմաներ, բայց հոսանքի հոսանքի հոսանքի միացման տարբեր եղանակներ կան ՝ կախված այն բանից, թե ինչի եք ուզում հասնել, այնպես որ դա թողնում եմ ձեզ համար:)
Խորհուրդ ենք տալիս:
DIY Remote Control Switch Kit by 2262/2272 M4 Bread Board & Relay for Maker: 4 քայլ (նկարներով)
DIY Remote Control Switch Kit by 2262/2272 M4 Bread Board & Relay for Maker: խելացի տունը գալիս է մեր կյանք: եթե ցանկանում ենք, որ խելացի տունն իրականանա, մեզ անհրաժեշտ են բազմաթիվ հեռակառավարման անջատիչներ: այսօր մենք փորձարկում ենք անելու, հեշտ միացում ենք անելու ՝ հեռակառավարման անջատիչի տեսությունը սովորելու համար: այս հանդերձանքի դիզայնը ՝ SINONING ROBOT- ի կողմից
Arduino Brick Color Sorter նախագիծը ՝ 5 քայլ
Arduino Brick Color Sorter Project: Այս Arduino- ի ձեռնարկում մենք կսովորենք, թե ինչպես հայտնաբերել իմ խաղալիք աղյուսի գույները `օգտագործելով Arduino- ն և TCS3200 Color Sensor- ը: Լրացուցիչ մանրամասների համար կարող եք կարդալ ստորև ներկայացված գրավոր ձեռնարկը: Նյութեր. Arduino Leonardo x 1TCS3200 x 1 Շատ ստվարաթուղթ 180 Servo
IOT123 - D1M BLOCK - 2xAMUX հավաքում. 7 քայլ (նկարներով)
IOT123 - D1M BLOCK - 2xAMUX հավաքում. D1M BLOCKS- ը ավելացնում է շոշափելի պատյաններ, պիտակներ, բևեռայնության ուղեցույցներ և ճեղքեր հանրաճանաչ Wemos D1 Mini SOC/Shields/Clones- ի համար: ESP8266 չիպի հետ կապված խնդիրներից մեկն այն է, որ առկա է միայն մեկ անալոգային IO կապ: Այս հրահանգը ցույց է տալիս, թե ինչպես հավաքել 2xA
IOT123 - D1M BLOCK - ACAM2 Խցիկի հավաքում. 8 քայլ (նկարներով)
IOT123 - D1M BLOCK - ACAM2 Խցիկի հավաքում. D1M BLOCKS- ը ավելացնում է շոշափելի պատյաններ, պիտակներ, բևեռայնության ուղեցույցներ և ճեղքեր հանրաճանաչ Wemos D1 Mini SOC/Shields/Clones- ի համար: ArduCam 2MP տեսախցիկը թույլ է տալիս ճկուն պատկեր/տեսանկարահանում ESP8266 չիպով (որի վրա հիմնված են D1M BLOCKS- ը): Այս հրահանգը
IOT123 - 3.3V POWER BRICK: 4 քայլ
IOT123 - 3.3V POWER BRICK. IOT123 Աղյուսները DIY մոդուլային միավորներ են, որոնք կարելի է խառնել այլ IOT123 Աղյուսների հետ `հանգույցին կամ կրելու համար ֆունկցիոնալություն ավելացնելու համար: Դրանք հիմնված են դյույմ քառակուսի, երկկողմանի նախատախտակների վրա, որոնք անցքերից փոխկապակցված են: Չնայած հրահանգը