Բովանդակություն:
- Քայլ 1: Նյութեր և գործիքներ
- Քայլ 2. Պատրաստեք ATTINY85- ը
- Քայլ 3: Հավաքեք շրջանը
- Քայլ 4: Փորձարկում
- Քայլ 5: Հաջորդ քայլերը
Video: IOT123 - I2C KY019 Աղյուս. 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
IOT123 Աղյուսները DIY մոդուլային միավորներ են, որոնք կարող են համակցվել այլ IOT123 Աղյուսների հետ ՝ հանգույցին ֆունկցիոնալություն հաղորդելու կամ կրելու համար: Դրանք հիմնված են դյույմ քառակուսի, երկկողմանի նախատախտակների վրա, որոնք փոխկապակցված են անցքերով:
Սպասվում է, որ այս ԿՈICՐԵՐԻ մի մասը կլինեն մի քանի հանգույցների վրա (Master MCUs - ESP8266 կամ ATTINY84) կայքում: MCU- ին սենսորների նպատակի կամ ծրագրակազմի կարիքների մասին նախնական գիտելիքներ պետք չեն: Այն սկանավորում է I2C հանգույցները, այնուհետև յուրաքանչյուր ստրուկից պահանջում է սեփականության աղբանոց (տվիչների տվյալներ): Այս աղյուսները մատակարարում են 5.0V, 3.3V և մեկ այլ AUX գիծ, որը հարմարեցված է:
Այս I2C KY019 աղյուսը առաջինն է ԴԱՍԱՀՈՍՆԵՐԻ,, և ունի մեկ կարդալու/գրելու հատկություն.
Փոխարկիչ (ճիշտ/սխալ):
Keyes տիպի սենսորային աղյուսները նախ կվերացվեն, քանի որ դրանք գալիս են վիտամիններով (անհրաժեշտ են լրացուցիչ բաղադրիչներ) և համեմատաբար ավելի թափանցիկ են (37 -ը գնել եմ 10 AUD- ով): Այլ տախտակներ/սխեմաներ կներկայացվեն I2C Աղյուսներին:
ATTINY85- ի հարակից անցքերը մնացել են չօգտագործված, ինչը հնարավորություն է տալիս միացնել pogo- ի ծրագրավորողին, մինչ DIP8- ը կպցված է PCB- ին: Մշակվում է ևս մեկ աբստրակցիա ՝ ԿՈICՐԵՐԸ փաթեթավորելով փոքր բալոններում, որոնք միանում են D1M WIFI BLOCK հանգույցին ՝ արժեքները մղելով MQTT սերվերի վրա:
Քայլ 1: Նյութեր և գործիքներ
Կա Նյութերի և աղբյուրների ամբողջական օրինագիծ:
- KY-019 ռելե (1)
- ATTINY85 20PU (1)
- 1 "երկկողմանի նախատախտակ (1)
- Արական վերնագիր 90º (3P, 3P)
- Միացման մետաղալար (7 ~)
- Sոդման և երկաթ (1)
Քայլ 2. Պատրաստեք ATTINY85- ը
Նշում. Եթե մտադիր եք ունենալ Crouton ինտեգրում, խնդրում ենք օգտագործել գրադարանը այստեղից և օգտագործել «attiny_ky019» տեղադրված օրինակը:
Խորհուրդների կառավարիչից անհրաժեշտ է AttinyCore: Այրեք bootloader «EEPROM պահպանված է», «8mHZ ներքին» (բոլորը կազմաձևված են վերևում):
Կոդերի պահեստը կարելի է գտնել այստեղ:
Գրադարանի ZIP- ը կարելի է գտնել այստեղ:
«ZIP գրադարան ներմուծելու» հրահանգներն այստեղ են:
Գրադարանը տեղադրվելուց հետո կարող եք բացել «attiny_ky019» օրինակը:
Սարքաշարը ATTINY85- ում վերբեռնելու համար կարող եք ավելի մանրամասն տեղեկություններ գտնել այս հրահանգներում:
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/How-to-Program-AT…
www.instructables.com/id/How-to-program-th…
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/Programming-an-At…
Շարունակելուց առաջ լավագույնն է փորձարկել հացահատիկի միջոցով:
Եթե դուք ունեք գոյություն ունեցող ASSIMILATE SENSORS, համոզվեք, որ ստրուկի հասցեն տարբերվում է SENSOR/MCU Host- ի համակցությունից, այսինքն ՝ Relay- ի բոլոր դերակատարները կարող են ունենալ նույն հասցեն, քանի դեռ MCU/հանգույցում ունեք միայն մեկ Relay դերասան:
Քայլ 3: Հավաքեք շրջանը
- Առջևում տեղադրեք ATTINY85 (1), 3P 90 աստիճանի արական վերնագրեր (2) (3) բաղադրամասերը և զոդեք հետևի մասում:
- Հետևի մասում նշեք դեղին մետաղալարը YELLOW1- ից YELLOW2- ից և ամրացրեք:
- Հետևի մասում կապույտ մետաղալարեր գտեք BLUE1- ից մինչև BLUE2 և կպցրեք:
- Հետևի մասում հետևեք կանաչ մետաղալարից GREEN1- ից GREEN2 և ամրացրեք:
- Հետևի մասում հետևեք սև մետաղալարից BLACK1- ից մինչև BLACK2 և զոդեք:
- Հետևի մասում հետևեք սև մետաղալարից BLACK3- ից մինչև BLACK4 և զոդեք:
- Հետևի մասում հետևեք կարմիր մետաղալարից RED1- ից մինչև RED2 և ամրացրեք:
- Հետևի մասում գծեք կարմիր մետաղալարեր RED3- ից RED4- ից և ամրացրեք դրանք:
Ռելեն այժմ կարող է ուղղակիորեն միացնել PCB- ին կամ լարերի միջոցով `քորոցային պայմանագրում նշված կետերին:
Քայլ 4: Փորձարկում
Սպասվում է, որ այս ԿՈICՐԵՐԻ մի մասը կլինեն մի քանի հանգույցների վրա (MCUs - ESP8266 կամ ATTINY84) միջավայրում: Սա միավորի թեստ է. Ուղարկում է I2C հրամաններ ՄԱԿ -ից ՄԱԿ -ից 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 1 (ուրեմն 12 2 1), և ռելեն միանում է:
- Երբ, մուտքագրեք ուղարկման տուփ 2 0 (ուրեմն 12 2 0), և ռելեն անջատվում է:
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: KY019- ը, որն օգտագործում է այս աղյուսը, ունի ավտոմատ կազմաձևում Crouton- ի համար `այստեղ արդեն ATTINY85- ում տեղադրված մետատվյալների միջոցով: Crouton- ին ուղարկված JSON փաթեթը ուղարկվում է ICOS10- ի վերջին որոնվածի միջոցով: Սովորական ESP8266- ի վրա կարող եք կատարել «Proof-of-concept» հասկացությունը, եթե ներկայումս կառուցվածքը չափազանց շատ է:
Փորձարկման ժամանակ օգտագործվող UNO- ի էսքիզը գործառույթ ունի ՝ ATTINY85- ում EEPROM հասցեին նոր ստրուկի հասցե պահպանելու համար, եթե բախում ունեք ձեր թիրախային I2C ավտոբուսում:
Ավելացվել են մի քանի սխեմաներ, բայց հոսանքի հոսանքի հոսանքի միացման տարբեր եղանակներ կան ՝ կախված այն բանից, թե ինչի եք ուզում հասնել, այնպես որ դա թողնում եմ ձեզ համար:)
Խորհուրդ ենք տալիս:
Բջջային հեռախոսի մարտկոցի աղյուս `6 քայլ
Բջջային հեռախոսի մարտկոցի աղյուս. Սա հաճելի պարզ հանգստյան օրերի նախագիծ է, որը հնարավորություն է տալիս շարունակել սովորել փոքր տախտակներին զոդել: Այն օգտագործում է էժան և հեշտ մասեր ձեռք բերելու համար ՝ սա հիանալի սկսնակ նախագիծ դարձնելու համար այն մարդկանց համար, ովքեր զբաղվում են DIY նախագծերով
500 LED-Pixel RGB- աղյուս. 9 քայլ (նկարներով)
500 LED-Pixel RGB-Brick. Քիչ առաջ ես կառուցում եմ 10x10 LED- Coffetable այս WS2812 LED- ներից մի քանիսը, բայց նույնիսկ եթե հնարավոր է հին դպրոցական Snake խաղը խաղալ դրան միացված սմարթֆոնով, ես ուզում եմ ինչ-որ բան ավելին հատուկ Այսպիսով, ես որոշեցի դրան տալ ևս մի քանի հուշում, արա
IOT123 - ՆՇԱՆԱԿԱԼ ԴԵՐԱՍԱՆ ՝ KY019: 4 քայլ
IOT123 - ՆԿԱՐԱԳԻՐ ԴԵՐԱՍԱՆ: KY019. Այն 5V TIL կառավարման ազդանշանով է, որը կարող է վերահսկել DC / AC ազդանշանը: Այս կառուցվածքը հիմնված է I2C KY019 Աղյուսի վրա: Եթե Ձեզ անհրաժեշտ է 2 ալիք, խորհուրդ եմ տալիս այս դերասանին փոխարինել 2CH RELAY աղյուսով: ԱՍՄԻԼԻԱԹ ԴԵՐԱՍԱՆՆԵՐԸ/ENԳԱՅԻՆՆԵՐԸ շրջակա միջավայրի դերակատարներ են/սենսո
IOT123 - LIR2032 Մարտկոցի աղյուս `4 քայլ
IOT123 - LIR2032 մարտկոցի աղյուս. IOT123 աղյուսները ինքնագործ մոդուլային միավորներ են, որոնք կարելի է խառնել այլ IOT123 աղյուսների հետ `հանգույցին կամ կրելու համար ֆունկցիոնալություն ավելացնելու համար: Դրանք հիմնված են դյույմ քառակուսի, երկկողմանի նախատախտակների վրա, որոնք անցքերից փոխկապակցված են: Չնայած հրահանգը
IOT123 - 5PIN ATTINY85 NRF24L01 Աղյուս `4 քայլ
IOT123 - 5PIN ATTINY85 NRF24L01 Աղյուս. ԹԱՐՄԱՈՄ. Այս կարգավորումը հիմնականում ակադեմիական է կամ ծրագրակազմի/էներգիայի մատակարարման փորձարկման հիմք: Նույնիսկ երբ PB5- ը անջատված է որպես RESET, այն չի կարդում արժեքները ճշգրիտ օգտագործելով analogRead- ը. Սենսորների ընթերցումների հիմնական օգտագործման պատյան: Կանդրադառնա ATTINY84 կարգավորմանը