Innehållsförteckning:
- Steg 1: Vad du behöver
- Steg 2: Dokumentation
- Steg 3: Förbered stödet för ultraljudssensorer
- Steg 4: Montera allt i en prototypbräda
- Steg 5: Gör de slutliga anslutningarna
- Steg 6: Starta programmet
- Steg 7: Förstå C -koden
- Steg 8: Förstå Java -koden
- Steg 9: Slutsats
Video: Projekt 3: SonarDuino: 9 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Kära Hobbyist, I detta projekt kommer vi att undersöka möjligheten att ha ett 360 graders radarsystem för objektdetektering. Med denna modul separat kan din rörelserobot upptäcka gränserna för sin omgivning. Det kan också fungera som ett navigationsverktyg i mörker, men bara när du går tillräckligt långsamt; sid
Steg 1: Vad du behöver
För att göra detta bygge måste du köpa följande:
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
Prototyping Boards: 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
Ultraljudssensorer: 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
Steg 2: Dokumentation
Eftersom några av er kanske redan vet detta, är detta projekt inspirerat av ett annat open source-projekt som heter "Arduino Radar Project" som gjorts av Dejan från "How to Mechatronics" @ följande länk: https://howtomechatronics.com/projects/arduino -radar-projekt/
En annan punkt som kräver dokumentation är att ladda ner följande två bibliotek till din utvecklingsmiljö:
Adafruit-GFX-bibliotek:
Adafruit_SSD1306:
Med detta sagt, för att verkligen förstå C -koden måste du göra lite dokumentation av båda ovanstående bibliotek. Förutom det har funktionerna jag använde i min kod namn som är talande för vad de gör.
Steg 3: Förbered stödet för ultraljudssensorer
Ta en kartongbit och klipp den enligt måttet på anslutningskablarna som är fästa på sensorn enligt den första bilden. Vik sedan det sista och limma fast det på servomotorstödet. När det är klart, limma de två ultraljudssensorerna enligt den sista bilden. Observera att sensornas rubrik ska lödas på ett sätt så att kablarna går utåt framför sensorn. Detta gör att sensorkablarna inte kan störa varandra när 360 graders rotation är implementerad.
Steg 4: Montera allt i en prototypbräda
I detta steg börjar du med att montera rubriken som förberetts i föregående steg i dess respektive servomotor. När servomotorn väl är van, monterar du ihop allt till en prototypplatta. Du börjar med att lödda Arduino Nano och sedan limma servon bredvid den. Slutligen kommer du att lödda den lilla OLED -skärmen i andra kanten av brädet.
Steg 5: Gör de slutliga anslutningarna
Detta steg kommer att avsluta hårdvarusidan av detta projekt. Du måste följa den medföljande schemat för att upprätta alla nödvändiga anslutningar.
Steg 6: Starta programmet
Det finns två koder som du måste starta
Arduino (C):
Bearbetning (java):
När du kör koden har du två alternativ att välja mellan:
Alternativ 1: Med OLED -skärmen måste du ställa in variabeln MODE i C -koden till 0.
Alternativ 2: Använd din bildskärm, för det måste du ställa in variabeln MODE i C -koden till 1. Dessutom måste du ladda ner och installera Processing -utvecklingsmiljön och ladda ner radarteckensnittet från den här länken: https:// github.com/lastralab/ArduinoRadar/blob/ma…
Och lägg till den filen i din bearbetningskodfil så att din java -kod känner igen teckensnittet när den anropas.
Steg 7: Förstå C -koden
Koden består huvudsakligen av två "för" -slingor. En är korrelerad med framåtpassningen medan den andra är med bakåtpassningen. Inuti dem båda kallas huvudfunktionen draw_scanner (), som kommer att dra radarnas linjer på skärmen, många gånger. Efter att ha testat flera konfigurationer kom jag fram till att vi måste skriva över de vita radarlinjerna vid tidpunkten t med samma radarlinjer i svart vid tidpunkten t+1 för att radera dem. I annat fall skulle flimmer uppstå varje gång du rengör skärmen med funktionen "clearDisplay ()" innan du trycker på det nya pixelnätet. När jag hade att göra med 7 rader- för designändamål- var jag tvungen att fortsätta spara och passera heltalsserie med 7 element, där varje element står för radien mellan radarens centrum till det detekterade objektet, om det finns något. Med detta i åtanke bör resten av koden vara rakt fram för att förstå.
Steg 8: Förstå Java -koden
I Processing var jag tvungen att kringgå funktionsanropet för serialEvent (), som bara fungerar med seriella portar som heter COM. När jag arbetade på en Mac kom mina seriella portar under ett annat namn. Med detta sagt packade jag upp den funktionen i huvudfunktionen vid bearbetning av "draw ()". När det gäller allt annat har jag uppdaterat applikationen för att möta hela revolutionens design. Slutligen uppdaterade jag alla ritade former och texter med avseende på skärmens bredd så att den slutliga produkten passar olika skärmupplösningar. Jag har personligen testat det för både 1000X1000 och 500X500 upplösningar, och det fungerade bra:).
Steg 9: Slutsats
Detta arbete kan uppgraderas till att ha 3 ultraljudssensorer, som varje täcker 120 betraktningsvinkel, eller till och med 4 sensorer (90 grader*4) -> snabbare 360 grader. skanna.
Du kan också utöka radarens räckvidd från 40 cm till 60 cm eller till och med 80 cm. Jag har personligen testat pulseIn -funktionen och justerat TIMEOUT -variabeln med avseende på 40 cm. Denna variabel beror på många faktorer, inklusive längden på pulssändningen och ytan på objektet där pulsen reflekteras.
Slutligen, som tidigare nämnts, är nästa steg att införliva radarDuino med en rörelsesrobot för att skanna den omgivande omkretsen.
Rekommenderad:
(IOT -projekt) Få väderdata med ESP8266 och Openweather API: 5 steg
(IOT -projekt) Få väderdata med hjälp av ESP8266 och Openweather API: I den här instruktören kommer vi att bygga ett enkelt IOT -projekt där vi hämtar väderdata från vår stad från openweather.com/api och visar dem med bearbetningsprogram
Bluetooth50g - ett Upcycle -projekt för en trasig HP50G -räknare .: 7 steg
Bluetooth50g - ett Upcycle -projekt för en trasig HP50G -kalkylator .: De ledande banorna till displayen är trasiga på grund av batteriläckage. Batteriet läckte och korroderade banorna. Kalkylatorn fungerar i sig, men resultaten visas inte på skärmen (endast vertikala linjer). Systemet emulerar ett bluetooth -tangentbord och
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
10 grundläggande Arduino -projekt för nybörjare! Gör minst 15 projekt med en enda bräda !: 6 steg
10 grundläggande Arduino -projekt för nybörjare! Gör minst 15 projekt med en enda bräda !: Arduino Project &Handledningstavla; Innehåller 10 grundläggande Arduino -projekt. Alla källkoder, Gerber -filen och mer. Ingen SMD! Enkel lödning för alla. Lätt avtagbara och utbytbara komponenter. Du kan göra minst 15 projekt med en enda
USB -driven brännare! Detta projekt kan bränna igenom plast / trä / papper (roligt projekt måste också vara mycket fint trä): 3 steg
USB -driven brännare! Detta projekt kan brinna genom plast / trä / papper (roligt projekt måste också vara mycket fint trä): GÖR INTE DETTA MED USBEN !!!! Jag fick reda på att det kan skada din dator från alla kommentarer. min dator mår bra. Använd en 600ma 5v telefonladdare. jag använde detta och det fungerar bra och ingenting kan skadas om du använder en säkerhetsplugg för att stoppa strömmen