Sadržaj:

Projekt 3: SonarDuino: 9 koraka
Projekt 3: SonarDuino: 9 koraka

Video: Projekt 3: SonarDuino: 9 koraka

Video: Projekt 3: SonarDuino: 9 koraka
Video: The Expert (Short Comedy Sketch) 2024, Rujan
Anonim
Image
Image

Dragi kolega hobist, U ovom ćemo projektu istražiti mogućnost postojanja radarskog sustava od 360 stupnjeva za otkrivanje objekata. Ako ovaj modul postavite zasebno, vaš će lokomotorni robot otkriti granice svog okruženja. Može poslužiti i kao navigacijski alat u mraku, ali samo ako hodate dovoljno sporo; str

Korak 1: Ono što će vam trebati

Pripremite podršku za ultrazvučni senzor
Pripremite podršku za ultrazvučni senzor

Za izradu ove konstrukcije morat ćete kupiti sljedeće:

Arduino Nano: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Mikrokontroler-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAOSwvYZZO0: rk: 2: pf: 0

Ploče za izradu prototipa: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2cb8a70ef4ggAsA4Ag4Ag:AOS4Ag4AgAA4AgA4AA4AgA4AA4AgA4AA4AgA4AA4AgA4AA4Ag4AA4G: sve: ~ Zbl232: rk: 13: pf: 0

Servo motori: https://www.ebay.com/itm/5pcs-POP-9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Control-Car-Boat/142931003420?hash=item21475a081c:rk: 16: pf: 0 & var

Ultrazvučni senzori: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=item27ca47f5d ~ IAAOSw-xbD5Fp: rk: 2: pf: 0

Korak 2: Dokumentacija

Kao što neki od vas možda to već znaju, ovaj je projekt inspiriran drugim projektom otvorenog koda pod nazivom “Arduino Radar Project” koji je napravio Dejan iz “How to Mechatronics” @ na sljedećoj poveznici: https://howtomechatronics.com/projects/arduino -radar-project/

Još jedna stvar koja zahtijeva dokumentaciju je preuzimanje sljedeće dvije knjižnice u vaše razvojno okruženje:

Adafruit-GFX-Library:

Adafruit_SSD1306:

Ovo je rečeno, da biste doista razumjeli C kod, morate napraviti dokumentaciju obje gore navedene knjižnice. Osim toga, funkcije koje sam koristio u svom kodu imaju nazive koji govore o tome što rade.

Korak 3: Pripremite podršku za ultrazvučni senzor

Pripremite podršku za ultrazvučni senzor
Pripremite podršku za ultrazvučni senzor
Pripremite podršku za ultrazvučni senzor
Pripremite podršku za ultrazvučni senzor
Pripremite podršku za ultrazvučni senzor
Pripremite podršku za ultrazvučni senzor

Uzmite bilo koji komad kartona i izrežite ga prema dimenzijama spojnih kabela pričvršćenih na senzor kao što je prikazano na prvoj slici. Nakon toga preklopite ovo posljednje i zalijepite ga na nosač servo motora. Nakon što to učinite, zalijepite dva ultrazvučna senzora prema posljednjoj slici. Imajte na umu da zaglavlje senzora treba lemiti na način da kabeli idu prema van ispred senzora. To će omogućiti da senzorski kabeli ne ometaju jedan drugog kada se izvrši rotacija za 360 stupnjeva.

Korak 4: Montirajte sve u ploču za izradu prototipa

Montirajte sve u ploču za izradu prototipa
Montirajte sve u ploču za izradu prototipa
Montirajte sve u ploču za izradu prototipa
Montirajte sve u ploču za izradu prototipa
Montirajte sve u ploču za izradu prototipa
Montirajte sve u ploču za izradu prototipa

U ovom koraku počet ćete s ugradnjom zaglavlja pripremljenog u prethodnom koraku u odgovarajući servo motor. Nakon što se servo motor pažljivo navikne, sve ćete zajedno montirati u ploču za izradu prototipa. Za početak ćete lemiti Arduino Nano, a zatim lijepiti servo odmah do njega. Na kraju ćete lemiti mali OLED zaslon na drugom rubu ploče.

