Turinys:
- 1 žingsnis: ko jums reikės
- 2 žingsnis: Dokumentacija
- 3 žingsnis: Paruoškite ultragarso jutiklio palaikymą
- 4 žingsnis: sumontuokite viską į prototipų plokštę
- 5 žingsnis: galutinių jungčių užmezgimas
- 6 veiksmas: programos paleidimas
- 7 žingsnis: C kodo supratimas
- 8 žingsnis: „Java“kodo supratimas
- 9 žingsnis: Išvada
Video: 3 projektas: „SonarDuino“: 9 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Gerbiamas kolega mėgėjas, Šiame projekte mes išnagrinėsime galimybę turėti 360 laipsnių radaro sistemą objektų aptikimui. Jei šis modulis bus nustatytas atskirai, judėjimo robotas galės aptikti jo aplinkos ribas. Jis taip pat gali tarnauti kaip navigacijos priemonė tamsoje, bet tik tada, kai einate pakankamai lėtai; p
1 žingsnis: ko jums reikės
Norėdami sukurti šią konstrukciją, turėsite nusipirkti:
„Arduino Nano“: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAOSwvYZZpOl: rk: 2: pf: 0
Prototipų sudarymo lentos: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item4cos:a ~ Zbl232: rk: 13: pf: 0
Servo varikliai: https://www.ebay.com/itm/5pcs-POP-9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Car-Boat/142931003420?hash=item21475a081c:rk: 16: pf: 0 ir var
Ultragarso jutikliai: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=item27ca47f5f ~ IAAOSw-xbD5Fp: rk: 2: pf: 0
2 žingsnis: Dokumentacija
Kaip kai kurie iš jūsų tai jau žinote, šis projektas įkvėptas kito atviro kodo projekto „Arduino Radar Project“, kurį sukūrė Dejanas iš „How to Mechatronics“@ šią nuorodą: https://howtomechatronics.com/projects/arduino -radaro projektas/
Kitas dalykas, kurį reikia dokumentuoti, yra atsisiųsti šias dvi bibliotekas į savo kūrimo aplinką:
„Adafruit-GFX“biblioteka:
„Adafruit_SSD1306“:
Tai sakant, kad tikrai suprastumėte C kodą, turėsite atlikti abiejų aukščiau išvardytų bibliotekų dokumentaciją. Išskyrus tai, mano kode naudojamos funkcijos turi pavadinimus, kurie parodo, ką jie daro.
3 žingsnis: Paruoškite ultragarso jutiklio palaikymą
Paimkite bet kokį kartono gabalėlį ir supjaustykite jį pagal jungiamųjų kabelių, pritvirtintų prie jutiklio, matmenis, kaip parodyta pirmame paveikslėlyje. Po to paskutinį kartą sulenkite ir priklijuokite prie servo variklio atramos. Kai tai bus padaryta, priklijuokite du ultragarso jutiklius pagal paskutinę nuotrauką. Atminkite, kad jutiklių antraštė turi būti lituota taip, kad kabeliai priešais jutiklį galėtų išeiti į išorę. Tai leis jutiklių kabeliams netrukdyti vienas kitam, kai bus sukamas 360 laipsnių kampas.
4 žingsnis: sumontuokite viską į prototipų plokštę
Šiame etape pradėsite montuoti ankstesniame žingsnyje paruoštą antraštę į atitinkamą servo variklį. Kai servo variklis bus kruopščiai pripratęs, viską sumontuosite į prototipų plokštę. Pradėsite lituodami „Arduino Nano“, tada klijuokite servo prie jo. Galiausiai lituosite mažą OLED ekraną kitame plokštės krašte.
5 žingsnis: galutinių jungčių užmezgimas
Šis žingsnis užbaigs šio projekto aparatinę pusę. Norėdami nustatyti visus reikalingus ryšius, turėsite vadovautis pateiktomis schemomis.
6 veiksmas: programos paleidimas
Yra du kodai, kuriuos turėsite paleisti
„Arduino“(C):
Apdorojama (java):
Vykdydami kodą turėsite dvi parinktis:
1 variantas: naudodami OLED ekraną, C kodo kintamąjį MODE turėsite nustatyti į 0.
2 variantas: Naudodami monitorių, C kodo kintamąjį MODE turėsite nustatyti į 1. Be to, turėsite atsisiųsti ir įdiegti apdorojimo kūrimo aplinką ir atsisiųsti radaro šriftą iš šios nuorodos: https:// github.com/lastralab/ArduinoRadar/blob/ma…
Ir pridėkite tą failą prie savo apdorojimo kodo failo, kad jūsų „Java“kodas atpažintų šriftą, kai jis bus iškviestas.
7 žingsnis: C kodo supratimas
Kodą daugiausia sudaro dvi kilpos „už“. Vienas yra susijęs su perdavimu į priekį, o kitas - su atbuline eiga. Jų abiejų viduje daug kartų vadinama pagrindinė funkcija draw_scanner (), kuri ant ekrano nubrėžs radaro linijas. Išbandęs kelias konfigūracijas, priėjau prie išvados, kad turime ištrinti baltas radaro linijas tuo metu t tomis pačiomis radaro linijomis juodos spalvos metu t+1, kad jas ištrintume. Priešingu atveju, kiekvieną kartą išvalydami ekraną naudodami funkciją „clearDisplay ()“prieš stumdami naują pikselių tinklelį, mirksėsite. Kadangi aš susidūriau su 7 eilutėmis- projektavimo tikslais- turėjau išsaugoti ir perduoti sveikų skaičių 7 elementų masyvą, kur kiekvienas elementas reiškia spindulį tarp radaro centro iki aptikto objekto, jei toks yra. Turint tai omenyje, likusi kodo dalis turėtų būti suprantama tiesiai.
8 žingsnis: „Java“kodo supratimas
Perdirbdamas turėjau apeiti serialEvent () funkcijos iškvietimą, kuris veikia tik su nuosekliais prievadais, pavadintais COM. Kai dirbau su „Mac“, mano nuoseklieji prievadai buvo pavadinti kitu pavadinimu. Be to, aš išpakavau šią funkciją į pagrindinę funkciją „draw ()“. Kalbant apie visa kita, atnaujinau programą, kad atitiktų visą revoliucijos dizainą. Galiausiai atnaujinau visas nupieštas figūras ir tekstus atsižvelgiant į ekrano plotį, kad galutinis produktas atitiktų skirtingas ekrano skyras. Aš asmeniškai išbandžiau tiek 1000X1000, tiek 500X500 rezoliucijas, ir tai gerai veikė:).
9 žingsnis: Išvada
Šį darbą galima atnaujinti ir turėti 3 ultragarsinius jutiklius, kurių kiekvienas apima 120 matymo kampą, arba net 4 jutiklius (90 laipsnių*4) -> greitesnius 360 laipsnių. nuskaityti.
Taip pat galite išplėsti radaro diapazoną nuo 40 cm iki 60 cm ar net 80 cm. Aš asmeniškai išbandžiau „pulseIn“funkciją ir pakoregavau TIMEOUT kintamąjį 40 cm atžvilgiu. Šis kintamasis priklauso nuo daugelio veiksnių, įskaitant impulsų siuntimo ilgį ir objekto paviršių, kuriame impulsas atsispindi.
Galiausiai, kaip minėta anksčiau, kitas žingsnis yra įtraukti radarDuino su judėjimo robotu, kad būtų galima nuskaityti aplinkinį perimetrą.
Rekomenduojamas:
Linijos sekėjas „HoGent“- „Synthese“projektas: 8 žingsniai
Linijos sekėjas HoGent - Syntheseproject: Voor het vak syntheseproject kregen we de opdracht een linefollower te maken. In deze instructable zal ik uitleggen hoe ik deze gemaakt heb, en tegen welke problemen ik o.a ben aangelopen
Gimbalo stabilizatoriaus projektas: 9 žingsniai (su nuotraukomis)
„Gimbal Stabilizer Project“: kaip padaryti gimbalą Sužinokite, kaip padaryti 2 ašių gimbalą jūsų veiksmo kamerai. Šiandienos kultūroje mes visi mėgstame įrašyti vaizdo įrašus ir užfiksuoti akimirkas, ypač kai esate turinio kūrėjas, kaip aš, tikrai susidūrėte su problema toks neramus video
(IOT projektas) Gaukite orų duomenis naudodami ESP8266 ir „Openweather“API: 5 žingsniai
(IOT projektas) Gaukite orų duomenis naudodami ESP8266 ir „Openweather“API: Šioje instrukcijoje mes sukursime paprastą IOT projektą, kurio metu iš mūsų svetainės „openweather.com/api“nuskaitysime orų duomenis ir parodysime juos naudodami apdorojimo programinę įrangą
Dopamino dėžutė - projektas, panašus į Mike'ą Boydą - nebūti Mike'o Boydo: 9 žingsniai
Dopamino dėžutė | projektas, panašus į Mike'ą Boydą - nebūti Mike'o Boydo: aš noriu vieno! Man reikia vieno! Aš esu atidėliojantis! Na, aš noriu dopamino dėžutės … Nereikia programuoti. Jokių garsų, tik gryna valia
USB degiklis! Šis projektas gali sudegti per plastiką / medieną / popierių (įdomus projektas taip pat turi būti labai plonas medis): 3 žingsniai
USB degiklis! Šis projektas gali sudegti per plastiką / medieną / popierių (įdomus projektas taip pat turi būti labai plonas medis): NEDARYKITE ŠIO NAUDOTI USB! iš visų komentarų sužinojau, kad tai gali pakenkti jūsų kompiuteriui. mano kompiuteris gerai. Naudokite 600 mA 5v telefono įkroviklį. Aš tai naudoju ir jis veikia gerai, ir niekas negali būti sugadintas, jei naudosite apsauginį kištuką, kad sustabdytumėte maitinimą