INHOUDSOPGAWE:

Arduino - Doolhofoplossingsrobot (MicroMouse) muur na robot: 6 stappe (met foto's)
Arduino - Doolhofoplossingsrobot (MicroMouse) muur na robot: 6 stappe (met foto's)

Video: Arduino - Doolhofoplossingsrobot (MicroMouse) muur na robot: 6 stappe (met foto's)

Video: Arduino - Doolhofoplossingsrobot (MicroMouse) muur na robot: 6 stappe (met foto's)
Video: Micromouse 2024, Desember
Anonim
Arduino | Doolhofoplossingsrobot (MicroMouse) muur na robot
Arduino | Doolhofoplossingsrobot (MicroMouse) muur na robot
Arduino | Doolhofoplossingsrobot (MicroMouse) muur na robot
Arduino | Doolhofoplossingsrobot (MicroMouse) muur na robot
Arduino | Doolhofoplossingsrobot (MicroMouse) muur na robot
Arduino | Doolhofoplossingsrobot (MicroMouse) muur na robot
Arduino | Doolhofoplossingsrobot (MicroMouse) muur na robot
Arduino | Doolhofoplossingsrobot (MicroMouse) muur na robot

Welkom, ek is Isaac en dit is my eerste robot "Striker v1.0". Hierdie robot is ontwerp om 'n eenvoudige doolhof op te los. In die kompetisie het ons twee doolhowe gehad en die robot kon hulle identifiseer. Enige ander veranderinge in die doolhof Dit kan 'n verandering in die kode en die ontwerp vereis, maar dit is maklik om te doen.

Stap 1: Onderdele

Dele
Dele
Dele
Dele
Dele
Dele

Eerstens moet u weet waarmee u te doen het.

Robotte = Elektrisiteit + Hardeware + Sagteware1- Elektrisiteit: batterye het baie spesifikasies; u moet net weet hoeveel stroom en spanning u benodig.

2- Hardeware: "liggaam, motor, motorbestuurder, sensors, drade en die beheerder"; u moet slegs die belangrike dele kry wat die taak verrig, u hoef nie 'n duur, duur kontroleerder vir 'n eenvoudige taak te kry nie.

3- Sagteware: die kode handel oor logika. As u eers verstaan hoe die kontroleerder werk, word dit maklik om die funksies te kies en die kode eenvoudiger te maak. Die kodetaal word bepaal deur die tipe beheerder.

Deellys:

  1. Arduino UNO
  2. 12V DC motors (x2)
  3. Wiele (x2)
  4. Motorbestuurder (L298N)
  5. Afstandsensor (Ultra Sonic)
  6. Drade
  7. 12v battery (1000 mAh)

Gereedskaplys:

  1. Batterylaaier
  2. Akrielblad
  3. Soldeerbout
  4. Draadsnyer
  5. Nylon ritssluiting

Vir ekstra plesier kan u LED's gebruik om dit aan te steek, maar dit is nie baie belangrik nie.

Stap 2: Liggaamsontwerp

Liggaamsontwerp
Liggaamsontwerp
Liggaamsontwerp
Liggaamsontwerp
Liggaamsontwerp
Liggaamsontwerp

Die belangrikste idee was om die dele bo die liggaam te stapel en die Nylon Zip Wrap te stabiliseer, wat die Arduino stabiliseer, en die drade stabiliseer die res danksy hul liggewig.

Ek het CorelDRAW gebruik om die bak te ontwerp en ek het ekstra gate gemaak in die geval van toekomstige veranderinge.

Ek het na 'n plaaslike werkswinkel gegaan om die lasersnyer te gebruik, en toe het ek alles saam begin bou. Later het ek 'n paar veranderinge aangebring omdat die Motors langer was as wat ek verwag het. Ek wil sê dat u robot nie op dieselfde manier as myne gebou moet word nie.

PDF -lêer en The CorelDRAW -lêer is aangeheg.

Moenie bekommerd wees as u die ontwerp nie met laser kan sny nie. Solank u 'n Arduino, dieselfde sensors en motors het, moet u my kode met geringe veranderinge aan u robot kan laat werk.

Stap 3: Implementering (gebou)

Implementering (gebou)
Implementering (gebou)
Implementering (gebou)
Implementering (gebou)
Implementering (gebou)
Implementering (gebou)

Die ontwerp het dit maklik gemaak om sensors aan die liggaam vas te maak.

Stap 4: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

Hier is 'n skematiese diagram van die robot. hierdie verbindings hou verband met die kode. Jy kan die verbindings verander, maar maak seker dat jy die kode daarmee verander. Die dele. Sensors

Ek wil die "Ultrasoniese sensor" verduidelik

'N Ultrasoniese sensor is 'n toestel wat die afstand tot 'n voorwerp kan meet met behulp van klankgolwe. Dit meet afstand deur 'n klankgolf teen 'n spesifieke frekwensie uit te stuur en te luister na die klankgolf om terug te spring. Deur die verloop van tyd op te teken tussen die klankgolf wat gegenereer word en die klankgolf terug te spring, lyk dit soortgelyk aan die werking van Sonar en Radar.

Die verbinding van die ultrasoniese sensor met die Arduino:

  1. GND -pen is aan die grond gekoppel.
  2. VCC -pen is gekoppel aan die positiewe (5v).
  3. Echo -pin is gekoppel aan die Arduino. (kies enige speld en pas dit by die kode)
  4. TRIG -pen is gekoppel aan die Arduino. (kies enige speld en pas dit by die kode)

U sal 'n gemeenskaplike grondslag maak en alle GND's daaraan koppel (sensors, Arduino, bestuurder), alle gronde moet verbind word.

Vir Vcc -penne koppel ook die 3 sensors aan 'n 5V -pen

(u kan dit koppel aan die Arduino Of die bestuurder, ek beveel die bestuurder aan)

Let wel: moenie die sensors aan 'n spanning van meer as 5v koppel nie, anders kan dit beskadig word.

Motorbestuurder

Die L298N H-brug: dit is 'n IC waarmee u die spoed en rigting van twee GS-motors kan beheer, of een bipolêre stapmotor met gemak kan beheer. Die L298N H-bridge-bestuurder kan gebruik word met motors met 'n spanning van tussen 5 en 35V DC.

Daar is ook 'n ingeboude 5v-reguleerder, dus as u voedingsspanning tot 12v is, kan u ook 5v van die bord af kry.

Oorweeg die prentjie - pas die getalle by die lys onder die prent:

  1. GS -motor 1 “+”
  2. GS-motor 1 “-”
  3. 12v jumper - verwyder dit as u 'n voedingsspanning van meer as 12v DC gebruik. Dit maak die ingeboude 5v-reguleerder moontlik
  4. Koppel u motorvoedingspanning hier, maksimum van 35v DC.
  5. GND
  6. 5V -uitset as 12v -trui in plek is
  7. DC motor 1 aktiveer jumper. Verwyder die jumper en koppel aan PWM output vir DC motor speed control.
  8. IN1 rigtingbeheer
  9. IN2 rigtingbeheer
  10. IN3 rigtingbeheer
  11. IN4 rigtingbeheer
  12. DC motor 2 aktiveer springer. Verwyder die jumper en maak verbinding met PWM -uitset vir DC -motorsnelheidsbeheer
  13. GS -motor 2 “+”
  14. GS-motor 2 “-”

Opmerking: hierdie bestuurder laat 1A per kanaal toe, as meer stroom leegloop, sal die IC beskadig word.

Battery

Ek het 'n 12V -battery met 'n 1000 mAh gebruik.

Die tabel hierbo toon hoe die spanning daal wanneer die battery ontlaai. U moet dit in gedagte hou en u moet die battery voortdurend herlaai.

Ontladingstyd is basies die Ah- of mAh -gradering gedeel deur die stroom.

Dus, vir 'n 1000mAh -battery met 'n las wat 300mA trek, het u:

1000/300 = 3,3 uur

As u meer stroom dreineer, sal die tyd afneem, ens. Opmerking: maak seker dat u nie die laaistroom van die battery oorskry nie, anders kan dit beskadig word.

Maak ook weer 'n gemeenskaplike grond en koppel alle GND's daaraan (sensors, Arduino, Driver), alle gronde moet verbind word.

Stap 5: Kodering

Kodering
Kodering
Kodering
Kodering

Ek het hierdie funksies omskep en ek het dit geniet om hierdie robot te kodeer.

Die belangrikste idee is om nie mure te slaan nie en om uit die doolhof te kom. Ons het 2 eenvoudige doolhowe gehad, en ek moes dit in gedagte hou omdat dit anders was.

Die blou doolhof gebruik die regte muur na aanleiding van die algoritme.

Die rooi doolhof gebruik linkermuur na aanleiding van algoritme.

Die foto hierbo wys die uitweg in albei doolhowe.

Kode vloei:

  1. die penne te definieer
  2. uitvoer- en invoerpenne definieer
  3. kontroleer sensor se lesings
  4. gebruik sensors se lees om mure te definieer
  5. kyk die eerste roete (as dit links was, volg dan die linker muur, as dit reg is, volg die regter muur)
  6. Gebruik PID om die mure nie te tref nie en om die motor se spoed te beheer

U kan hierdie kode gebruik, maar verander die penne en die konstante getalle om die beste resultate te kry.

Volg hierdie skakel vir die kode.

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

Volg hierdie skakel vir die biblioteek en die Arduino -kode lêer.

github.com/Is7aQ/Maze-Solving-Robot

Stap 6: Om pret te hê

Maak seker dat u pret het: dit is alles vir die plesier, moenie skrik as dit nie werk nie of as daar iets verkeerd is. volg die fout en moenie opgee nie. Dankie dat u gelees het, en ek hoop dat dit gehelp het. Kontak:

E-pos: [email protected]

Aanbeveel: