Satura rādītājs:

3. projekts: SonarDuino: 9 soļi
3. projekts: SonarDuino: 9 soļi

Video: 3. projekts: SonarDuino: 9 soļi

Video: 3. projekts: SonarDuino: 9 soļi
Video: Science project for class 7th students working model Easy science exhibition projects class 2024, Septembris
Anonim
Image
Image

Cienījamais kolēģis hobijs, Šajā projektā mēs izpētīsim iespēju izveidot 360 grādu radaru sistēmu objektu noteikšanai. Ja šis modulis ir iestatīts atsevišķi, jūsu pārvietošanās robots varēs noteikt apkārtnes robežas. Tas var kalpot arī kā navigācijas līdzeklis tumsā, bet tikai tad, kad staigājat pietiekami lēni

1. darbība. Kas jums būs nepieciešams

Sagatavojiet ultraskaņas sensora atbalstu
Sagatavojiet ultraskaņas sensora atbalstu

Lai izveidotu šo konstrukciju, jums būs jāiegādājas:

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ēšanas dēļi: 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 Motors: 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 un dažādi

Ultraskaņas sensori: 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. darbība: dokumentācija

Tā kā daži no jums to jau var zināt, šis projekts ir iedvesmots no cita atvērtā pirmkoda projekta ar nosaukumu “Arduino Radar Project”, ko Dejans veidojis no “How to Mechatronics” @ pēc šīs saites: https://howtomechatronics.com/projects/arduino -radar-projekts/

Vēl viens jautājums, kam nepieciešama dokumentācija, ir jūsu attīstības vidē lejupielādēt šādas divas bibliotēkas:

Adafruit-GFX bibliotēka:

Adafruit_SSD1306:

Tas nozīmē, ka, lai patiešām saprastu C kodu, jums būs jāveic dokumentācija par abām iepriekš minētajām bibliotēkām. Izņemot to, funkcijām, kuras izmantoju savā kodā, ir nosaukumi, kas norāda uz to, ko viņi dara.

3. darbība: sagatavojiet ultraskaņas sensora atbalstu

Sagatavojiet ultraskaņas sensora atbalstu
Sagatavojiet ultraskaņas sensora atbalstu
Sagatavojiet ultraskaņas sensora atbalstu
Sagatavojiet ultraskaņas sensora atbalstu
Sagatavojiet ultraskaņas sensora atbalstu
Sagatavojiet ultraskaņas sensora atbalstu

Paņemiet jebkuru kartona gabalu un sagrieziet to atbilstoši sensoram pievienoto kabeļu izmēriem, kā parādīts pirmajā attēlā. Pēc tam salieciet šo pēdējo un pielīmējiet to pie servomotoru balsta. Kad tas ir izdarīts, pielīmējiet abus ultraskaņas sensorus saskaņā ar pēdējo attēlu. Ņemiet vērā, ka sensoru galvenei jābūt pielodētai tā, lai kabeļi sensora priekšā varētu iziet uz āru. Tas ļaus sensoru kabeļiem netraucēt viens otram, kad tiek īstenota 360 grādu rotācija.

4. solis: uzstādiet visu prototipēšanas plāksnē

Uzstādiet visu prototipēšanas plāksnē
Uzstādiet visu prototipēšanas plāksnē
Uzstādiet visu prototipēšanas plāksnē
Uzstādiet visu prototipēšanas plāksnē
Uzstādiet visu prototipēšanas plāksnē
Uzstādiet visu prototipēšanas plāksnē

Šajā solī jūs vispirms uzstādīsit iepriekšējā solī sagatavoto galveni attiecīgajā servomotorā. Kad servomotors ir rūpīgi pieradināts, jūs visu saliksit prototipēšanas plāksnē. Jūs sāksiet ar Arduino Nano lodēšanu, pēc tam pielīmējot servo blakus tam. Visbeidzot, jūs lodēsiet mazo OLED displeju tāfeles otrā malā.

5. darbība: gala savienojumu izveide

Galīgo savienojumu izveide
Galīgo savienojumu izveide
Galīgo savienojumu izveide
Galīgo savienojumu izveide
Galīgo savienojumu izveide
Galīgo savienojumu izveide

Šis solis noslēgs šī projekta aparatūras pusi. Lai izveidotu visus nepieciešamos savienojumus, jums jāievēro norādītās shēmas.

6. darbība: programmas palaišana

Programmas palaišana
Programmas palaišana

Ir divi kodi, kas jums būs nepieciešami sāknēšanai

Arduino (C):

Apstrāde (java):

Palaižot kodu, jums būs jāizvēlas divas iespējas:

1. iespēja: izmantojot OLED displeju, C kodā mainīgais MODE būs jāiestata uz 0.

2. iespēja. Izmantojot savu monitoru, C kodā mainīgais MODE būs jāiestata uz 1. Turklāt jums būs jālejupielādē un jāinstalē Processing izstrādes vide un jālejupielādē radara fonts no šīs saites: https:// github.com/lastralab/ArduinoRadar/blob/ma…

Un pievienojiet šo failu apstrādes koda failam, lai java kods atpazītu fontu pēc izsaukšanas.

7. darbība: izpratne par C kodu

C kodeksa izpratne
C kodeksa izpratne

Kods sastāv galvenokārt no divām cilpām “par”. Viens ir saistīts ar piespēli uz priekšu, bet otrs - ar piespēli atpakaļ. Abu iekšpusē daudzas reizes tiek izsaukta galvenā funkcija draw_scanner (), kas uz ekrāna uzzīmēs radara līnijas. Pēc vairāku konfigurāciju pārbaudes es nonācu pie secinājuma, ka mums ir jāpārraksta baltās radara līnijas laikā t ar tām pašām radara līnijām melnā krāsā laikā t+1, lai tās izdzēstu. Pretējā gadījumā ikreiz, kad iztīrāt displeju, izmantojot funkciju “clearDisplay ()”, pirms jaunā pikseļu režģa nospiešanas parādās mirgošana. Dizaina nolūkos man bija jāsaglabā un jānodod veselu skaitļu masīvs, kurā katrs elements apzīmē rādiusu starp radara centru līdz atklātajam objektam, ja tāds ir. Paturot to prātā, pārējā koda izpratnei jābūt tiešai.

8. darbība: Java koda izpratne

Apstrādājot, man bija jāapiet funkciju izsaukums serialEvent (), kas darbojas tikai ar seriālajiem portiem ar nosaukumu COM. Strādājot ar Mac, mani seriālie porti tika nosaukti ar citu nosaukumu. To sakot, es izpakoju šo funkciju galvenajā funkcijā, apstrādājot “draw ()”. Kas attiecas uz visu pārējo, es esmu atjauninājis lietojumprogrammu, lai tā atbilstu pilnam revolūcijas dizainam. Visbeidzot, es atjaunināju visas uzzīmētās formas un tekstus, ņemot vērā ekrāna platumu, lai gala produkts atbilstu dažādām ekrāna izšķirtspējām. Es personīgi to pārbaudīju gan 1000X1000, gan 500X500 izšķirtspējā, un tas strādāja labi:).

9. solis. Secinājums

Šo darbu var uzlabot līdz 3 ultraskaņas sensoriem, katrs ar 120 skata leņķi vai pat 4 sensoriem (90 grādi*4) -> ātrāk par 360 grādiem. skenēt.

Varat arī paplašināt radara diapazonu no 40 cm līdz 60 cm vai pat 80 cm. Esmu personīgi pārbaudījis pulseIn funkciju un pielāgojis TIMEOUT mainīgo attiecībā pret 40 cm. Šis mainīgais ir atkarīgs no daudziem faktoriem, ieskaitot impulsa nosūtīšanas ilgumu un objekta virsmu, kur impulss tiek atspoguļots.

Visbeidzot, kā minēts iepriekš, nākamais solis ir radarDuino iekļaušana pārvietošanās robotā, lai skenētu apkārtējo perimetru.

Ieteicams: