Բովանդակություն:
- Քայլ 1: Պատմություն
- Քայլ 2. Տեսություն և մեթոդաբանություն
- Քայլ 3: Սարքավորման կարգավորում
- Քայլ 4: Softwareրագրաշարի տեղադրում
- Քայլ 5: Խնդիրների վերացում:
- Քայլ 6: Arduino կոդ
Video: Պարզ ռադիոտեղորոշիչ համակարգ Magicbit- ից ՝ 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Այս ձեռնարկը ցույց է տալիս, թե ինչպես կարելի է պատրաստել պարզ ռադիոտեղորոշիչ համակարգ `օգտագործելով HC-SR04 սենսորը և Microbit dev տախտակը` մշակմամբ և Arduino IDE- ով:
Պարագաներ:
- SG90 միկրո servo շարժիչ
- Թռիչքային լարեր (ընդհանուր)
- Հացաթուղթ (ընդհանուր)
- Magicbit
- USB-A- ից մինչև Micro-USB մալուխ
- Ուլտրաձայնային տվիչ - HC -SR04 (ընդհանուր)
Քայլ 1: Պատմություն
Այս ձեռնարկում մենք կսովորենք, թե ինչպես պատրաստել պարզ ռադիոտեղորոշիչ համակարգ ՝ օգտագործելով Magicbit core dev board- ը: Այդ նպատակով մենք օգտագործում ենք HC-SR04 ուլտրաձայնային տվիչ և տվյալների ցուցադրման համար օգտագործում ենք մշակման միջավայր: Եկեք սկսենք:
Քայլ 2. Տեսություն և մեթոդաբանություն
Նախ, եկեք քննարկենք, թե ինչպես է դա աշխատում: Սկզբունքը շատ հեշտ է: Սկզբում մենք անընդհատ պտտում ենք մեր տվիչը ուղղահայաց առանցքի շուրջ 180 աստիճանի սահմաններում: Այդ շարժման ընթացքում մենք ամեն անկյունից ուլտրաձայնային տվիչից վերցնում ենք մոտակա օբյեկտի հեռավորության մասին տվյալները: Այս գործընթացի համար մենք օգտագործում ենք Magicbit հիմնական տախտակը: Հետո, մենք պետք է կապ հաստատենք մշակման միջավայրի հետ `մեր տվյալները ցուցադրելու համար: Հետևաբար, մենք օգտագործում ենք սերիական հաղորդակցության արձանագրություն `համապատասխան բաուդ արագությամբ: Այնուհետև մենք նախագծում ենք մեր ռադարային համակարգի ինտերֆեյսը ՝ օգտագործելով IDE մշակումը: Այդ IDE- ում մենք կարգավորում ենք մեր սերիական հաղորդակցությունը `սերիայի միջոցով իրական ժամանակի տվյալներ ստանալու համար: Այսպիսով, մենք իրական ժամանակում կապ ենք պահպանում Magicbit- ի հետ և ցույց տալիս այն տվյալները, որոնք ուղարկվում են Magicbit- ից մշակող IDE- ին:
Քայլ 3: Սարքավորման կարգավորում
Այս նախագծի համար մենք հիմնականում օգտագործեցինք ապարատային երեք բաղադրիչ: Դրանք են Magicbit, servo motor և ուլտրաձայնային տվիչ: Այս բոլոր մասերի միջև կապը ներկայացված է վերևում նկարում:
Ուլտրաձայնային տվիչն օգտագործում էր 3.3 վ հզորության համար: Այսպիսով, մենք օգտագործեցինք Magicbit տախտակի աջ ստորին նավահանգիստը `ուլտրաձայնային տվիչը Magicbit- ին միացնելու համար: Բայց servo շարժիչը օգտագործվում է 5V պատշաճ աշխատանքի համար, ուստի մենք ձախ ստորին նավահանգստից օգտվել ենք servo շարժիչը Magicbit- ի հետ միացնելու համար: Այս դեպքում մենք օգտագործում ենք Magic bit servo միակցիչ մոդուլ: Բայց եթե դուք չունեք այդ մոդուլը, կարող եք օգտագործել երեք ցատկող լար `5V- ին 5V- ին, Gnd- ին Gnd- ին և ազդանշանի կապին` 26bit- ին magicbit- ում:
Շղթայի կառուցումից հետո մենք պետք է կառուցենք փոքր մեխանիկական մաս: մի կողքի միացնող servo միակցիչը միացրեք servo շարժիչին `օգտագործելով փոքր ընկույզ: Այնուհետև ամրացրեք սենսորը այդ միակցիչի վրա ՝ օգտագործելով L ձևի փակագիծ կամ համապատասխան եղանակ: Ամբողջ համակարգից հետո մենք ամրացվեցինք տախտակի վրա: Բայց դուք կարող եք օգտագործել այլ մակերես `servo և Magicbit տեղադրելու համար:
Քայլ 4: Softwareրագրաշարի տեղադրում
Softwareրագրային ապահովման կողմը փոքր -ինչ բարդ է: Properիշտ հասկանալու համար կարող եք հղում կատարել հետևյալ հղումներին ՝ հաջորդ մասին անցնելուց առաջ:
magicbit-arduino.readthedocs.io/hy/latest/
hello.processing.org/editor/
Եկեք նայենք Arduino IDE կոդին և ինչպես է աշխատում այդ կոդը:
Սերվո վարելու համար մենք օգտագործում ենք ESP32 servo գրադարանը: Այս գրադարանը գրեթե ներառում է Arduino IDE- ի կախարդական բիթի տախտակի կառավարիչ: Ուլտրաձայնային տվիչով զբաղվելու համար մենք օգտագործում ենք newPing գրադարանը: Սա կարելի է ներբեռնել հետևյալ հղումից:
bitbucket.org/teckel12/arduino-new-ping/do…
Ներբեռնեք zip ֆայլը և գնացեք գործիքներ> ներառեք գրադարան> ավելացրեք Zip գրադարան Arduino- ում: այժմ ընտրեք ձեր նոր ներբեռնված zip ֆայլը ՝ նոր գրադարանի: Մշակման հետ հաղորդակցվելու համար մենք օգտագործեցինք սերիական հաղորդակցություն 115200 բաուդ արագությամբ: Սա ESP32- ի առավել համապատասխան հաճախականությունն է: Ամեն տեսանկյունից մենք մեր տվյալները փոխանցում ենք համակարգչին ՝ օգտագործելով այս արձանագրությունը: Այս տվյալների մեջ ներառված են սենսորից մոտակա առջևի օբյեկտի հեռավորությունը, պտույտի ուղղությունը և պտտման անկյունը: Օգտագործելով երկու օղակ `մենք մեր սերվոն պտտում ենք երկու ուղղությամբ: Մինչ մեկ աստիճանի պտույտը մենք սերիական տվյալներ ենք ուղարկել 4 անգամ: Դրա պատճառը կարող եք հասկանալ մասի բացատրությունը մշակելիս:
Հիմա ժամանակն է նայելու մշակման միջավայրին: Սա Java ծրագրավորման ծրագրակազմ է: Մենք կարող ենք գրել այս ծրագրի ուրվագիծը IDE- ի մշակման այս ուրվագծում: Մենք կարող ենք նաև տեսողական արդյունք ստեղծել մեր ծրագրի գործարկումից: Նաև կարող եք ելք վերցնել որպես 2D և 3D օբյեկտներ: Ոչ միայն դա, այն կարող է օգտագործվել պատկերի մշակման և շատ այլ բաների համար:
Մշակման ուրվագծում մենք նախ նախագծում ենք մեր տվյալների ցուցադրման ինտերֆեյսը `օգտագործելով պարզ գրաֆիկական գործառույթներ: Կոդի սկզբում մենք հաստատում ենք մեր սերիական հաղորդակցությունը `ներառելով սերիական գրադարանները: Կարգավորման գործառույթում դուք պետք է որոշ փոփոխություններ կատարեք ՝ ըստ որի USB պորտից եք օգտվել Magicbit- ը համակարգչին միացնելու համար: Դուք կարող եք ստուգել ձեր նավահանգիստը ՝ օգտագործելով Arduino IDE- ն, երբ Arduino IDE- ն կարգավորում եք ծածկագիրը վերբեռնելու համար: Այնուհետև փոխեք com նավահանգստի անվանումը մշակման ուրվագծի մշակման մասում: երբ սերիական տվյալները հասանելի են, Serialevent գործառույթը ինքնաբերաբար գործարկվում է: Հետևաբար, ծածկագրի հիմնական տրամաբանությունը ներառված է սերիական իրադարձության մեջ `անկյունները և տվյալների բացակայությունը կանխելու համար: երբ նոր տվյալներ կան, մենք գծում ենք էկրանին `ըստ մեր տեսանկյունի: Այդ ժամանակ, եթե օբյեկտ չկա, ապա ամբողջական գիծը կանաչ է: Եթե ոչ, գծի որոշ հատվածը կարմիր կլինի ՝ կախված սենսորից մինչև առարկա հեռավորությունը: Բացի այդ, ըստ պտույտի ուղղության, մենք գծի մոտ 200 գծեր ենք գծում `կանաչ գույնի նվազման մակարդակով: յուրաքանչյուր Հիմնականի միջև մենք ունենք 0.25 աստիճանի տարբերություն: Այսպիսով, մենք ստանում ենք 4 ընթերցում միաժամանակ Magicbit- ից յուրաքանչյուր աստիճանի պտույտով: Դրա շնորհիվ մենք կարող ենք ստեղծել գեղեցիկ որոնման ձեռքի էկրան:
Կոդի հաջողությունն ամբողջությամբ կախարդական և սարքավորումների հատվածը վերբեռնելուց հետո հաջողությամբ բացեք մշակման IDE- ն և գործարկեք կոդը `կտտացնելով գործարկման կոճակին: Այժմ դուք ունեք շատ պարզ ռադարային համակարգ:
Դուք կարող եք հարմարեցնել ծածկագրերը, ինչպես ցանկանում եք, այն, ինչ ցանկանում եք ցուցադրել:
Քայլ 5: Խնդիրների վերացում:
Էսքիզը մշակվում է:
- Սպասեք որոշ ժամանակ: Գործարկման ժամանակը կախված է ձեր համակարգչի և GPU- ի կատարումից:
- Էսքիզ մշակելիս ստուգեք, որ սերիայի պորտի համարը ճիշտ է:
- Ստուգեք, որ USB կապը ճիշտ է ամրագրված:
- Ստուգեք ուլտրաձայնային տվիչի և Magicbit- ի միջև կապը:
- Բացեք սերիական մոնիտորը և ստուգեք, որ տվյալները գալիս են Arduino- ից: Եթե ոչ, ապա խնդիրը ձեր Arduino կոդն է կամ ձեր USB միացումն է:
Սերվոն չի աշխատում:
- Ստուգեք, որ USB կապը ճիշտ է ամրագրված:
- Ստուգեք էլեկտրագծերը:
- Ստուգեք, որ servo- ն լավ վիճակում է:
Քայլ 6: Arduino կոդ
#ներառում
#սահմանել TRIGGER_PIN 21 #սահմանել ECHO_PIN 22 #սահմանել MAX_DISTANCE 200 NewPing սոնար (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #ներառել // ներառել servo գրադարան int distance; Servo RadarServo; void setup () {Serial.begin (115200); RadarServo.attach (26); // Սահմանում է, թե որ քորոցի վրա է տեղադրված սերվո շարժիչի հետաձգումը (3000); } void loop () {// պտտեց servo շարժիչը 15 -ից 165 աստիճանով (int i = 0; i <= 180; i ++) {RadarServo.write (i); ուշացում (50); distance = sonar.ping_cm (); // sանգահարում է գործառույթ `յուրաքանչյուր աստիճանի համար ուլտրաձայնային տվիչով չափվող հեռավորությունը հաշվարկելու համար (int j = 0; j0) {ընդմիջում; } Serial.print (i); // Ուղարկում է ընթացիկ աստիճանը Serial. Port Serial.print (","); // Ուղարկում է լրացուցիչ նիշ անմիջապես հաջորդ արժեքի կողքին, որը անհրաժեշտ է մշակման IDE- ում `Serial.print (j) ինդեքսավորման համար; // Ուղարկում է ընթացիկ աստիճանը Serial Port Serial.print ("*"); Serial.print (1); // Ուղարկում է հեռավորության արժեքը Սերիական նավահանգստի Serial.print ("/"); // Ուղարկում է հավելյալ նիշ անմիջապես հաջորդ արժեքի կողքին, որն անհրաժեշտ է հետագայում Processing IDE- ում Serial.print (հեռավորություն) ինդեքսավորման համար; // Հեռավորության արժեքն ուղարկում է Serial. Port Serial.print ("."); // Ուղարկում է հավելյալ նիշ անմիջապես ինդեքսավորման համար մշակման IDE- ում անհրաժեշտ նախկին արժեքի կողքին}} // Կրկնում է նախորդ տողերը 165-ից մինչև 15 աստիճան (int i = 180; i> = 0; i-) {RadarServo.գրեք (i); ուշացում (50); հեռավորություն = sonar.ping_cm (); համար (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {շարունակել; } Serial.print (i); // Ուղարկում է ընթացիկ աստիճանը Serial. Port Serial.print (","); // Ուղարկում է լրացուցիչ նիշ անմիջապես հաջորդ արժեքի կողքին, որը անհրաժեշտ է մշակման IDE- ում `Serial.print (j) ինդեքսավորման համար; // Ուղարկում է ընթացիկ աստիճանը Serial Port Serial.print ("*"); Serial.print (-1); // Ուղարկում է հեռավորության արժեքը Սերիական նավահանգստի Serial.print ("/"); // Ուղարկում է հավելյալ նիշ անմիջապես հաջորդ արժեքի կողքին, որն անհրաժեշտ է հետագայում Processing IDE- ում Serial.print (հեռավորություն) ինդեքսավորման համար; // Հեռավորության արժեքն ուղարկում է Սերիական նավահանգստի Serial.print ("."); // Ուղարկում է լրացուցիչ նիշ անմիջապես ինդեքսավորման համար Processing IDE- ում հետագայում անհրաժեշտ նախորդ արժեքի կողքին}}
}
Խորհուրդ ենք տալիս:
«Մոխրագույն հարցի մինիոն» ռադիոտեղորոշիչ ՝ 5 քայլ
«Մոխրագույն հարց» ռադիոտեղորոշիչ. Եկեք պատրաստենք հիանալի ռադար … օգտագործելով arduino- ն: funվարճացեք տղաներին
Ինտերակտիվ ռադիոտեղորոշիչ պատ ՝ 5 քայլ
Ինտերակտիվ ռադիոտեղորոշիչ պատ. Ինտերակտիվ ռադիոտեղորոշիչ պատը բազմահպման համակարգերից է: Այն հիմնված է համակարգչային տեսողության տեխնոլոգիայի վրա, ստանում և ճանաչում է մարդու մատի շարժումը պրոյեկցիոն տարածքի վրայով (պատուհաններ կամ գրասեղաններ): Naturalեստերի վերաբերմունքի վերահսկման բնական ծրագրակազմով ՝
DIY ռադիոտեղորոշիչ համակարգ `օգտագործելով ուլտրաձայնային տվիչ` 3 քայլ
DIY ռադիոտեղորոշիչ համակարգ ՝ օգտագործելով ուլտրաձայնային սենսոր
Husveti Nyuszi ռադիոտեղորոշիչ ՝ 4 քայլ
Husveti Nyuszi Radar: Egy kedves husvéti játék és dekorácio: Arduinoval és távolság érzékelőve ami két szervot és ledeket vezérelnek
Ուլտրաձայնային ռադիոտեղորոշիչ `օգտագործելով Arduino Nano- ն և սերիական գծագրիչ. 10 քայլ
Ուլտրաձայնային ռադիոտեղորոշիչ ՝ օգտագործելով Arduino Nano և Serial Plotter: այս նախագծի արդյունքը տեսանելի կլինի սերիական գծագրիչի մոնիտորի վրա