Innehållsförteckning:

Projekt 3: SonarDuino: 9 steg
Projekt 3: SonarDuino: 9 steg

Video: Projekt 3: SonarDuino: 9 steg

Video: Projekt 3: SonarDuino: 9 steg
Video: Lesson 01 Arduino Boards | Robojax Arduino Step By Step Course 2024, November
Anonim
Image
Image

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örbered Ultrasonic Sensor Support
Förbered Ultrasonic Sensor Support

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

Förbered Ultrasonic Sensor Support
Förbered Ultrasonic Sensor Support
Förbered Ultrasonic Sensor Support
Förbered Ultrasonic Sensor Support
Förbered Ultrasonic Sensor Support
Förbered Ultrasonic Sensor Support

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

Montera allt i en prototypbräda
Montera allt i en prototypbräda
Montera allt i en prototypbräda
Montera allt i en prototypbräda
Montera allt i en prototypbräda
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

Att göra de sista anslutningarna
Att göra de sista anslutningarna
Att göra de sista anslutningarna
Att göra de sista anslutningarna
Att göra de sista anslutningarna
Att göra de sista 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

Starta programmet
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

Förstå C -koden
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: