Kazalo:
- 1. korak: Deli
- 2. korak: Oblikovanje telesa
- 3. korak: Izvajanje (gradnja)
- 4. korak: Ožičenje
- 5. korak: Kodiranje
- 6. korak: Zabavajte se
Video: Arduino - Robot za reševanje labirinta (MicroMouse) Stenski robot: 6 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Dobrodošli, jaz sem Isaac in to je moj prvi robot "Striker v1.0". Ta robot je bil zasnovan za reševanje preprostega labirinta. Na tekmovanju smo imeli dva labirinta in robot jih je lahko identificiral. Vse druge spremembe v labirintu morda zahtevajo spremembo kode in zasnove, vendar je vse preprosto.
1. korak: Deli
Najprej morate vedeti, s čim se ukvarjate.
Roboti = Električna energija + Strojna oprema + Programska oprema 1- Električna energija: baterije imajo veliko specifikacij, vedeti morate le, koliko toka in napetosti potrebujete.
2- Strojna oprema: "Ohišje, motor, gonilnik motorja, senzorji, žice in krmilnik" morate dobiti le pomembne dele, ki opravijo nalogo, za preprosto nalogo pa vam ni treba kupiti dragega krmilnika.
3- Programska oprema: Koda temelji na logiki. Ko boste razumeli, kako deluje krmilnik, boste lažje izbrali funkcije in poenostavili kodo. Kodirani jezik določa vrsta krmilnika.
Seznam delov:
- Arduino UNO
- 12v enosmerni motorji (x2)
- Kolesa (x2)
- Gonilnik motorja (L298N)
- Senzor razdalje (ultrazvočni)
- Žice
- 12v baterija (1000 mAh)
Seznam orodij:
- Polnilec baterij
- Akrilna plošča
- Spajkalnik
- Rezalnik žice
- Najlonska obloga z zadrgo
Za dodatno zabavo lahko osvetlite LED diode, vendar to ni zelo pomembno.
2. korak: Oblikovanje telesa
Glavna ideja je bila zlaganje delov nad telesom in uporaba najlonske zadrge za stabilizacijo Arduina, Wires pa bo stabiliziral ostalo zaradi svoje lahke teže.
Za oblikovanje telesa sem uporabil CorelDRAW. V primeru prihodnjih sprememb sem naredil dodatne luknje.
Šel sem v lokalno delavnico, da bi uporabil laserski rezalnik, nato sem začel vse skupaj sestavljati. Kasneje sem naredil nekaj sprememb, ker so bili motorji daljši, kot sem pričakoval. Želim povedati, da vašega robota ni treba graditi na enak način kot mojega.
Priloženi sta datoteka PDF in datoteka CorelDRAW.
Če zasnove ne morete lasersko izrezati, ne skrbite. Dokler imate Arduino, iste senzorje in motorje, bi morali imeti možnost, da moja koda deluje na vašem robotu z manjšimi spremembami.
3. korak: Izvajanje (gradnja)
Zasnova je olajšala pritrditev senzorjev na telo.
4. korak: Ožičenje
Tukaj je shematski diagram robota. te povezave so povezane s kodo. Povezave lahko spremenite, vendar z njimi spremenite kodo. Deli. Senzorji
Rad bi razložil "ultrazvočni senzor"
Ultrazvočni senzor je naprava, ki lahko z zvočnimi valovi meri razdaljo do predmeta. Meri razdaljo tako, da pošlje zvočni val na določeni frekvenci in posluša, da se zvočni val odbije nazaj. S snemanjem pretečenega časa med ustvarjenim zvočnim valom in odbijanjem zvočnega vala se zdi podobno delovanju Sonarja in Radarja.
Povezava ultrazvočnega senzorja z Arduinom:
- Pin GND je priključen na ozemljitev.
- VCC pin je priključen na pozitivni (5v).
- Echo pin je priključen na Arduino. (izberite kateri koli pin in ga primerjajte s kodo)
- Zatič TRIG je priključen na Arduino. (izberite kateri koli pin in ga primerjajte s kodo)
Naredili boste skupno ozemljitev in nanjo priključili vse GND (senzorje, Arduino, gonilnik). Vsi priključki morajo biti povezani.
Za Vcc zatiče priključite tudi 3 senzorje na 5v pin
(lahko jih povežete z Arduinom ali gonilnikom, priporočam gonilnik)
Opomba: Senzorjev ne priključujte na napetost, višjo od 5 V, sicer se bo poškodoval.
Voznik motorja
L298N H-most: to je IC, ki vam omogoča nadzor hitrosti in smeri dveh enosmernih motorjev ali enostavnost krmiljenja enega bipolarnega koračnega motorja. Gonilnik H-mostu L298N lahko uporabljate z motorji z napetostjo med 5 in 35V DC.
Obstaja tudi vgrajen regulator 5v, tako da, če je vaša napajalna napetost do 12v, lahko napajate tudi 5v iz plošče.
Razmislite o sliki - ujemajte številke s seznamom pod sliko:
- DC motor 1 "+"
- DC motor 1 "-"
- 12v mostiček - odstranite ga, če uporabljate napajalno napetost večjo od 12v DC. To omogoča vgrajen regulator 5V
- Tukaj priključite napajalno napetost motorja, največ 35v DC.
- GND
- 5v izhod, če je na voljo 12v mostiček
- Omogočite mostiček DC motorja 1. Odstranite mostiček in se povežite z izhodom PWM za krmiljenje hitrosti enosmernega motorja.
- Nadzor smeri IN1
- Nadzor smeri IN2
- Nadzor smeri IN3
- Nadzor smeri IN4
- Enosmerni motor 2 omogoča mostiček. Odstranite mostiček in se povežite z izhodom PWM za krmiljenje hitrosti enosmernega motorja
- DC motor 2 "+"
- DC motor 2 "-"
Opomba: Ta gonilnik dovoljuje 1A na kanal, odvajanje več toka bo poškodovalo IC.
Baterija
Uporabil sem 12v baterijo s 1000 mAh.
Zgornja tabela prikazuje, kako napetost pade, ko se baterija izprazni. To morate upoštevati in baterijo morate nenehno polniti.
Čas praznjenja je v bistvu ocena Ah ali mAh, deljena s tokom.
Torej za baterijo 1000 mAh z obremenitvijo, ki porabi 300 mA, imate:
1000/300 = 3,3 ure
Če izpraznite več toka, se bo čas zmanjšal in tako naprej. Opomba: Pazite, da ne presežete toka praznjenja akumulatorja, sicer se bo poškodoval.
Prav tako spet naredite skupno ozemljitev in nanjo priključite vse GND (senzorje, Arduino, gonilnik).
5. korak: Kodiranje
To sem spremenil v funkcije in zabaval sem se pri kodiranju tega robota.
Glavna ideja je, da se izognemo udarjanju v stene in da pobegnemo iz labirinta. Imeli smo 2 preprosta labirinta in to sem moral upoštevati, ker sta si različna.
Modri labirint uporablja desni zid po algoritmu.
Rdeči labirint uporablja algoritem leve stene.
Zgornja fotografija prikazuje izhod v obeh labirintih.
Tok kode:
- določanje zatičev
- definiranje izhodnih in vhodnih zatičev
- preverite odčitke senzorjev
- za odčitavanje sten uporabite odčitke senzorjev
- preverite prvo pot (če je leva, sledite levi steni, če je desna, sledite desni steni)
- Uporabite PID, da se izognete udarcem v stene in nadzorujete hitrost motorja
To kodo lahko uporabite, vendar spremenite nožice in konstantne številke, da dosežete najboljše rezultate.
Za kodo sledite tej povezavi.
create.arduino.cc/editor/is7aq_shs/391be92…
Sledite tej povezavi za knjižnico in datoteko kode Arduino.
github.com/Is7aQ/Maze-Solving-Robot
6. korak: Zabavajte se
Zabavajte se: DTo je za zabavo, ne paničite, če ne deluje ali če je kaj narobe. sledite napaki in ne obupajte. Hvala za branje in upam, da je pomagalo.
E-pošta: [email protected]
Priporočena:
Opozorilo o vodi - naprava za reševanje vašega čolna: 5 korakov (s slikami)
Opozorilo o vodi - naprava za reševanje vašega čolna: Če ste lastnik čolna, obstaja trdno udobje, da čoln končno spravite na suho. Tam ne more potoniti. Povsod drugje se sooča z nenehno bitko, da bi premagala težnjo, da bi zdrsnila pod valove in izginila. Pozimi tukaj, na žalost
Boe-Bot za reševanje labirinta: 3 koraki
Boe-Bot za reševanje labirinta: Pozdravljeni! Moje ime je Maahum Imran. Sem del tehnološkega razreda 11. razreda. Dobili smo nalogo, da vzamemo naš Boe-Bot in ga programiramo, da bo spretno šel skozi labirint. Sprva je bil to težak izziv in priznam, brez pomoči
Stenski zaslon Dakboard s Pi Zero W: 6 korakov (s slikami)
Dakboard stenski zaslon s Pi Zero W: Delam v IT. Pogosto dobimo stranke, ki bi želele, da odstranimo njihov stari komplet. To nam običajno pusti kup odpadkov, monitorji pa so ena od stvari, ki jih zapravimo. Doma sem nadgradil lastne monitorje, zaradi česar so moji starejši
Kako dati stenski uri svetleče roke in časovne intervale: 14 korakov (s slikami)
Kako dati stenski uri svetleče kazalce in časovne intervale: želeli smo stensko uro v spalnici s svetlečimi kazalci in prikazom petih minut in četrt ure. Moral je biti brez težav berljiv iz postelje, svetilnost pa je morala trajati celo noč
Digitalni stenski koledar in domači informacijski center: 24 korakov (s slikami)
Digitalni stenski koledar in domači informacijski center: V tem navodilu bom vklopil staro televizijo z ravnim zaslonom v digitalni stenski koledar in domači informacijski center z lesenim okvirjem, ki ga poganja Raspberry Pi. Cilj je bil imeti na hitro dostop do ustrezne informacije za vse člane