Tartalomjegyzék:

Dog Bot: Lego Robot Rover webkamerával: 17 lépés (képekkel)
Dog Bot: Lego Robot Rover webkamerával: 17 lépés (képekkel)

Videó: Dog Bot: Lego Robot Rover webkamerával: 17 lépés (képekkel)

Videó: Dog Bot: Lego Robot Rover webkamerával: 17 lépés (képekkel)
Videó: Dog bot 2024, Július
Anonim
Image
Image

Az alábbiakban bemutatjuk, hogyan készíthet olyan Lego -robotot, amelyet bármilyen képernyőről vezérelhet wifi -n keresztül. Webkamerával is rendelkezik, így láthatja, hová megy, és LED -es fények a szemnek! Ez egy nagyszerű projekt a gyerekeivel, hiszen ők tudják elkészíteni a logóépítést, és bevonhatja őket az elektronika minden részébe, amennyire elégedettek. Sok rugalmasság van a projekt megvalósításában, és ez azt jelenti, hogy könnyen darabokra szedhető és újratervezhető. Hasznosnak találtam, amikor elakadtam, hogy egyszerűen újrakezdjem. Miután ezt néhányszor megtette, az alapoktól kezdve meglehetősen egyszerű és gyors újjáépíteni. A nagyszerű dolog ebben az, hogy nem kell aggódnia amiatt, hogy bármit "eltörhet", mivel fejleszteni fogja a könnyen újjáépíthető készségeket.

Amire szükséged van

  • Raspberry Pi B+
  • Alap és motor készlet
  • Lego alaplemez
  • Ipari szilárdságú szuper ragasztó
  • Fúró
  • Kézműves kés
  • Forrasztóberendezés
  • SD kártya
  • SD kártyaolvasó
  • Motorvezérlő készlet
  • 2 LED
  • közepes árú webkamera (kipróbálhat egy olcsót)
  • PC és tablet / telefon
  • Wifi útválasztó, amelyhez rendszergazdai hozzáféréssel rendelkezik
  • Sok -sok Lego
  • Sürgősségi telefon töltő
  • 4 ugró vezeték mindegyikben legalább 1 hüvelyes csatlakozóval
  • 4 db AA elem (jó az újratölthető)

Lépés: Készítse elő az alapot

Egy bázissal és 2 motorral kezdtem, mint ez a motorkészlet az Amazon -on

Fogja meg a perspex alapot, és ragasszon rá egy vékony Lego alaplemezt. Ehhez ipari szilárdságú szuperragasztót használtam, amely percek alatt megszárad és szuper erős. Ha a ragasztó rögzült, vágja le a felesleges Lego alaplemezt úgy, hogy az kövesse a perspex alaplemez vonalát. majd fúrjon lyukat a Lego lemezen keresztül, amely megfelel a perspex alapnak. Fúrtam a lyukakat, amikor és amikor szükségem volt rájuk. Most már megvan az alapja a Lego szerkezet felépítéséhez.

2. lépés: Szerelje össze a kerekeket

Szerelje össze a kerekeket
Szerelje össze a kerekeket

Most szerelje össze a kerekeket. Kövesse a gyártói utasításokat itt. A megvásárolt kerekeken minden utasítás kínai volt, amit nem tudok elolvasni, de a képek alapján nagyon könnyű volt rájönni. Az összeszerelés után csatlakoztassa a vezetékeket a motorokhoz egy kis forrasztópálcával.

3. lépés: Rögzítse a kerekeket az alaphoz

Rögzítse a kerekeket az alaphoz
Rögzítse a kerekeket az alaphoz

Ezután rögzítse a kerekeket az alaplemezre, szükség esetén lyukakat fúrhat az alapba. Valószínűleg a projekt vége felé megtudja, hogy szeretné, ha a vezetékek valahol máshol vezetnének keresztül a bázison, de mindig fúrhat egy új lyukat, és később áthelyezheti.

4. lépés: Készítse elő a Pi -t

Készítse elő a Pi -t
Készítse elő a Pi -t

Most készítse elő a PI -t. Egy B+ modellt használtam, USB wifi hardverkulccsal. A teljes asztali képet használtam a Debian Jessie alapján, amelyet letölthet a Raspbian Pi webhelyről. Érdemes az SD -kártyát a semmiből létrehozni, és tartsa kéznél a lemezképet, mivel könnyen újrakezdheti. Lehet, hogy némi googlizást kell végeznie, hogy kitalálja, hogyan hozhatja létre a lemezképet a számítógépen. A képemet az Ubuntu segítségével hoztam létre: Kattintson a jobb gombbal a lemezképre, és válassza a "Megnyitás lemezképíróval" lehetőséget. Írja be a képet az SD -kártyára. A lemezkép meglehetősen kicsi, így ha nagyobb SD -kártyával rendelkezik (pl. 30 GB), akkor a GParted -hez hasonló particionáló szoftvereket használhatja fel a rendelkezésre álló helyek kihasználásához. Miután kitalálta, hogyan kell ezt megtenni, körülbelül 5 percet vesz igénybe, és valóban megéri, mintha elrontaná a szoftvert, és csak újratelepítheti.

5. lépés: Szerelje fel a vezérlőpanelt

Szerelje fel a vezérlőpanelt
Szerelje fel a vezérlőpanelt

Ezután szüksége van egy motorvezérlő kártyára. A RyanTek készletét használtam. Kiváló forrasztási útmutatóval rendelkezik, de szerintem előforrasztva is beszerezheti. Ha még nem végzett forrasztást, ne aggódjon, csak lassan vegye és gyakoroljon egy kicsit, mielőtt elkezdené a motorlapot.

Most csatlakoztassa az akkumulátort (4 AA elemmel) és a motorokat a vezérlőpanelhez, majd csatlakoztassa a vezérlőpanelt a Pi GPIO csapjaihoz. Ismét a vezérlőpanel ad további részleteket. Ne aggódjon amiatt, hogy a megfelelő motorvezetékek a megfelelő résekbe kerülnek, mindaddig, amíg nincsenek csatlakoztatva az egyenáramú tápegységekhez. Nem ragasztom vagy csavarom a Pi -t vagy az akkumulátort a Lego táblára, mivel ez nagyobb rugalmasságot biztosít a Lego karosszéria tervezésekor. A tervezés közben is könnyedén megváltoztathatja.

6. lépés: Kezdje el építeni a Lego Body -t

Kezdje el építeni a Lego Body -t
Kezdje el építeni a Lego Body -t
Kezdje el építeni a Lego Body -t
Kezdje el építeni a Lego Body -t

Itt az ideje, hogy építsen egy kis Legót. Ezen a ponton igazán fiatal gyerekeket vonhat be, amíg el tudnak tartani egy darab Legót! Csak egy alapszögletes házzal kezdtük, amíg minden működött, majd kalandosabbá váltunk a kutya botjával. A nagy dolog itt az, hogy tetszés szerint újjáépítheti a robot testét. Kezdje azzal, hogy otthont teremt a Pi számára. Ne felejtsen el helyet hagyni az USB -portoknak és a tápkábeleknek. Építsen megfelelő mértékű lazaságot bármely épített házba. Rendben van, ha a dolgok kicsit zörögnek, és nem lehet túl pontos a Legóval.

Lego ablakokat használtunk, hogy hozzáférést biztosítsunk a később szükséges USB portokhoz.

7. lépés: Készítse elő a Pi -t

Itt az ideje, hogy elindítsa a Pi -t, és mozgassa a robotot.

Kidolgoztam a kódot, amelyet ezzel a projekttel használhatok a Git hubban. Olvassa el a git hub oldalain végigvezeti az utasításokat, hogyan kell telepíteni az összes szoftvert a Pi -re, de végigvezetem a lépéseken is itt.

Először indítsa el a Pi -t a tápkábel csatlakoztatásával. Csatlakoztatnia kell a HDMI -kábelt a TV -hez, és USB -billentyűzetet és egeret kell használnia. Az első dolog, hogy csatlakozzon a Wifi -hez. ezt a raspiai asztal jobb felső sarkában található ikonra kattintva és a részletek bizonyításával teheti meg. Miután csatlakozott a Wifi -hez, mindent megtehet a parancssorból, így ha úgy tetszik, csatlakozhat a Pi -hez az ssh használatával, de most, mivel csatlakoztatva vagyunk a TV -hez, megnyithatunk egy terminált a Raspian asztalról.

8. lépés: Telepítse a szoftvert a Pi -re

Nyissa meg a terminált a Pi -n, és írja be a következő parancsokat.

sudo apt-get update

Ez frissíti a Raspiant a legújabb szoftverrel.

Ezután telepítse a webkamera szoftvert

sudo apt-get install motion

Ezen a ponton a mozgást is konfigurálnia kell. Felsoroltam, hogy mely fájlokat kell frissíteni a github oldalain. Van egy tanulság is arról, hogyan lehet webkamerát működtetni a Pi -n. Ismerje meg a beállításokat, és játsszon velük, ha jól érzi magát a beállítással.

sudo apt-get install python-dev python-pip

Ez telepíti a Python könyvtárakat és a python szoftvercsomagkezelőt is.

sudo pip install 'pubnub> = 4.1.2'

Ez telepíti a Pubnub szoftvert, amely a kezelőpanel és a vezeték nélküli robot közötti üzenetkezelést kezeli.

Eltart egy darabig, amíg telepíti ezt az alkatrészt, ezért menjen és főzzen egy csésze teát !!

9. lépés: Telepítse a robotszoftvert

Most már telepítette az összes függő szoftvert, és ideje telepíteni a robot futtatásához szükséges kódot.

git klón

ez létrehoz egy lego-robot mappát a saját könyvtárában.

A robotkód futtatása előtt létre kell hoznia egy PubNub -fiókot, és meg kell szereznie a közzétételi és előfizetési kulcsot. ezt a PubNub kezdő lépéseit követve teheti meg. A beállítás után meg kell nyitnia a két fájlt:

  • lego-robot/szerver/kulcsok.py
  • lego-robot/kliens/kulcsok.js

és cserélje ki a kocsma és az alkulcsokat a pubnub irányítópultjáról beszerezhető kulcsokkal.

Ne feledje, hogy a csatorna értéke bármi lehet, feltéve, hogy megegyezik a kliensen és a szerveren.

10. lépés: Telepítse a vezérlőszoftvert, és ellenőrizze, hogy minden működik -e

Telepítse a vezérlőszoftvert, és ellenőrizze, hogy minden működik -e
Telepítse a vezérlőszoftvert, és ellenőrizze, hogy minden működik -e
Telepítse a vezérlőszoftvert, és ellenőrizze, hogy minden működik -e
Telepítse a vezérlőszoftvert, és ellenőrizze, hogy minden működik -e

PC -n ugyanúgy klónozzuk a git hub kódját, mint a roboton.

git klón

Lehet, hogy a git nincs telepítve a számítógépre. Ha nem, kövesse a git hub utasításait.

Lehetőség van a kód zip fájlként való letöltésére is, bár javaslom a GIT telepítését és a fájlok másolását a lerakat klónozásával.

frissítenie kell a lego-robot/client/keys.js fájlt személyes közzétételi és előfizetési kulcsaival.

Ha elkészült, nyissa meg a lego-robot/client/buttons.html fájlt egy webböngészőben. Most már képesnek kell lennie a robot vezérlésére a vezérlőgombokkal.

A fenti diagram mutatja, mi történik:

  • Amikor rákattint egy gombra, üzenetet küld a pubnubnak (a közzétételi kulcs használatával)
  • A PubNub ezután továbbítja a robotnak, aki…
  • Az üzeneteket hallgatja (az előfizetési gomb használatával)
  • A robot ezután cselekvéssé válik.

A pubNubot használtam ingyenes, gyors (valós időben), és nagyon leegyszerűsíti az üzenetek küldését és fogadását egy igazán szép API segítségével.

Beleáshat az ügyfél- és szerverkódba, és láthatja az üzeneteket az egyszerű billentyűk, például "előre" és "vissza" segítségével.

Van egy joystick stílusú vezérlő is a lego-robot/client/joystick.html webhelyen.

Ezeket a vezérlőket fejleszteni fogom, és folyamatosan újakat adok hozzá, így ha valaha is frissíteni szeretné a szoftvert, használhatja a "git pull" parancsot. Kérjük, bátran járuljon hozzá a git adattárhoz, és hozzon létre felhasználóbarátabb vezérlőket.

Most már készen áll arra, hogy ellenőrizze, hogy a mozgás rendben van-e. A Pi terminálon változtassa meg a könyvtárat lego-robot/szerverre, és írja be:

sudo python robot.py

ez elindít egy python szkriptet a Pubnub bejövő üzeneteinek figyelésére.

Most próbálja meg megnyomni a vezérlő néhány gombját, és látnia kell ezeket a válaszokat a Pi terminálon (a fenti képen látható módon), és a robot.py ezeket az üzeneteket mozgássá alakítja le, a Pi GPIO jelzéseire leképezve.

Képesnek kell lennie a robot mozgatására.

11. lépés: Készítse elő a webkamerát és a LED -lámpákat

Készítse elő a webkamerát és a LED -lámpákat
Készítse elő a webkamerát és a LED -lámpákat
Készítse elő a webkamerát és a LED -lámpákat
Készítse elő a webkamerát és a LED -lámpákat

Bármely, Linux -kompatibilis webkamerát használhat (a legtöbb ilyen). Középkategóriásat (kb. 15 font) választanék, mivel megpróbáltam egy igazán olcsót, és nem tudtam semmilyen tiszta képet kapni belőle. Az első lépés a webkamera szétszerelése, így csak az alaplap és a kamera áll rendelkezésére.

Ha lámpákat szeretne telepíteni, vegyen egy LED -es lámpát, és csatlakoztasson két ugróvezetéket minden csatlakozóhoz. Olyan ugróvezetékeket használtam, amelyek egyik végén női csatlakozó található, így később könnyen csatlakoztathatja a Pis GPIO csapokhoz. A vezeték másik végét le kell vetni, hogy eltávolítsa a terminált. Itt is forraszthat, hogy biztonságos kapcsolatot létesítsen. Én is használtam egy hőre zsugorodó pakolást, amellyel eltakarhatod az egyes huzalokat, bár nem aggódnék amiatt, hogy túl jó munkát végezzek, amíg nem vagy elégedett azzal, hogy minden működik, aztán befejezheted és javíthatsz. Szintén jó ötlet ellenállást használni, hogy megakadályozza a LED égését.

Itt található egy részletes utasítás, amely részletezi a LED -ek vezetékezését.

Amint a képen látható, egy Lego -blokkot használok lyukkal, hogy egyszerűen fel lehessen szerelni a LED -et a robotfejre.

12. lépés: Készítse el a fejet orr-bütyökkel és fényekkel

Készítse el a fejet orr-bütyökkel és fényekkel
Készítse el a fejet orr-bütyökkel és fényekkel
Készítse el a fejet orr-bütyökkel és fényekkel
Készítse el a fejet orr-bütyökkel és fényekkel
Készítse el a fejet orr-bütyökkel és fényekkel
Készítse el a fejet orr-bütyökkel és fényekkel

Hozzon létre egy fejházat a fényképezőgép számára. Itt nem leszek túl konkrét, mivel itt az ideje, hogy kreatív legyen. A kamera körül azonban építenie kell. A Dog bot integrálja a kamerát az orrába, és a szemek LED -ek. Ügyeljen arra, hogy hagyjon egy lyukat a fej hátsó részén, hogy kivegye a vezetékeket.

13. lépés: Egészítse ki a testet

Egészítsd ki a Testet
Egészítsd ki a Testet
Egészítsd ki a Testet
Egészítsd ki a Testet
Egészítsd ki a Testet
Egészítsd ki a Testet

Most örül, hogy a kutya bot alapvetően mozog, létrehozhat egy házat az akkumulátorokhoz. Egy 4 db AA elemet (a kerekekkel és a talppal együtt) és egy vészhelyzeti telefon töltőt használtam. Az AA elemek a kerekek egyenáramú motorjaihoz, a mobiltelefon -csomag pedig a Pi -hez való. Jó ötlet, hogy az akkumulátorokat könnyen hozzáférhetővé tegye, mivel újratöltéshez és cseréhez hozzá kell férnie hozzájuk.

Ha boldog lesz, tegyen tetőt a Pi fölé. Nem aggódom túlságosan a vezetékek és az áramkörök elrejtése miatt, mivel ez a robotok képének része. Azonban ezen a ponton minden rajtad múlik. Érdemes megfontolni, mennyire nehéz a botja, minél nehezebb, annál lassabban mozog.

14. lépés: Szerelje fel a fejet

Szerelje fel a fejet
Szerelje fel a fejet
Szerelje fel a fejet
Szerelje fel a fejet
Szerelje fel a fejet
Szerelje fel a fejet

Ideje mindent összekapcsolni.

Csatlakoztassa a webkamerák USB -vezetékét a robot elejéhez a létrehozott hozzáférési lyukak segítségével. A vezetékeket a robothoz rögzítheti néhány Lego ház létrehozásával. Az USB kábelt lerövidítettem azzal is, hogy elvágtam és újra forrasztottam, de ezt csak akkor tegye meg, ha valóban kedve van 4 apró vezeték összeforrasztásához. Könnyebb lehet rövid USB -kábelt vásárolni, és újra csatlakoztatni a fényképezőgép hátuljához.

A LED -lámpákat a Pis GPIO csapokhoz is csatlakoztatnia kell, amelyeket a motorvezérlő nem vett fel. Ezek a GPIO 20 -as és 21 -es csapjai, valamint a két tartalék földelőcsap a közelben. Használja a tartalék földelőcsapokat a közelben. Ha a lámpa nem működik, akkor próbálja meg a GPIO kimenettel földet váltani. Ahhoz, hogy kitaláljuk, mely csapokat kell csatlakoztatni a Google -hoz egy jó GPIO diagramhoz.

15. lépés: Ellenőrizze a LED -eket és az orr -bütyköt

Tesztelje a LED -eket és az orr -bütyköt
Tesztelje a LED -eket és az orr -bütyköt

A webkamera szoftver típusának elindításához:

sudo mozgás

Győződjön meg arról is, hogy elindította a robot.py szkriptet (az előző utasításban részletezett módon):

sudo python robot.py

Most már képesnek kell lennie a vezérlő lámpakapcsolójával a lámpák be- és kikapcsolására.

A webkamerának a Pis IP -címén kell sugároznia a 8080 -as porton, például írja be a következőt a webböngészőjébe.

192.168.1.2:8081

Úgy találtam meg a Pi IP -címet, hogy adminisztrátorként jelentkeztem be az útválasztómba, és néztem a csatlakoztatott eszközöket. Az erre vonatkozó utasítások általában az útválasztó hátoldalán találhatók, vagy olvassa el az útválasztó online utasításait.

felfedezheti a motion szoftver konfigurációs beállításait, az előző lépésben leírtak szerint. Azt tapasztalom, hogy néha a streamelés szünetel, de általában rendben működik.

Ezt a videófolyamot bárhonnan elérheti, amelyen a böngésző csatlakozik a Wifi hálózathoz.

16. lépés: A befejezés

Online hozzáférés

Most már képesnek kell lennie a robot vezérlésére egy számítógép böngészőjéből. Mindazonáltal jó, hogy a botot bármilyen érintőképernyős eszközről, például iPadről vagy telefonról vezérelheti.

Ehhez a kliensfájlokat (gombok.html stb.) Kell tárolnia egy webszerveren.

Először egy webszervert telepítettem a Pi -re, ami rendben működik. Könnyebb azonban egyszerűen feltölteni a HTML -fájlt bármely más webszerverre. Egyszerűen bemásoltam a HTML -fájlt a nyilvános kék gazdaszámlámra. Érdemes lehet fájlvédelemmel ellátni ezeket a fájlokat, mivel ezek tartalmazzák a pub nub csatorna pub kulcsait. Miután ezt megtette, bármilyen eszközről elérheti a vezérlőt, még a házon kívülről is.

Automatikus indítás

Egy másik hasznos dolog az, hogy frissíti a / etc / rc.local scriptet a málna Pi -n; ezt a két sort hozzáadva:

  • sudo mozgás
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Ezek minden alkalommal elindulnak, amikor a Pi elindul, így nem kell manuálisan futtatni a parancsot.

17. lépés: Jó szórakozást

Érezd jól magad !
Érezd jól magad !

Ez minden.

Kérjük, nyugodtan írjon megjegyzéseket, ha elakad, és ha javítani szeretne a szoftverek bármelyikén, kérjük, járuljon hozzá a github adattárhoz. Folytatni fogom a projektet, és íme néhány ötlet:

  • Egy "nagy trak" stílusú vezérlő, ahol olyan parancsokat programoz, mint a "bal 10, előre 6, hát 2 …", majd nyomja meg a "futtatás" gombot, és a robot végrehajtja a parancsokat.
  • Dönthető nyak, így a webkamerával felfelé nézhet
  • Hangszóró, amely szöveget fordít a vezérlőről beszédre
  • Hangvezérelt vezérlés

Egészségére

Péter

Ajánlott: