Sadržaj:
- Korak 1: Šta će vam trebati
- Korak 2: Dokumentacija
- Korak 3: Pripremite podršku za ultrazvučni senzor
- Korak 4: Montirajte sve u ploču za izradu prototipa
- Korak 5: Uspostavljanje konačnih veza
- Korak 6: Pokretanje programa
- Korak 7: Razumijevanje C koda
- Korak 8: Razumijevanje Java koda
- Korak 9: Zaključak
Video: Projekt 3: SonarDuino: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Dragi kolega hobista, U ovom projektu ćemo istražiti mogućnost postojanja radarskog sistema od 360 stepeni za detekciju objekata. Ako ovaj modul postavite zasebno, vaš će lokomotorni robot otkriti granice svog okruženja. Može poslužiti i kao navigacijsko sredstvo u mraku, ali samo ako hodate dovoljno sporo; str
Korak 1: Šta će vam trebati
Da biste napravili ovu konstrukciju, 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:DkoAAOSwvYZZpO: 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=item2cb8a70ef4:gOSA:AOS4Ag4Ag4Asa4Ag4Ag4Ag4sag4Ag:AOS: 4sa ~ 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 već znaju, ovaj projekt je inspiriran drugim projektom otvorenog koda pod nazivom „Arduino radarski projekt“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 biblioteke u vaše razvojno okruženje:
Adafruit-GFX-biblioteka:
Adafruit_SSD1306:
Ovo je rečeno, da biste zaista razumjeli C kod, morate napraviti određenu dokumentaciju obje gore navedene biblioteke. Osim toga, funkcije koje sam koristio u svom kodu imaju imena koja govore o tome šta rade.
Korak 3: Pripremite podršku za ultrazvučni senzor
Uzmite bilo koji komad kartona i izrežite ga prema dimenzijama priključnih kabela pričvršćenih na senzor kao što je prikazano na prvoj slici. Nakon toga preklopite ovo zadnje 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. Ovo će omogućiti da senzorski kabeli ne ometaju jedni druge kada se izvrši rotacija za 360 stepeni.
Korak 4: Montirajte sve u ploču za izradu prototipa
U ovom koraku počet ćete s postavljanjem 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. Započet ćete lemljenjem Arduino Nano -a, a zatim lijepljenjem servo -a pored njega. Na kraju ćete lemiti mali OLED ekran na drugom rubu ploče.
Korak 5: 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
Postoje dva koda koja ćete morati pokrenuti
Arduino (C):
Obrada (java):
Prilikom pokretanja koda imat ćete dvije mogućnosti za izbor:
Opcija 1: Upotrebom OLED ekrana za to ćete morati postaviti varijablu MODE u kodu C na 0.
Opcija 2: Koristeći svoj monitor, 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 sa ove veze: https:// github.com/lastralab/ArduinoRadar/blob/ma…
I dodajte tu datoteku u datoteku koda za obradu tako da vaš java kôd prepozna font kada se pozove.
Korak 7: Razumijevanje C koda
Kôd se sastoji uglavnom od dvije petlje "za". Jedan je u korelaciji sa prolaskom napred, dok je drugi sa prolazom unazad. Unutar njih oboje, glavna funkcija draw_scanner (), koja će nacrtati linije radara na ekranu, 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 sa tim istim radarskim linijama u crno u vrijeme t+1 da bismo ih izbrisali. U suprotnom, treperenje će se pojaviti svaki put kada očistite ekran pomoću funkcije “clearDisplay ()” prije pomicanja nove mreže piksela. Kako sam imao posla sa 7 linija- u svrhe dizajna- morao sam čuvati 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 ovo na umu, ostatak koda bi trebao 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 dobili su drugo ime. 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 ekrana tako da konačni proizvod odgovara različitim rezolucijama ekrana. Osobno sam ga testirao za rezolucije 1000X1000 i 500X500 i dobro je funkcionirao:).
Korak 9: Zaključak
Ovaj rad se može nadograditi na 3 ultrazvučna senzora, svaki pokrivajući kut gledanja od 120, ili čak 4 senzora (90 stepeni*4) -> brže od 360 stepeni. skeniranje.
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 faktorima, uključujući dužinu slanja impulsa i površinu objekta na kojoj se impuls reflektira.
Konačno, kao što je ranije rečeno, sljedeći korak je uključivanje radara Duino s robotom za kretanje za skeniranje okolnog perimetra.
Preporučuje se:
Automatski EKG-BME 305 Završni projekt Dodatni kredit: 7 koraka
Automatski EKG-BME 305 Završni projekt Dodatni kredit: Elektrokardiogram (EKG ili EKG) koristi se za mjerenje električnih signala koje proizvodi srce koje ima otkucaje i igra veliku ulogu u dijagnostici i prognozi kardiovaskularnih bolesti. Neki od podataka dobivenih EKG -om uključuju ritam
Projekt automatizirane zdjele za hranu za kućne ljubimce: 13 koraka
Projekt automatizirane zdjele za hranu za kućne ljubimce: Ova instrukcija će prikazati i objasniti kako izgraditi automatiziranu, programabilnu hranilicu za kućne ljubimce s pričvršćenim zdjelama za hranu. Ovdje sam priložio video koji prikazuje kako proizvodi funkcioniraju i kako izgledaju
(IOT projekt) Dobijte podatke o vremenu pomoću ESP8266 i Openweather API -ja: 5 koraka
(IOT projekt) Dobijte podatke o vremenu pomoću ESP8266 i Openweather API -ja: U ovom uputstvu ćemo izgraditi jednostavan IOT projekt u kojem će dohvatiti vremenske podatke našeg grada s openweather.com/api i prikazati ih pomoću softvera za obradu
Spin Art Turbine Remix projekt: 4 koraka
Spin Art Turbine Remix projekt: Ako ste zainteresirani za spin art, postoji problem i taj problem je što morate držati bušilicu jednom rukom dok slikate drugom. Ovo ponekad može biti neugodno, ali osjećam da sam pronašao rješenje s ovom jednostavnom turbinom možete stvoriti
Burner sa USB pogonom! Ovaj projekt može izgorjeti kroz plastiku / drvo / papir (zabavan projekt također mora biti vrlo fino drvo): 3 koraka
Gorionik sa USB pogonom! Ovaj projekt može izgorjeti kroz plastiku / drvo / papir (zabavan projekt također mora biti od vrlo finog drva): NEMOJTE OVO KORISTITI KORIŠĆENJE USB -a !!!! iz svih komentara saznao sam da može oštetiti vaš računar. moj kompjuter je u redu. Koristite punjač za telefon od 600m 5v. Koristio sam ovo i radi dobro i ništa se ne može oštetiti ako upotrijebite sigurnosni utikač za zaustavljanje napajanja