Korak 5: Uspostavljanje konačnih veza

Uspostavljanje konačnih veza
Uspostavljanje konačnih veza
Uspostavljanje konačnih veza
Uspostavljanje konačnih veza
Uspostavljanje konačnih veza
Uspostavljanje konačnih veza

Ovaj korak će zaključiti hardversku stranu ovog projekta. Morat ćete slijediti navedene sheme da biste uspostavili sve potrebne veze.

Korak 6: Pokretanje programa

Pokretanje programa
Pokretanje programa

Postoje dva koda koja ćete morati pokrenuti

Arduino (C):

Obrada (java):

Prilikom pokretanja koda imat ćete dvije mogućnosti za izbor:

Opcija 1: Pomoću OLED zaslona za to ćete morati postaviti varijablu MODE u C kodu na 0.

Opcija 2: Korištenje vašeg monitora, za to ćete morati postaviti varijablu MODE u kodu C na 1. Osim toga, morat ćete preuzeti i instalirati razvojno okruženje Processing i preuzeti radarski font s ove veze: https:// github.com/lastralab/ArduinoRadar/blob/ma…

I dodajte tu datoteku u datoteku koda za obradu kako bi vaš java kôd prepoznao font kada se pozove.

Korak 7: Razumijevanje C koda

Razumijevanje C koda
Razumijevanje C koda

Kôd se sastoji uglavnom od dvije petlje "za". Jedan je u korelaciji s prolaskom naprijed, dok je drugi s prolaskom unatrag. Unutar oboje, glavna funkcija draw_scanner (), koja će povući crte radara na zaslon, poziva se više puta. Nakon testiranja više konfiguracija, došao sam do zaključka da moramo prebrisati bijele radarske linije u trenutku t istim tim radarskim linijama u crno u vremenu t+1 kako bismo ih izbrisali. U suprotnom, treperenje će se pojaviti svaki put kada očistite zaslon pomoću funkcije “clearDisplay ()” prije nego pritisnete novu rešetku piksela. Kako sam imao posla sa 7 linija- u svrhu projektiranja- morao sam nastaviti spremati i prosljeđivati cijeli broj od 7 elemenata, gdje svaki element predstavlja radijus između središta radara do otkrivenog objekta, ako ga ima. Imajući to na umu, ostatak koda trebao bi biti jasan za razumijevanje.

Korak 8: Razumijevanje Java koda

U procesu obrade morao sam zaobići poziv funkcije za serialEvent (), koji radi samo sa serijskim portovima pod imenom COM. Dok sam radio na Macu, moji serijski portovi došli su pod drugim imenom. S obzirom na to, raspakirao sam tu funkciju u glavnu funkciju pri obradi "draw ()". Što se tiče svega ostalog, ažurirao sam aplikaciju kako bi zadovoljio dizajn potpune revolucije. Konačno, ažurirao sam sve nacrtane oblike i tekstove s obzirom na širinu zaslona tako da konačni proizvod odgovara različitim rezolucijama zaslona. Osobno sam ga testirao za rezolucije 1000X1000 i 500X500, i dobro je funkcionirao:).

Korak 9: Zaključak

Ovaj se rad može nadograditi na 3 ultrazvučna senzora, od kojih svaki pokriva kut gledanja od 120, ili čak 4 senzora (90 stupnjeva*4) -> brže od 360 stupnjeva. skenirati.

Također možete proširiti domet radara sa 40 cm na 60 cm ili čak 80 cm. Osobno sam testirao funkciju pulseIn i prilagodio varijablu TIMEOUT u odnosu na 40 cm. Ova varijabla ovisi o mnogim čimbenicima, uključujući duljinu slanja impulsa i površinu objekta na kojoj se impuls reflektira.

Konačno, kao što je već rečeno, sljedeći korak je uključivanje radara Duino s robotom za kretanje za skeniranje okolnog opsega.

Preporučeni: