Բովանդակություն:
- Քայլ 1: Երկու վարպետ և ստրուկ նույն կոդում
- Քայլ 2. BLUETOOTH մոդուլներ Խոսեք սերիական ընթերցման և գրման միջոցով
- Քայլ 3: Controlեղի վերահսկում
- Քայլ 4: Մնացած օրենսգիրքը
- Քայլ 5: Ի՞նչ է հաջորդը:
Video: Arduino Hot Wheels Speed Track Մաս 2 - Կոդ ՝ 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Այս նախագծի առաջին մասում մենք կառուցեցինք նախատիպի սարքավորումները 2 տախտակների վրա:
Եվ այս մասում մենք կանդրադառնանք ծածկագրին, թե ինչպես է այն աշխատում, այնուհետև կփորձարկենք այն:
Համոզվեք, որ դիտեք վերը նշված տեսանյութը ՝ կոդի ամբողջական վերանայման և աշխատանքային ծածկագրի ցուցադրման համար:
Քայլ 1: Երկու վարպետ և ստրուկ նույն կոդում
Կոդը 2 մասից է, բայց նույն ֆայլի ներսում: Ես օգտագործում եմ #define և #ifdef որոշելու համար, թե որ ծածկագիրը կկազմվի կամ անտեսվի, որպեսզի կարողանամ առանձնացնել ցանկացած ծածկագիր, որը միայն MASTER breadboard- ի համար է, և ծածկագիրը ՝ SLAVE breadboard- ի համար:
Հիմնականում, եթե սահմանված MASTER- ը գտնվի, ապա ցանկացած ծածկագիր, որը գտնվում է MASTER ծածկագրի բլոկի ներսում, կկազմվի, և այդ բլոկից դուրս գտնվող ցանկացած ծածկագիր կհեռացվի կազմման ժամանակ:
#ifdef MASTER
// Վարպետի հատուկ կոդը այստեղ է
#այլ
#սահմանի ՍՐԱՎ
// Ստրուկի հատուկ կոդը այստեղ է
#էնդիֆ
Ես նաև օգտագործում եմ նույն տեխնիկան ՝ #SLAVE- ը սահմանելիս, երբ MASTER- ը կազմվում է, այնպես որ դուք միայն պետք է անհանգստանաք MASTER- ի սահմանման կամ այն, որ SLAVE- ը միացված չլինի:
Քայլ 2. BLUETOOTH մոդուլներ Խոսեք սերիական ընթերցման և գրման միջոցով
Այս նախագծում միայն SLAVE breadboard- ը խոսում է MASTER breadboard- ի հետ: ՎԱՐՊԵՏԸ երբեք հետ չի խոսում, նա միայն լսում է, այնուհետև գործում է մուտքագրված տվյալների վրա:
Մոդուլները խոսում և լսում են `օգտագործելով Arduino կոդավորման էկոհամակարգում կառուցված Serial դասը:
Bluetooth մոդուլները հաղորդակցվում են 38400 baud- ի վրա, այնպես որ կոդի երկու ուղիներն էլ նախաստորագրում են իրենց Սերիական հաղորդակցությունը ՝ օգտագործելով.
Serial.begin (38400);
Իսկ SLAVE- ն օգտագործում է.
Serial.write (տվյալները ՝ այստեղ);
ՎԱՐՊԵՏԻ հետ խոսելու համար, և ՎԱՐՊԵՏՆ օգտագործում է.
տվյալներ = Serial.read ();
Սերիալային հոսքին լսելու և դրա բովանդակությունը կարդալու և փոփոխականի ներսում պահելու համար:
Քայլ 3: Controlեղի վերահսկում
SLAVE- ը MASTER- ին ասում է, թե արդյոք նա մրցավազքում ավելի շատ է կամ պատրաստ ռեժիմում `իր միկրոհսկիչին միացված կանաչ կոճակի միջոցով: Պատրաստ ռեժիմում IR սենսորները ոչինչ չեն անում, և MASTER- ը էկրանին ցույց կտա 8 գծիկ ՝ նշելով, որ այն պատրաստի ռեժիմում է:
Երբ SLAVE- ն ասում է ՎԱՐՊԵՏԻՆ, որ մրցավազք է սկսվելու, SLAVE- ն սկսում է հարցում անցկացնել իր կողմում գտնվող IR սենսորների միջոցով (մրցուղու սկիզբը), որպեսզի մեքենաները տակից անցնեն:
Յուրաքանչյուր մեքենա անցնում է յուրաքանչյուր IR սենսորի տակ, այն ուղարկում է A (մեքենա 1) կամ B (մեքենա 2) ՎԱՐՊԵՏԻՆ:
Երբ MASTER- ը ստանում է A կամ B, այն հնարավորություն է տալիս ժամաչափը տվյալ մեքենայի համար, այնուհետև սպասում է, որ մեքենան ավարտի գծում անցնի համապատասխան IR սենսորի տակով:
Displayուցադրումը թարմացվում է յուրաքանչյուր 50ms- ով `յուրաքանչյուր մեքենայի ընթացիկ ժամանակը վայրկյաններով ցուցադրելու համար` 2 տասնորդական նիշով:
Երբ երկու մեքենաներն էլ դուրս գան վերջնագծին, ՎԱՐՊԵՏԸ որոշում է, թե որ մեքենան է եղել ամենաարագը և ցուցադրում է այդ ժամանակը էկրանին `նշելով հաղթողին:
Քայլ 4: Մնացած օրենսգիրքը
Մնացած ծածկագիրը պարզապես օգտակար կոդ է, որը կամ վերահսկում է 8 թվանշանի էկրանին տվյալների ցուցադրումը, կամ կարգավորում է կոճակը սեղմելու տրամաբանությունը և այլն:
Այս նախագծի ներածական հատվածի տեսանյութի վերջում ես ցույց եմ տալիս 2 տախտակների վրա աշխատող կոդի օրինակ, այնպես որ համոզվեք, որ դա ստուգեք:
Դուք կարող եք այս ծրագրի կոդը վերցնել իմ github ռեպոյից:
Քայլ 5: Ի՞նչ է հաջորդը:
Այսքանը առայժմ… 3 -րդ մասում մենք կանդրադառնանք բաղադրիչները հացաթղթից հանելու և ավելի մշտական բանի վրա… լարված մնացեք:
Հուսով եմ, որ դուք վայելում եք այս նախագիծը:
Հետևեք ինձ ՝
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Խորհուրդ ենք տալիս:
Arduino-tomation Մաս 5: LE TUNNEL DE CHAUFFE: 4 Քայլ
Arduino-tomation Մաս 5: LE TUNNEL DE CHAUFFE. Երկու ամիս առաջ ես որոշեցի վերակառուցել մի փոքր մոռացված համակարգ, որը պահվում էր իմ աշխատավայրում գտնվող ռազմակայանում: Այս համակարգը պատրաստված էր տաքացնելու և տաքացնելու էլեկտրոնային սարքերը կամ այն, ինչ հատուկ բարձր ջերմաստիճանի վրա էր դրված: դիմակայել փոխակրիչին: Այսպիսով, ես ստեղծեցի մի
Arduino-tomation Մաս 4-րդ. TRI DE BRIQUE: 5 Քայլ
Arduino-tomation Մաս 4: TRI DE BRIQUE. Այս հրահանգներում ես ձեզ կխոսեմ մեկ այլ մեքենայի մասին, որը վերազինվել և վերահսկվում է Arduino- ի կլոնային տախտակի կողմից `պատրաստված Atmega1284p- ից: Այս տախտակը կարող է աջակցել ethernet վահան և կարող է վերահսկվել SCADA- ի (AdvancedHMI, Unigo) կամ արդյունաբերական
Arduino LTC6804 BMS - Մաս 2. Մնացորդային տախտակ. 5 քայլ
Arduino LTC6804 BMS - Մաս 2. Մնացորդային տախտակ. Մաս 1 այստեղ է Մարտկոցի կառավարման համակարգը (BMS) ներառում է մարտկոցի տուփի կարևոր պարամետրերը զգալու գործառույթ, ներառյալ բջջային լարումները, մարտկոցի հոսանքը, բջիջների ջերմաստիճանը և այլն: սահմանված տեսականի, փաթեթը կարող է լինել դիսկոտեկ
VentMan Մաս II. Arduino- ավտոմատացված վառարանների հայտնաբերում խթանող երկրպագուների համար. 6 քայլ
VentMan Մաս II. Arduino- ի ավտոմատացված վառարանի հայտնաբերում խթանող երկրպագուների համար. Հիմնական կետեր. Սա ժամանակավոր կոտրում էր, որը թույլ էր տալիս հայտնաբերել, թե երբ է աշխատում իմ AC/վառարանով փչող շարժիչը, որպեսզի իմ երկու ուժեղացուցիչ երկրպագուները միացվեն: Ինձ երկու ջրամեկուսիչ է պետք իմ խողովակաշարերում, որպեսզի ավելի տաք/սառը օդ մղի երկու երկու մեկուսացված ննջասենյակներ: Բայց ես
Arduino Hot Wheels Speed Track - Մաս 1 - Նախատիպ ՝ 4 քայլ
Arduino Hot Wheels Speed Track - Մաս 1 - Նախատիպ. Shouldարմանալի չէ, որ իմ որդին սիրում է տաք անիվներ և իր մեքենաները մրցում է ամբողջ տանը: Նրա ամենասիրելի գործերից մեկն այն է, որ մրցի իր բոլոր մեքենաներով (այժմ 100 -ից ավելի) `որոշելու, թե որն է ամենաարագ մեքենան: Այժմ նա ամեն ինչ անում է աչքով, և