Բովանդակություն:
- Քայլ 1: Այն, ինչ ձեզ հարկավոր է…
- Քայլ 2: Միացրեք ապարատը:
- Քայլ 3. Programրագրավորեք Arduino- ն
- Քայլ 4: Տեղադրեք ծրագրակազմ
- Քայլ 5: Օգտագործեք ինտերֆեյսի ծրագիրը
- Քայլ 6: Ստեղծագործ եղեք:
Video: Arduino- ի վրա հիմնված սերիայի սերվերի վերահսկիչ `6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:53
Սա պարզ սերիական վերահսկիչ է 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- ն
այժմ կարող եք ուրվագիծը վերբեռնել 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. ստորջրյա ռովեր զվարճացեք !!
Խորհուրդ ենք տալիս:
ESP 8266 Nodemcu Ws 2812 Neopixel- ի վրա հիմնված LED MOOD լամպ, որը վերահսկվում է տեղական վեբ սերվերի կողմից. 6 քայլ
ESP 8266 Nodemcu Ws 2812 Neopixel- ի վրա հիմնված LED MOOD լամպը վերահսկվում է տեղական վեբ սերվերի կողմից. ESP 8266 Nodemcu Ws 2812 Neopixel- ի վրա հիմնված LED MOOD լամպը վերահսկվում է վեբ սերվերի միջոցով
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի
ESP32- ի վրա հիմնված վեբ սերվերի միջոցով ինտերնետով վերահսկվող լուսադիոդ. 10 քայլ
Ինտերնետով վերահսկվող լուսադիոդ ՝ օգտագործելով ESP32- ի վրա հիմնված վեբ սերվեր. Նախագծի ակնարկ Այս նախագծում մենք պարզելու ենք, թե ինչպես կարելի է ESP32- ի վրա հիմնված վեբ սերվեր պատրաստել LED վիճակը կառավարելու համար, որը հասանելի է աշխարհի ցանկացած կետից: Այս նախագծի համար ձեզ անհրաժեշտ կլինի Mac համակարգիչ, բայց կարող եք գործարկել այս ծրագրաշարը նույնիսկ
ESP 8266 Nodemcu Ws 2812 Neopixel- ի վրա հիմնված LED MOOD լամպը վերահսկվում է վեբ սերվերի միջոցով. 6 քայլ
ESP 8266 Nodemcu Ws 2812 Neopixel- ի վրա հիմնված LED MOOD լամպը վերահսկվում է վեբ սերվերի միջոցով. neopixel և որը կարող է վերահսկվել ցանկացած դիտարկչի կողմից ՝ օգտագործելով տեղական վեբ սերվեր
Վեբ-միացված SMART LED անիմացիոն ժամացույց ՝ վեբ վրա հիմնված կառավարման վահանակով, Serverամային սերվերի համաժամացում ՝ 11 քայլ (նկարներով)
Վեբ-միացված SMART LED անիմացիոն ժամացույց ՝ վեբ վրա հիմնված կառավարման վահանակով, Time Server Synchronized: Այս ժամացույցի պատմությունը հեռու է գնում ՝ ավելի քան 30 տարի: Հայրս այս գաղափարի առաջատարն էր, երբ ես ընդամենը 10 տարեկան էի, LED- ի հեղափոխությունից շատ առաջ: Իսկական