Բովանդակություն:

Arduino- ի վրա հիմնված սերիայի սերվերի վերահսկիչ `6 քայլ
Arduino- ի վրա հիմնված սերիայի սերվերի վերահսկիչ `6 քայլ

Video: Arduino- ի վրա հիմնված սերիայի սերվերի վերահսկիչ `6 քայլ

Video: Arduino- ի վրա հիմնված սերիայի սերվերի վերահսկիչ `6 քայլ
Video: BTT GTR v1.0/M5 v1.0 - Basics 2024, Նոյեմբեր
Anonim
Arduino- ի վրա հիմնված սերիայի սերվերի վերահսկիչ
Arduino- ի վրա հիմնված սերիայի սերվերի վերահսկիչ
Arduino- ի վրա հիմնված սերիայի սերվերի վերահսկիչ
Arduino- ի վրա հիմնված սերիայի սերվերի վերահսկիչ

Սա պարզ սերիական վերահսկիչ է Arduino- ի հիման վրա բազմակի սերվերի համար: (իմ առաջին հրահանգը նույնպես:))

Աշխատանքների մեծ մասը ստացվել է ծրագրային ապահովման հետ arduino- ի հետ զրուցելուց և տվյալների փոխանցման համար արձանագրություն կազմելուց: Ինչ վերաբերում է ապարատային ասպեկտին, այն ամենը, ինչ ես օգտագործեցի, երկու սերվո էր (այստեղ Parallax standard servo): Sparkfun Arduino ProtoShield և Arduino Duemilanove ATMEGA328- ով, սակայն այս մասերի մեծ մասը կարող է փոխարինվել նմանատիպ իրերով: Ես մտածեցի այս նախագիծը որպես RC համակարգի մաս, բայց կապի ստեղծումը շատ ժամանակ պահանջեց: Եթե որևէ մեկն ունի որևէ բարելավում, գաղափար կամ սխալ, խնդրում ենք ազատ զգալ մեկնաբանել: Խմբագրել. Ես սա գրել եմ քիչ առաջ, և վերջերս սկսեցի հրապարակել այն:

Քայլ 1: Այն, ինչ ձեզ հարկավոր է…

Բաներ, որոնք կարող են անհրաժեշտ լինել…
Բաներ, որոնք կարող են անհրաժեշտ լինել…
Բաներ, որոնք կարող են անհրաժեշտ լինել…
Բաներ, որոնք կարող են անհրաժեշտ լինել…

Որոշ բաներ ձեզ հարկավոր կլինեն սա կառուցելու համար: 1. Arduino տախտակ (դուք ընտրում եք) 2. երկու (կամ մեկ) սերվեր 3. jumper լարեր 4. Visual Studio 2008 Express - հղում (ըստ ցանկության) 5. Arduino IDE - հղում Ներողություն Linux- ի և Apple- ի երկրպագուների համար, իմ ծրագիրը գործում է միայն պատուհաններ առայժմ, բայց դեռ կարող եք ձեռքով սերիական հրամաններ ուղարկել arduino- ին ՝ առանց ծածկագիրը փոխելու:

Քայլ 2: Միացրեք ապարատը:

Միացրեք Սարքավորումը
Միացրեք Սարքավորումը

Այս քայլին շատ բարդ բան չկա: Պարզապես մի սերվո միացրեք 9 -ի կապում, իսկ մյուսը `10 -ին:

Քայլ 3. Programրագրավորեք Arduino- ն

Programրագրեք Arduino- ն
Programրագրեք Arduino- ն

այժմ կարող եք ուրվագիծը վերբեռնել arduino- ում:

Ահա կոդի պարզ խզում. #Ներառել Servo myservo; // ստեղծել servo օբյեկտ `servo- ն վերահսկելու համար Servo myservo1; int մուտքայինԲայթ = 0, տվյալների հաշվարկ = 0, հաշվիչ = 0, պատրաստ = 0; // մուտքային սերիական տվյալների char տվյալների համար [10]; const char ստուգել [8] = "ma11hew"; char հրաման [3]; void setup () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // բացում է սերիական նավահանգիստ, սահմանում է տվյալների արագություն Serial.println ("Hi Arduino Here!"); // ավելացվել է, որպեսզի օգնի նույնականացնել սերիալային պորտը: Սա պարզապես կարգավորում է սերիալային պորտը և սերվերը: int i; համար (i = 0; i <180; i ++) {myservo.write (i); ուշացում (15); } myservo.write (5); համար (i = 0; i <180; i ++) {myservo1.write (i); ուշացում (15); } myservo1.write (5); } Պարզ սերվերի աշխատանքը ճիշտ ստուգելու համար սահուն շարժում: void loop () {պատրաստ = 0; հաշվիչ = 0; while (1 == 1) {if (Serial.read ()! = verify [counter]) {break; } if (հաշվիչ == 6) {հետաձգում (20); հրաման [0] = Serial.read (); հրաման [1] = Serial.read (); // եթե (Serial.read () == ((հրաման [1] * 12) % 8)) // {պատրաստ = 1; //} Serial.println («պահված հրաման»); } հաշվիչ ++; ուշացում (2); } սա ստուգում է սերիական բուֆերը ճիշտ թույլտվության տողի համար, այնուհետև երկու բայթ է գրավում հրամանի համար: մեկնաբանված եթե հայտարարությունը թույլ է տալիս կատարել ժամանակավոր ստուգման գումար, բայց կդժվարացնի ձեռքով ինտերֆեյսը: պատրաստ կարող է սահմանվել 0, այնպես որ հրամանները չեն վերլուծվի, ինչպես, օրինակ, կոռումպացված տվյալների դեպքում: // որոնել հրամանների միջոցով if (պատրաստ == 1) {if (հրաման [0] == 'T') {հրաման [0] = 0; Serial.print ("շնչափողի վերահսկում 9 -րդ կապում դեպի."); Serial.println (քարտեզ (հրաման [1], 32, 126, 2, 180), DEC); myservo.write (քարտեզ (հրաման [1], 32, 126, 2, 180)); } if (հրաման [0] == 'S') {հրաման [0] = 0; Serial.print ("շնչափողի վերահսկում 10 -րդ կապում դեպի."); Serial.println (քարտեզ (հրաման [1], 32, 126, 2, 180), DEC); myservo1.write (քարտեզ (հրաման [1], 32, 126, 2, 180)); }}} ծածկագրի մնացած մասը պետք է որոնել վավեր հրամաններ (T կամ S.), եթե դրանք համընկնում են, վերցնում է հաջորդ բայթը և ուղարկում այն սերվոյին: ավելին քարտեզի վրա (հրաման [1], 32, 126, 2, 180) ավելի ուշ … այստեղ ծածկագիրը կարող է ընդլայնվել այն ամենի համար, ինչ ձեզ հարկավոր է (օրինակ. լույսեր, շարժիչներ, IR և այլն): փոփոխություններ:

Քայլ 4: Տեղադրեք ծրագրակազմ

Տեղադրեք ծրագրակազմ
Տեղադրեք ծրագրակազմ

Ես ունեմ երկու եղանակ ՝ այս… nsis տեղադրիչը տեղադրելու համար. Ներբեռնեք ստորև բերված ինքնակառավարման տեղադրիչը և գործարկեք այն: Տեղադրման ընթացքում դուք կունենաք աղբյուրներ տեղադրելու տարբերակ: Տեղադրիչի երկուական փաթեթը տեղադրում է հիմնական c ++ dlls, այնպես որ այն կարող է գործարկվել համակարգչի վրա ՝ առանց արդեն տեղադրված տեսողական c ++ - ի: Տեղադրիչի ավարտից հետո այն կարող եք գործարկել աշխատասեղանից կամ սկսել ընտրացանկից: zip way (չստուգված). Ներբեռնեք և գործարկեք, այն պետք է աշխատի: Միգուցե. (Փոստային արխիվն ունի տեղադրողի ստեղծած թղթապանակի նույն կառուցվածքը ՝ առանց աղբյուրների: Ես չունեմ սարք, որն առանց տեսողական ստուդիայի այն փորձարկելու է, որպեսզի այն չաշխատի):

Քայլ 5: Օգտագործեք ինտերֆեյսի ծրագիրը

Օգտագործեք ինտերֆեյսի ծրագիրը
Օգտագործեք ինտերֆեյսի ծրագիրը
Օգտագործեք ինտերֆեյսի ծրագիրը
Օգտագործեք ինտերֆեյսի ծրագիրը

Useրագիրն օգտագործելու համար նախ ընտրեք arduino էսքիզում սահմանված բաուդ արագությունը: Չփոփոխված էսքիզը կանխադրված է 38400 բաուդ, բայց կարող է փոխվել ՝ ձեր կարիքներին համապատասխան ՝ այնպիսի դանդաղ ռադիոկապի համար: Նշում. 38400 -ից բարձր բաուդի դրույքաչափերը այնքան էլ կայուն չեն եղել, կարծում եմ, սա այն պատճառով է, որ միզուկը լցվում է նախքան տվյալների մշակումը: Հաջորդը, ընտրեք օգտագործվող COM նավահանգիստը: ծրագիրը կանխադրված է COM4- ին, համոզվեք, որ այն փոխեք, հակառակ դեպքում ծրագիրը կխափանվի: Ի վերջո, կտտացրեք բացել: Եթե ամեն ինչ լավ ընթանա, ծրագիրը կբացի ընտրված սերիական նավահանգիստը ընտրված բաուդ արագությամբ: Եթե ոչ, ապա ծրագիրը, հավանաբար, կխափանվի չկարգավորված բացառությամբ: համոզվեք, որ նավահանգիստը ճիշտ է և նորից փորձեք: Օգտագործեք տեքստային տուփերը `arduino- ին ուղղակի հրամաններ ներկայացնելու համար: «Քարտեզը (հրաման [1], 32, 126, 2, 180)» կշռում է բոլոր 94 հնարավոր հրամանները ՝ * տարածություն * մինչև ~, կարդալու համար arduino- ն ASCII- ում ՝ սերվոյի համար 2 -ից 180 -ը: ցանկացած բայթ ASCII 32 -ից պակաս (տարածություն) կամ 126 -ից բարձր (~) կանխադրված է 63 (?) Հետագծերը ապահովում են eaiser ինտերֆեյս անմիջական հրամանների համար: յուրաքանչյուր քայլ աստիճանաբար հաջորդական հրաման է ուղարկում arduino- ին:

Քայլ 6: Ստեղծագործ եղեք:

Ստեղծագործ եղեք
Ստեղծագործ եղեք
Ստեղծագործ եղեք
Ստեղծագործ եղեք

Մտածեք սքանչելի բաների մասին, որոնք կարող եք պատրաստել դրանով: Որոշ գաղափարներ. 1. Հեռակա շնչափող մեքենայի համար: 2. 3D ֆոտոխցիկի ամրացում 3. ստորջրյա ռովեր զվարճացեք !!

Խորհուրդ ենք տալիս: