» elektronika » Arduino »Robotok haladnak útvesztőben

Robot halad labirintusban




A cikk egy robot létrehozását mutatja be, amely vonalak mentén halad át és átjuthat labirintusokon, miután megvizsgálta a labirintust, a legrövidebb úton is átjuthat rajta. A szerző hosszú ideje létrehozta ezt a projektet, a szerencse harmadik alkalommal is felülmúlta.

A gép bemutatása:


Anyagok és eszközök:
- Arduino RBBB
- mikromotorok 2 db
- Tartók 2 db-os motorhoz
- Kerekek 2 db
- gömbkerék
- Analóg visszaverődés-érzékelő
- Anyák 2 db csavarral.
- motorvezető
- 4 db AAA elemtartó
- Elemek (újratölthető elemek) AAA 4 db
- Eset
- Anyák, csavarok, alátétek
- összekötő vezetékek
- forrasztható
- fogó
- forrasztópáka
- csavarhúzó

Első lépés. Elmélet.
A szerzőnek szüksége volt a robot, amely maga is megtalálja a kiutat a labirintusból, majd képes lesz optimalizálni a visszatérést. Amikor labirintushoz készítenek gépet, a bal oldali módszer vezérelte őket. A világosabbá tétele érdekében képzelje el, hogy labirintusban volt, és mindig tartsa bal kezét a falon. Ha egy bizonyos utat áthalad, ez segít kiszökni a labirintusból, ha az nincs bezárva. A robot csak nyitott labirintusokkal tud dolgozni.

A bal oldali módszer alapelvei nagyon egyszerűek:
- Ha balra fordulhat, forduljon balra.
- Ha lehetséges egyenesen mozogni, mozogjon egyenesen.
- Ha jobbra fordulhat, forduljon jobbra.
- Ha zsákutcában van, forduljon 180 fokkal.

Ezenkívül a robotnak döntéseket kell hoznia a kereszteződésnél, de ha nem fordul el, akkor egyenesen halad. A jobb visszatérési út megteremtése érdekében minden döntést a memóriába írunk.
L = balra fordulás
R = jobbra fordulás
S = átugorja a fordulót
B = forgassa 180 fokkal

Ezt a módszert az alábbiakban szemléltetjük egy egyszerű labirintus segítségével. A robot a távolságot LBLLBSR parancsokkal fedte le.
Robot halad labirintusban







Az út elég hosszú utat mutatott ki, optimális SRR-ként kell átalakítani. Ehhez meg kell határozni, hogy a robot melyik irányba fordult rosszul. Ahol a „B” parancsot használják, az út helytelen lesz, mivel a robot patthelyzetben volt, tehát a „B” -et valami másra kell cserélni. Az első rossz lépés az LBL volt, a robot megfordult és megfordult, miközben csak közvetlenül az LBL = S.-t kellett követni. Így létrejön az ideális útvonal: LBL = S, LBS = R. Az ilyen cserék alapján a robot egy ideális rövid utat épít magának.





Második lépés A robot alvázát.
A robotváz alapjául a 0,8 mm vastag akril lett, a rajz szerint a vágást lézerrel végezték. A cikk alatt található archívumban található egy rajzfájl az AutoCAD-től. Nem volt szükség ilyen anyag felhasználására, de a szerző elvette a rendelkezésre álló eszközöket.

Az alsó részen lyukakat készítünk a motorok, táblák, kerekek és érzékelők rögzítéséhez. A felső részen nagy lyuk van a vezetékekhez.










Harmadik lépés Kerekek szerelése.
A szerző mindkét motort csavarokkal rögzítette. Ezenkívül egyszerűen kerekeket tettek a tengelyükre, igazítva a tengelyt a kerék lyukával.




A negyedik lépés. Arduino.
Ezen a ponton a szerző először követte az Arduino RBBB összeszerelési útmutatásait. Ezenkívül levágta a deszka egy részét, hogy csökkentse annak méretét. A tápcsatlakozót és a stabilizátort fém ollóval levágták. Ezt követően egy 9-tűs csatlakozót forrasztottak a tábla bal oldalára, hogy érintkezők 5V-tól A0-ig legyenek, és az érzékelőt hozzákapcsolják. A D5-től D8-ig tartó érintkezőkhöz egy 4 tűs csatlakozót forrasztottak a tábla jobb oldalára, és ehhez egy motorvezérlő csatlakozik. A tápellátás érdekében a 2-pólusú csatlakozót 5 V-ra és GND-re forrasztottuk.








Ötödik lépés Motorvezérlő.
A szerző maga fejlesztett ki egy nyomtatott áramköri kártyát erre a lépésre, az Eagle formátumú áramkört a cikk alatt található archívum csatolja. Az első motort az M1-A és az M1-B érintkezőkhöz, a második az M2-hez és az M2-B-hez csatlakoztatta. Az első In 1A motor első bemenetét az Arduino 7. tűjéhez csatlakoztattuk. Az 1B-ben az Arduino 6. érintkezőjéhez volt csatlakoztatva. A második motor első bemenetéhez az In 2A csatlakozik az Arduino ötödik csapjához. A 2B-es csatlakozó az Arduino 8. érintkezőjéhez kapcsolódik. Az áramellátás és a föld kapcsolódik az Arduino áramhoz és a földhöz.








Hatodik lépés Érzékelők.
Ezt az elemet érzékelők táblája formájában értékesítik, kezdetben nyolc van, a két szélsőségeset a szerző törölte. A táblához 9-tűs csatlakozót forrasztottak, velük egy Arduino-hoz vezető vezetéket csatlakoztatnak. Az érzékelő a felület visszatükrözésével érzékeli a labirintus fehér és fekete részét.




Hetedik lépés. Felső rész.
Az alváz a robot tetejével csavarokkal és állványokkal össze van kötve. Az akkumulátort tetején rögzítették tépőzárral. Vezetékét vezették az előkészített lyukon. A rögzítéskor a szerző úgy döntött, hogy nem használ csavarokat, hanem hagyja az akkumulátort tépőzárral, hogy könnyebben cserélje ki az elemeket. Az akkumulátortartón lévő kapcsolóval ellenőrizték a teljesítményt.








Nyolc lépés. Érzékelők beszerelése.
Az érzékelőket csavaroztam a gép aljára. A GND tű csatlakoztatva van a GND Arduino-hoz. Ezután a Vcc tűt csatlakoztatják az 5V Arduino-hoz. Az Arduino 5-0 ADC csatlakoztatta az analóg 6-1 érzékelők csapokat.






Kilencedik lépés. Teljesítmény.
Arduino csak forrasztotta az akkumulátor vezetékeit. A robot be- és kikapcsolása bekapcsolja az akkumulátort, ezért úgy döntött, hogy forrasztást alkalmaz. Ez befejezi a robot összeszerelését.


Tíz lépés A szoftver része.
A programnak számos funkciója van, amelyek felelősek a működési algoritmusért. A „balkezes” funkció érzékelőktől kap leolvasásokat, és a robotot ezen szabályok szerint kezeli. A forgatás funkció bekapcsol, mielőtt a robot észlel egy fekete vonalat, észreveszi, hogy egyenesen halad. Az út optimalizálási funkció is be van építve. A program letölthető az archívumban található cikk alatt.


Robot videó:


labirintus-megoldó robot.rar [28,67 Kb] (letöltések: 545)
5.5
5.5
5.5

Adj hozzá egy megjegyzést

    • smilemosolyogxaxarendbendontknowjehunea
      főnökkarcolásbolondigenigen-igenagresszívtitok
      Bocsánattáncdance2dance3megbocsátássegítségitalok
      megállásbarátokjógoodgoodsípájulásnyelv
      füsttapsolóCrayállapítsagúnyosdon-t_mentionletöltés
      hőségingerültlaugh1MDAtalálkozómoskingnegatív
      not_ipopcornbüntetolvasmegijesztijesztkeresés
      gúnyolódásthank_youeztto_clueumnikakutegyetért
      rosszbeeeblack_eyeblum3pírdicsekvésunalom
      cenzúrázottvidámságsecret2fenyegetgyőzelemyusun_bespectacled
      ShokRespektlolprevedfogadtatáskrutoyya_za
      ya_dobryisegítőne_huliganne_othodiFLUDtilalomközel

Azt javasoljuk, hogy olvassa el:

Adja át az okostelefon számára ...