Բովանդակություն:
Video: IOT123 - I2C Աղյուսի վարպետ JIG: 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
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 ժամացույցի գլխավոր էջի թարմացում- Ավտոմատ ամառային կանխավճար և ձմեռային հետաձգում