Բովանդակություն:
- Հեղինակ John Day [email protected].
- Public 2024-01-30 09:50.
- Վերջին փոփոխված 2025-01-23 14:48.
ASIMIMATE Սենսորներ և դերասաններ մշակելիս ես UNO- ին ձեռնտու եմ մշակման նախատիպերին adhoc I2C հրամաններ ուղարկելու համար: I2C Աղյուսների առավելություններից մեկը ստանդարտացված քորոցներն են: Ամեն անգամ հացահատիկի լարեր օգտագործելու փոխարեն (տե՛ս Ֆրիտզինգները), օգտագործվում է ուժեղ տեխնոլոգիական վահան:
Քայլ 1: Նյութեր և գործիքներ
- 4 սմ x 6 սմ Uninersal PCB (1)
- Մալուխ (6 ~)
- 4K7 դիմադրիչներ (2) 6
- Արական վերնագիր (12P, 8P)
- Կին վերնագիր (9P, կամ 3P, 3P)
- Sոդման և երկաթ (1)
Քայլ 2: Հավաքում
Եթե դուք օգտագործում եք 2 -ից 3P իգական վերնագրեր ՝ 1 -ից 9P իգական վերնագրի փոխարեն, ASSIMILATE SENSOR/ACTORS- ը կտեղավորվի JIG- ում ՝ առանց դրանք ապամոնտաժելու:
Հաղորդալարերի միջոցով ծայրերից հանեք մինչև 10 մմ և ամրացրեք ծայրերը:
- PCB- ի ներքևում տեղադրեք արական վերնագիրը (1) (2) և զոդեք վերևում:
- PCB- ի վերևում տեղադրեք էգ վերնագիրը (3) և զոդեք ներքևում:
- Վերին մասում կարմիր մետաղալարով անցեք RED1 և RED2:
- Ներքևում ՝ անցքից մետաղալար RED1- ից մինչև RED3:
- Ներքևում ՝ RED2- ից RED5- ից անցք կատարող մետաղալար և կպցրեք:
- Վերևում ՝ RED3- ից RED4- ի միջով անցող մետաղալար և կպցրեք:
- Վերին մասում կարմիր մետաղալարով անցեք RED6 և RED7:
- Ներքևում ՝ RED6- ից RED8- ով անցք կատարող անցքերի մետաղալարեր:
- Ներքևում ՝ անցքով մետաղալարեր RED7- ից RED10- ի և զոդման համար:
- Վերևում ՝ անցքերով մետաղալարեր RED8- ից մինչև RED9 և կպցրեք:
- Վերևում, անցքով անցեք սև մետաղալարը BLACK1- ի և BLACK2- ի մեջ:
- Ներքևում ՝ BLACK1- ից BLACK3 անցքով անցնող մետաղալար:
- Ներքևում ՝ BLACK2- ից BLACK5 անցքով անցնող մետաղալար և կպցրեք:
- Վերևում ՝ BLACK3- ից BLACK4- ով անցք կատարող մետաղալարով և կպցրեք:
- Վերևում կապույտ մետաղալարն անցեք BLUE1- ի և BLUE2- ի մեջ:
- Ներքևում ՝ անցք ունեցող մետաղալարեր ՝ BLUE1- ից մինչև BLUE3:
- Ներքևում ՝ անցք ունեցող մետաղալար BLUE2- ից մինչև BLUE5, և զոդեք:
- Վերևում ՝ անցքից մետաղալար BLUE3- ից մինչև BLUE4, և կպցրեք:
- Վերևում կանաչ մետաղալարով անցեք Կանաչ 1 և Կանաչ 2:
- Ներքևում ՝ անցքից մետաղալար GREEN1- ից GREEN3- ով:
- Ներքևում ՝ անցքից մետաղալար GREEN2- ից GREEN5 և կպցրեք:
- Վերևում ՝ GREEN3- ից GREEN4- ի միջով անցքով մետաղալար և կպցրեք:
- Վերևում ՝ 4K7 դիմադրության անցքով անցեք SILVER3 և SILVER4:
- Ներքևում ՝ SILVER3- ից GREEN5- ի միջոցով անցք կատարող մետաղալար և կպցրեք:
- Ներքևում ՝ SILVER4- ից RED10- ի միջոցով անցք կատարող մետաղալար և կպցրեք:
- Վերևում ՝ 4K7 դիմադրության անցքով անցեք SILVER1 և SILVER2:
- Ներքևում ՝ SILVER1- ից BLUE5- ի միջոցով անցք կատարող մետաղալար և կպցրեք:
- Ներքևում ՝ SILVER2- ից RED10- ի միջոցով անցք կատարող մետաղալար և կպցրեք:
Քայլ 3. Կոդ ՄԱԿ -ի համար
Էսքիզն այստեղ տարրական է: Այն թույլ է տալիս օգտագործել Console Input- ը ՝ ստիպելու ՄԱԿ -ին I2C հաղորդագրություններ ուղարկել I2C ATTINY85 աղյուսին:
Բոլոր հրահանգները տպվում են էկրանին ՝ օժանդակ ընտրանքներով:
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- ի կողմից
Քայլ 4: Հաջորդ քայլերը
Ներկայացված կառուցվածքներից բավական շարժական մասեր կան, որպեսզի կարողանաք կառուցել ձեր սեփական ASSIMILATE IOT NETWORK- ը:
Հանգույցների (սենսորների և դերասանների) յուրաքանչյուր գործառույթ վերահսկելի է ապակենտրոնացված ձևով ՝ կախված MCU վարպետից ՝ աջակցվող գործառույթների վերաբերյալ որևէ գիտելիքից:
MQTT բրոքերին միացնող ցանկացած ծրագիր կարող է վերահսկել/դիտել IOT հանգույցի յուրաքանչյուր հատկություն: Դա M2M է, վեբ ծրագրեր, IFTTT և այլն: Շատ ավելի պարզ (կամ հարուստ, եթե ցանկանում եք) ձեր IOT աշխարհին:
Խորհուրդ ենք տալիս:
Կտտացրեք Աղյուսի անջատիչ Makey Makey- ի համար. 4 քայլ (նկարներով)
Սեղմեք Brick Switch for Makey Makey: Այս 3D տպիչով անջատիչը թույլ կտա օգտվողին Makey Makey- ն վերածել " մատի սահիկի " «կտտացրեք» -ի համար խաղերի մեջ կամ կարող է լինել աջ/ձախ սլաքներ `ներկայացումների միջոցով ոլորելու համար: Աջ և ձախ տերմինալների ամրացումների ավելացում
Լույսի ինտենսիվության գծագրում Arduino- ի և Python- ի Arduino վարպետ գրադարանի միջոցով. 5 քայլ
Լույսի ինտենսիվության գծագրում Arduino- ի և Python- ի Arduino վարպետ գրադարանի միջոցով. Arduino- ն լինելով տնտեսապես միևնույն ժամանակ բարձր արդյունավետ և ֆունկցիոնալ գործիք, այն ներկառուցված C- ով ծրագրավորելը ձանձրացնում է նախագծերը դարձնելու գործընթացը: Python- ի Arduino_Master մոդուլը պարզեցնում է դա և թույլ է տալիս մեզ կատարել հաշվարկներ, հեռացնել աղբի արժեքները
Վարպետ AutoCAD MEP- ի պարզ ուղեցույց (Ducting). 27 քայլ (նկարներով)
AutoCAD MEP (Ducting) վարպետի պարզ ուղեցույց. AutoCAD MEP- ը կարող է թվալ, որ առանձնապես չի տարբերվում AutoCAD- ից, բայց երբ խոսքը վերաբերում է մեխանիկական, էլեկտրական և ամպ; Սանտեխնիկայի ծառայություններ (MEP), դա, անշուշտ, կարող է օգնել ձեզ խնայել շատ ժամանակ և ջանք `պայմանով, որ դուք լավ հագեցած լինեք հիմնականով:
Պորտալ 2 պտուտահաստոց - պտուտահաստոց վարպետ հսկողություն. 9 քայլ (նկարներով)
Portal 2 Turret-Master Turret Control. Այս նախագիծը իմ սկզբնական Portal Turret- ի հրահանգների (Portal-2-Turret-Gun) ընդլայնումն է կամ ռեմիքսը: Այն կարող է օգտագործվել նաև որպես էժան վերահսկիչ ՝ վերահսկելու այն ամենը, ինչ օգտագործում է nRF24L01 ռադիո չիպը: LCD էկրանը հատկապես օգտակար է, երբ
Arduino LCD վարպետ ժամացույց ՝ 10 քայլ (նկարներով)
Arduino LCD հիմնական ժամացույց. Այս ժամացույցը նախատեսված է որպես ինքնուրույն ժամացույց կամ որպես հիմնական ժամացույց `ստրուկ ժամացույցներ քշելու համար և շարժական է մարտկոցի պահուստով: Լրացուցիչ մանրամասների համար տե՛ս ժամացույցի կայքը ՝ LCD Master ժամացույցի գլխավոր էջի թարմացում- Ավտոմատ ամառային կանխավճար և ձմեռային հետաձգում
