Innholdsfortegnelse:

Arduino - Maze Solving Robot (MicroMouse) Wall Following Robot: 6 trinn (med bilder)
Arduino - Maze Solving Robot (MicroMouse) Wall Following Robot: 6 trinn (med bilder)

Video: Arduino - Maze Solving Robot (MicroMouse) Wall Following Robot: 6 trinn (med bilder)

Video: Arduino - Maze Solving Robot (MicroMouse) Wall Following Robot: 6 trinn (med bilder)
Video: Lesson 24: Smart Car Part 2: Moving Forwared, Reverse, left and right and Controling Speed of Car 2024, November
Anonim
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot

Velkommen, jeg er Isaac, og dette er min første robot "Striker v1.0". Denne roboten ble designet for å løse en enkel labyrint. I konkurransen hadde vi to labyrinter og roboten var i stand til å identifisere dem. Alle andre endringer i labyrinten kan kreve endring av koden og designet, men det er enkelt å gjøre.

Trinn 1: Deler

Deler
Deler
Deler
Deler
Deler
Deler

Først og fremst må du vite hva du har å gjøre med.

Roboter = Elektrisitet + Maskinvare + Programvare1- Elektrisitet: batterier har mange spesifikasjoner, du bør bare vite hvor mye strøm og spenning du trenger.

2- Maskinvare: "Karosseri, motor, motordriver, sensorer, ledninger og kontrolleren" du bør bare få de viktige delene som gjør oppgaven, du trenger ikke å få en fancy dyr kontroller for en enkel oppgave.

3- Programvare: Koden handler om logikk. Når du forstår hvordan kontrolleren fungerer, blir det enkelt for deg å velge funksjonene og gjøre koden enklere. Kodespråket bestemmes av kontrollertypen.

Deleliste:

  1. Arduino UNO
  2. 12v likestrømsmotorer (x2)
  3. Hjul (x2)
  4. Motordriver (L298N)
  5. Avstandssensor (Ultra Sonic)
  6. Ledninger
  7. 12v batteri (1000 mAh)

Verktøyliste:

  1. Batterilader
  2. Akrylark
  3. Loddejern
  4. Wire cutter
  5. Nylon glidelås

For ekstra moro kan du bruke lysdioder til å lyse opp, men det er ikke veldig viktig.

Trinn 2: Kroppsdesign

Kroppsdesign
Kroppsdesign
Kroppsdesign
Kroppsdesign
Kroppsdesign
Kroppsdesign

Hovedideen var å stable delene over kroppen og bruke Nylon Zip Wrap stabilisere Arduino og ledninger vil stabilisere resten takket være deres lette.

Jeg brukte CorelDRAW til å designe karosseriet. Og jeg laget ekstra hull i tilfelle eventuelle fremtidige endringer.

Jeg dro til et lokalt verksted for å bruke laserskjæreren, så begynte jeg å bygge alt sammen. Senere gjorde jeg noen endringer fordi motorene var lengre enn jeg forventet. Jeg vil si at roboten din ikke trenger å bygges på samme måte som min.

PDF -fil og CorelDRAW -fil er vedlagt.

Ikke bekymre deg hvis du ikke kan laserskjære designet. Så lenge du har en Arduino, de samme sensorene og motorene, bør du kunne få koden min til å fungere på roboten din med mindre endringer.

Trinn 3: Implementering (bygning)

Implementering (bygning)
Implementering (bygning)
Implementering (bygning)
Implementering (bygning)
Implementering (bygning)
Implementering (bygning)

Designet gjorde det enkelt å fikse sensorer på kroppen.

Trinn 4: Kabling

Kabling
Kabling
Kabling
Kabling
Kabling
Kabling

Her er et skjematisk diagram av roboten. disse tilkoblingene er relatert til koden. Du kan endre tilkoblingene, men sørg for å endre koden med den. Delene. sensorer

Jeg vil gjerne forklare "Ultrasonic sensor"

En ultralydsensor er en enhet som kan måle avstanden til et objekt ved å bruke lydbølger. Den måler avstand ved å sende ut en lydbølge med en bestemt frekvens og lytte etter at lydbølgen hopper tilbake. Ved å registrere den forløpne tiden mellom lydbølgen som genereres og lydbølgen spretter tilbake, ser dette ut som om Sonar og Radar fungerer.

Tilkoblingen av ultralydssensoren til Arduino:

  1. GND -pinnen er koblet til bakken.
  2. VCC -pinnen er koblet til den positive (5v).
  3. Ekkopinn er koblet til Arduino. (velg hvilken som helst pin og match den med koden)
  4. TRIG -pinnen er koblet til Arduino. (velg hvilken som helst pin og match den med koden)

Du vil lage en felles grunn og koble alle GND -er til den (sensorer, Arduino, Driver) alle grunner skal være tilkoblet.

For Vcc Pins kobles også de 3 sensorene til en 5v pin

(du kan koble dem til Arduino Eller sjåføren jeg anbefaler driveren)

Merk: Ikke koble sensorene til en spenning høyere enn 5v, da blir den skadet.

Motorsjåfør

L298N H-broen: det er en IC som lar deg kontrollere hastigheten og retningen til to likestrømsmotorer, eller enkelt styre en bipolar trinnmotor. L298N H-brodriveren kan brukes med motorer som har en spenning på mellom 5 og 35V DC.

Det er også en innebygd 5v regulator, så hvis forsyningsspenningen er opptil 12v kan du også koble 5v fra kortet.

Vurder bildet - match tallene mot listen under bildet:

  1. Likestrømsmotor 1 “+”
  2. Likestrømsmotor 1 “-”
  3. 12v jumper - fjern denne hvis du bruker en forsyningsspenning større enn 12v DC. Dette muliggjør innebygd 5v regulator
  4. Koble motorens forsyningsspenning her, maksimalt 35v DC.
  5. GND
  6. 5v utgang hvis 12v genser på plass
  7. DC -motor 1 aktiver jumper. Fjern jumperen og koble til PWM -utgang for DC -motorhastighetsregulering.
  8. IN1 Retningskontroll
  9. IN2 Retningskontroll
  10. IN3 Retningskontroll
  11. IN4 Retningskontroll
  12. DC -motor 2 aktiverer jumper. Fjern jumperen og koble til PWM -utgang for DC -motorhastighetsregulering
  13. Likestrømsmotor 2 “+”
  14. Likestrømsmotor 2 “-”

Merk: Denne driveren tillater 1A per kanal, drenering av mer strøm vil skade IC.

Batteri

Jeg brukte 12v batteri med 1000 mAh.

Tabellen ovenfor viser hvordan spenningen synker når batteriet lades ut. du bør huske på det, og du må lade batteriet hele tiden.

Utladningstiden er i utgangspunktet Ah- eller mAh -klassifiseringen delt på strømmen.

Så for et 1000mAh batteri med en belastning som trekker 300mA har du:

1000/300 = 3,3 timer

Hvis du tapper mer strøm, reduseres tiden og så videre. Merk: Pass på at du ikke overskrider batteriets utladningsstrøm, ellers blir den skadet.

Lag også igjen en felles jord og koble alle GND -er til den (sensorer, Arduino, driver) alle grunner skal være tilkoblet.

Trinn 5: Koding

Koding
Koding
Koding
Koding

Jeg gjorde disse til funksjoner, og jeg hadde det gøy å kode denne roboten.

Hovedideen er å unngå å treffe vegger og komme ut av labyrinten. Vi hadde 2 enkle labyrinter, og jeg måtte huske på det fordi de var forskjellige.

Den blå labyrinten bruker høyre vegg etter algoritmen.

Den røde labyrinten bruker venstre vegg etter algoritmen.

Bildet ovenfor viser veien ut i begge labyrinter.

Kodeflyt:

  1. definere pinnene
  2. definere utgangs- og inngangspinner
  3. sjekk sensorenes avlesning
  4. bruke sensorenes lesing for å definere vegger
  5. sjekk første rute (hvis den var igjen, følg deretter venstre vegg, hvis den er rett, følg høyre vegg)
  6. Bruk PID for å unngå å treffe veggene og for å kontrollere motorens hastighet

Du kan bruke denne koden, men endre pinnene og de konstante tallene for å få de beste resultatene.

Følg denne lenken for koden.

create.arduino.cc/editor/is7aq_shs/391be92…

Følg denne lenken for biblioteket og Arduino -kodefilen.

github.com/Is7aQ/Maze-Solving-Robot

Trinn 6: Ha det gøy

Sørg for å ha det gøy: Dette er alt for moro skyld, ikke få panikk hvis det ikke fungerer eller hvis det er noe galt. spor feilen og ikke gi opp. Takk for at du leser, og jeg håper det hjalp. Kontakt:

E-post: [email protected]

Anbefalt: