Indholdsfortegnelse:
- Trin 1: Hvad du får brug for
- Trin 2: Dokumentation
- Trin 3: Forbered understøttelse af ultralydssensorer
- Trin 4: Monter alt i et prototypebord
- Trin 5: Lav de sidste forbindelser
- Trin 6: Opstart af programmet
- Trin 7: Forståelse af C -koden
- Trin 8: Forståelse af Java -koden
- Trin 9: Konklusion
Video: Projekt 3: SonarDuino: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Kære kollega Hobbyist, I dette projekt vil vi undersøge muligheden for at have et 360 graders radarsystem til objektdetektering. Hvis dette modul er indstillet separat, vil din bevægelsesrobot kunne registrere grænserne for sine omgivelser. Det kan også fungere som et navigationsværktøj i mørke, men kun når du går langsomt nok; s
Trin 1: Hvad du får brug for
For at lave denne build skal du købe følgende:
Arduino Nano: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAOSwvYZZpOl0: rk: 2: pf: 0
Prototypebord: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2cb8a70ef4:g:cQ4AOSw ~ Zbl232: rk: 13: pf: 0
Servomotorer: 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
Ultralydssensorer: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=item27ca47f5fd: ~ IAAOSw-xbD5Fp: rk: 2: pf: 0
Trin 2: Dokumentation
Da nogle af jer måske allerede ved dette, er dette projekt inspireret af et andet open source-projekt kaldet "Arduino Radar Project" lavet af Dejan fra "How to Mechatronics" @ følgende link: https://howtomechatronics.com/projects/arduino -radar-projekt/
Et andet punkt, der kræver dokumentation, er at downloade følgende to biblioteker til dit udviklingsmiljø:
Adafruit-GFX-bibliotek:
Adafruit_SSD1306:
Dette er sagt, for virkelig at forstå C -koden skal du lave noget dokumentation for begge ovenstående biblioteker. Bortset fra det har de funktioner, jeg brugte i min kode, navne, der er talende for, hvad de gør.
Trin 3: Forbered understøttelse af ultralydssensorer
Tag et stykke karton og skær det i overensstemmelse med dimensionen af de tilslutningskabler, der er fastgjort til sensoren, som vist på det første billede. Derefter foldes det sidste og limes til servomotorstøtten. Når det er gjort, limes de to ultralydssensorer i henhold til det sidste billede. Bemærk, at sensorenes overskrift skal loddes på en måde, så kablerne går udad foran sensoren. Dette gør det muligt for sensorkablerne ikke at forstyrre hinanden, når 360 graders rotation er implementeret.
Trin 4: Monter alt i et prototypebord
I dette trin starter du med at montere headeren, der var forberedt i det foregående trin, i dens respektive servomotor. Når servomotoren er omhyggeligt vant, monterer du alt sammen i et prototypebord. Du starter med at lodde Arduino Nano og derefter lime servoen lige ved siden af den. Endelig lodder du det lille OLED -display i den anden kant af brættet.
Trin 5: Lav de sidste forbindelser
Dette trin afslutter hardwaresiden af dette projekt. Du bliver nødt til at følge de medfølgende skemaer for at etablere alle de nødvendige forbindelser.
Trin 6: Opstart af programmet
Der er to koder, du skal starte
Arduino (C):
Behandling (java):
Når du kører koden, har du to muligheder at vælge imellem:
Mulighed 1: Brug OLED -displayet til det, skal du indstille variablen MODE i C -koden til 0.
Mulighed 2: Brug af din skærm, til det skal du indstille variablen MODE i C -koden til 1. Derudover skal du downloade og installere Processing -udviklingsmiljø og downloade radarskrifttypen fra dette link: https:// github.com/lastralab/ArduinoRadar/blob/ma…
Og tilføj den fil til din behandlingskodefil, så din java -kode genkender skrifttypen, når den kaldes.
Trin 7: Forståelse af C -koden
Koden består hovedsageligt af to 'for' -sløjfer. Den ene er korreleret med den fremadrettede pasning, mens den anden er med den bagudgående pasning. Inde i dem begge kaldes hovedfunktionen draw_scanner (), der vil tegne radarens linjer ind på skærmen, mange gange. Efter at have testet flere konfigurationer kom jeg til den konklusion, at vi er nødt til at overskrive de hvide radarlinjer på tidspunktet t med de samme radarlinjer i sort på tidspunktet t+1 for at slette dem. Hvis ikke ville det forekomme flimmer hver gang du rengør skærmen ved hjælp af funktionen "clearDisplay ()", før du skubber til det nye pixelgitter. Da jeg havde at gøre med 7 linjer- til designformål- var jeg nødt til at blive ved med at gemme og videregive et heltal array af 7 elementer, hvor hvert element står for radius mellem radarens centrum til det detekterede objekt, hvis nogen. Med dette i tankerne skal resten af koden være lige til at forstå.
Trin 8: Forståelse af Java -koden
I Processing var jeg nødt til at omgå funktionsopkaldet til serialEvent (), som kun fungerer med serielle porte med navnet COM. Da jeg arbejdede på en Mac, kom mine serielle porte under et andet navn. Når det er sagt, pakkede jeg den funktion ud i hovedfunktionen i behandlingen af "draw ()". Med hensyn til alt andet har jeg opdateret applikationen til at opfylde hele revolutionens design. Endelig opdaterede jeg alle de tegnede former og tekster med hensyn til skærmens bredde, så det endelige produkt passer til forskellige skærmopløsninger. Jeg har personligt testet det for både 1000X1000 og 500X500 opløsninger, og det fungerede fint:).
Trin 9: Konklusion
Dette arbejde kan opgraderes til at have 3 ultralydssensorer, der hver dækker 120 synsvinkel eller endda 4 sensorer (90 grader*4) -> hurtigere 360 grader. scanning.
Du kan også udvide radarens rækkevidde fra 40 cm til 60 cm eller endda 80 cm. Jeg har personligt testet pulseIn -funktionen og justeret TIMEOUT -variablen med hensyn til 40 cm. Denne variabel afhænger af mange faktorer, herunder længden af pulssendelsen og overfladen af objektet, hvor pulsen reflekteres.
Endelig som nævnt før, er det næste trin at inkorporere radarDuino med en bevægelsesrobot for at scanne den omgivende omkreds.
Anbefalede:
(IOT -projekt) Få vejrdata ved hjælp af ESP8266 og Openweather API: 5 trin
(IOT -projekt) Få vejrdata ved hjælp af ESP8266 og Openweather API: I denne instruktive skal vi bygge et simpelt IOT -projekt, hvori vejrdataene i vores by hentes fra openweather.com/api og vises ved hjælp af Processing software
Dopaminkasse - et projekt, der ligner Mike Boyd - Ikke at være Mike Boyds: 9 trin
Dopaminkasse | et projekt, der ligner Mike Boyd - Ikke at være Mike Boyds: Jeg vil have en! Jeg har brug for en! Jeg er en udsættelse! Jeg vil have en dopaminkasse … Uden at skulle programmere. Ingen lyde, bare ren vilje
Bluetooth50g - et Upcycle -projekt til en ødelagt HP50G -lommeregner .: 7 trin
Bluetooth50g - et Upcycle -projekt til en ødelagt HP50G -lommeregner .: De ledende stier til displayet er brudt på grund af batterilækage. Batteriet lækker og tærer på stierne. Regnemaskinen fungerer i sig selv, men resultaterne vises ikke på skærmen (kun lodrette linjer). Systemet emulerer et bluetooth -tastatur og
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
USB -drevet brænder! Dette projekt kan brænde igennem plastik / træ / papir (sjovt projekt skal også være meget fint træ): 3 trin
USB -drevet brænder! Dette projekt kan brænde igennem plastik / træ / papir (sjovt projekt skal også være meget fint træ): GØR IKKE DETTE MED USB !!!! Jeg fandt ud af, at det kan beskadige din computer fra alle kommentarerne. min computer har det fint. Brug en 600ma 5v telefonoplader. jeg brugte dette, og det fungerer fint, og intet kan blive beskadiget, hvis du bruger et sikkerhedsstik til at stoppe strømmen