- Szükséges anyagok:
- A vonalkövető fogalmai
- Raspberry Pi vonalkövető robot áramköri ábra és magyarázat:
- A Raspberry PI programozása:
- Málna Pi vonalkövető akcióban:
Mint mindannyian tudjuk, a Raspberry Pi egy csodálatos fejlesztő platform, amely ARM mikroprocesszoron alapul. Nagy számítási erejével és fejlesztési lehetőségeivel csodákat tehet ki az elektronikai hobbisták vagy a hallgatók kezében. Ha többet szeretne megtudni a Raspberry Pi-ről és annak működéséről, próbálkozzon egy vonalkövető robot felépítésével a Raspberry Pi használatával.
Ha érdekel a robotika, akkor nagyon ismernie kell a „ Vonalkövető robot ” nevet. Ez a robot képes egy vonal követésére, csak pár érzékelő és motor segítségével. Lehet, hogy nem hangzik hatékonyan egy olyan erős mikroprocesszor, mint a Raspberry Pi, egy egyszerű robot felépítéséhez. De ez a robot teret enged a végtelen fejlődésnek, és a robotok, mint például a Kiva (az Amazon raktári robotja) erre példa. Ellenőrizheti a többi vonalkövető robotunkat is:
- Vonalkövető robot a 8051 mikrokontroller használatával
- Vonalkövető robot Arduino használatával
Szükséges anyagok:
- Raspberry Pi 3 (bármelyik modellnek működnie kell)
- IR érzékelő (2Nos)
- DC sebességváltó motor (2Nos)
- L293D motorvezérlő
- Cheeses (saját is készíthet kartonokat)
- Teljesítménybank (bármilyen rendelkezésre álló áramforrás)
A vonalkövető fogalmai
Vonalkövető robot képes IR vonal érzékelésére egy IR érzékelő segítségével. Ez az érzékelő rendelkezik IR adóval és IR vevővel. Az infravörös adó (IR LED) továbbítja a fényt, és a vevő (fotodióda) várja, hogy az átadott fény visszatérjen. Az infravörös fény csak akkor tér vissza, ha egy felület visszatükrözi. Míg minden felület nem tükrözi az infravörös fényt, csak a fehér színű felület képes teljesen visszaverni őket, a fekete színű felület pedig teljesen megfigyelni fogja őket, ahogy az alábbi ábra mutatja. Tudjon meg többet az IR érzékelő modulról itt.
Most két IR szenzort fogunk használni annak ellenőrzésére, hogy a robot nyomban van-e a vonallal, és két motorral korrigáljuk a robotot, ha elmozdul a pályáról. Ezek a motorok nagy áramot igényelnek, és kétirányúaknak kell lenniük; ezért olyan motor meghajtó modult használunk, mint az L293D. Szükségünk lesz egy olyan számítási eszközre is, mint a Raspberry Pi, hogy az IR szenzor értékei alapján utasítsuk a motorokat. Az alábbiakban egy egyszerűsített blokkdiagram látható.
Ez a két IR-érzékelő az egyiket a vonal mindkét oldalán elhelyezi. Ha egyik érzékelő sem érzékel fekete vonalat, akkor a PI utasítja a motorokat, hogy haladjanak előre, az alábbiak szerint
Ha a bal oldali érzékelő fekete vonalra kerül, akkor a PI utasítja a robotot, hogy a jobb oldali kerék egyedül forgatásával forduljon balra.
Ha a jobb oldali érzékelő fekete vonalra kerül, akkor a PI utasítja a robotot, hogy forduljon jobbra a bal kerék egyedüli forgatásával.
Ha mindkét érzékelő fekete vonalon áll, a robot leáll.
Így a robot képes lesz követni a vonalat anélkül, hogy kijutna a pályáról. Most nézzük meg, hogyan néz ki az áramkör és a kód.
Raspberry Pi vonalkövető robot áramköri ábra és magyarázat:
A Raspberry Pi vonalkövető robot teljes kapcsolási rajza alább látható
Mint látható, az áramkör két IR-érzékelőt és egy pár motort tartalmaz, amelyek a Raspberry pi-hez vannak csatlakoztatva. A teljes áramkört egy Mobile Power bank táplálja (amelyet AAA elem képvisel a fenti áramkörben).
Mivel a csapok részleteit a Raspberry Pi nem említi, az alábbi kép segítségével ellenőriznünk kell a csapokat
Amint az a képen látható, a PI bal felső sarokcsapja a + 5V tű, ezt az + 5V tűt használjuk az infravörös érzékelők táplálásához, az áramköri ábra szerint (piros vezetékes). Ezután fekete vezetékkel csatlakoztatjuk a földelő csapokat az IR érzékelő és a Motor meghajtó modul földjéhez. A sárga vezetéket arra használják, hogy az 1. és 2. érzékelő kimeneti csatlakozóját a GPIO és a 3. érintkezőhöz csatlakoztassák.
A motorok vezetéséhez négy csapra van szükségünk (A, B, A, B). Ez a négy érintkező a GPIO14,4,17 és a 18-ból származik. A narancssárga és a fehér huzal együtt alkotja a csatlakozást egy motorhoz. Tehát két ilyen párunk van két motorhoz.
A motorok az L293D Motor Driver modulhoz vannak csatlakoztatva, a képen látható módon, és a meghajtó modult egy tápegység táplálja. Győződjön meg arról, hogy az árambank földje csatlakozik a Raspberry Pi földjéhez, csak akkor működik a kapcsolata.
A Raspberry PI programozása:
Miután végzett az összeszereléssel és a csatlakozásokkal, robotjának ilyennek kell kinéznie.
AItt az ideje, hogy programozzuk a botunkat és futtassuk. A bot teljes kódja az oktatóanyag alján található. Itt többet megtudhat a Raspberry Pi programozásáról és futtatásáról. A fontos sorokat az alábbiakban ismertetjük
GPIO fájlt fogunk importálni a könyvtárból, az alábbi funkció segítségével programozhatjuk a PI GPIO csapjait. A „GPIO” -ot „IO” -ra is átnevezzük, így a programban, amikor csak GPIO-csapokra akarunk utalni, az „IO” szót fogjuk használni.
importálja az RPi.GPIO-t IO-ként
Néha, amikor a GPIO csapok, amelyeket megpróbálunk használni, más funkciókat is elláthatnak. Ebben az esetben figyelmeztetéseket kapunk a program futtatása közben. Az alábbi parancs arra utasítja a PI-t, hogy figyelmen kívül hagyja a figyelmeztetéseket, és folytassa a programot.
IO.setwarnings (hamis)
Hivatkozhatunk a PI GPIO csapjaira, akár a fedélzeten található PIN-kód, akár a funkciójuk száma alapján. A táblán lévő „PIN 29” -hez hasonlóan a „GPIO5”. Tehát itt elmondjuk, hogy vagy itt fogjuk ábrázolni a „29” vagy „5” betűket.
IO.setmode (IO.BCM)
6 csapot állítunk be- / kimeneti csapként. Az első két érintkezők az IR érzékelő beolvasására szolgáló bemeneti csapok. A következő négy a kimeneti csap, amelyekből az első kettőt a jobb motor vezérléséhez, a következő kettőt a bal motor vezérléséhez használják.
IO.setup (2, IO.IN) #GPIO 2 -> Bal IR kimenet IO.setup (3, IO.IN) #GPIO 3 -> Jobb IR kimenet IO.setup (4, IO.OUT) #GPIO 4 - > Motor 1 terminál A IO.beállítás (14, IO.OUT) # GPIO 14 -> 1. motor B kapocs IO.beállítás (17, IO.OUT) #GPIO 17 -> Motor bal kapocs A IO.beállítás (18, IO.OUT) #GPIO 18 -> Motor bal kapcsa B
Az infravörös érzékelő „True” értéket ad ki, ha fehér felületen van. Tehát mindaddig, amíg mindkét érzékelő igazat mond, addig haladhatunk.
if (IO.input (2) == True és IO.input (3) == True): # mindkettő fehér IO.output (4, True) # 1A + IO.output (14, False) # 1B- IO.output (17, True) # 2A + IO.output (18, False) # 2B-
Meg kell , hogy egy jobbra kanyarodik, ha az első infravörös érzékelő jön, mint egy fekete vonalat. Ez az infravörös érzékelő beolvasásával történik, és ha a feltétel teljesül, leállítjuk a jobb oldali motort, és egyedül forgatjuk a bal motort, az alábbi kód szerint
elif (IO.input (2) == Hamis és IO.input (3) == True): #fordítsa jobbra IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, igaz) # 2A + IO. Output (18, hamis) # 2B-
Meg kell , hogy egy balra, ha a második infravörös érzékelő jön, mint egy fekete vonalat. Ez az infravörös érzékelő beolvasásával történik, és ha a feltétel teljesül, leállítjuk a bal motort, és egyedül forgatjuk a jobb oldali motort, az alábbi kód szerint
elif (IO.input (2) == Igaz és IO.input (3) == Hamis): #kapcsolás balra IO.output (4, True) # 1A + IO.output (14, False) # 1B- IO.output (17, True) # 2A + IO. Output (18, True) # 2B-
Ha mindkét érzékelő fekete vonalon jön át, az azt jelenti, hogy a robotnak le kell állnia. Ez úgy valósítható meg, hogy a motor mindkét kapcsa igaz lesz, amint az az alábbi kódon látható
else: #maradj továbbra is IO.output (4, True) # 1A + IO.output (14, True) # 1B- IO.output (17, True) # 2A + IO.output (18, True) # 2B-
Málna Pi vonalkövető akcióban:
Töltse fel a sorkövető python kódját a Raspberry Pi-re és futtassa. Szükségünk van egy hordozható tápegységre, ebben az esetben egy tápbank hasznos lesz, ezért én is ezt használtam. Az általam használt két USB-porttal rendelkezik, így a PI-t és másokat a motormotor meghajtójához tápláltam, amint az az alábbi képen látható.
Most csak annyit kell tennie, hogy beállítja a saját fekete színű sávját, és felengedi rajta a botját. A pálya elkészítéséhez fekete színű szigetelőszalagot használtam. Bármilyen fekete színű anyag használható, de ügyeljen arra, hogy az alapszíne ne legyen sötét.
A bot teljes működése az alábbi videón található. Remélem, megértette a projektet, és élvezett egy ilyen építését. Ha bármilyen kérdése van, küldje el az alábbi megjegyzés szakaszba.