Tartalomjegyzék:

Android G1 sorozat az Arduino robothoz: 8 lépés
Android G1 sorozat az Arduino robothoz: 8 lépés

Videó: Android G1 sorozat az Arduino robothoz: 8 lépés

Videó: Android G1 sorozat az Arduino robothoz: 8 lépés
Videó: Ильдар Авто-подбор поехали довезу 2024, Szeptember
Anonim
Android G1 sorozat az Arduino Robothoz
Android G1 sorozat az Arduino Robothoz
Android G1 sorozat az Arduino Robothoz
Android G1 sorozat az Arduino Robothoz
Android G1 sorozat az Arduino Robothoz
Android G1 sorozat az Arduino Robothoz

Ismerje meg, hogyan tudja Android -mobiltelefonja irányítani a robotot egy Arduino tábla segítségével. A telefon telneten keresztül fogadja a parancsokat egy másik telefonról vagy számítógépről, így távolról vezérelheti a robotot. Ez a projekt egyébként nem módosítja a G1 -et, így a leválasztás után is használhatja normál telefonként. Miért? Olcsó elektronikus alkatrészek, például Arduino táblák használatával párosíthatja őket 400 dolláros telefonjával, és fantasztikus robotot készíthet. Több száz dollárba kerülne egy GPS, LCD-k, mozgásérzékelők, wi-fi, mobilkapcsolatok, hangszórók és egyebek hozzáadása egy hobbibothoz, de a telefon már rendelkezik ezekkel! Az Android G1 és az Arduino kártya együtt lehetővé teszi az olcsó elektronika, például egyszerű szervók és érzékelők használatát olyan hatékony eszközök, például robotok, távoli telephely vagy szórakoztató játékok készítéséhez gyerekeknek. További információ a Cellbots.com webhelyen. Hozzáadhat egy 20 dolláros BlueTooth modult az Arduino táblához, hogy a telefon beszéljen vele a soros BlueTooth -on keresztül, ha a kereskedelmi Android szoftvert szeretné használni. Külön köszönet: Köszönjük a Hacker Dojo -t Mountain View -ben, Kaliforniában, hogy kapcsolatba lépett velünk, segített néhány trükkös kérdésben a félelmetes tagok levelezőlistáján keresztül, és hogy 74LS04 zseton van raktáron. Az összeszerelés nagy részét a Menlo Park Tech Shop -ban végezték.

1. lépés: Szükséges elemek

Szükséges elemek
Szükséges elemek
Szükséges elemek
Szükséges elemek
Szükséges elemek
Szükséges elemek

Az oktatóanyag befejezéséhez a következőkre lesz szüksége: Hardver: - Android G1 Dev telefon (vagy más, root hozzáféréssel és soros kimenettel rendelkező Android -eszköz) - Arduino (Freeduino SB -t használok, de bármelyiknek meg kell tennie) - 3.3v - 5v konverter, ha nem 3.3 V -os Arduino -t használ (én 74LS04 -es chipet használok 1 dollár alatt, de más lehetőségek is rendelkezésre állnak) - HTC USB -megszakítópanel a G1 -hez - Forrasztóberendezés két gyorscsatlakozáshoz - Robot test mikroszervók (karton, akril, futófelületek, kerekek, bármi megteszi) Szoftver: - Android Scripting Environment (ASE) - Telnet kliens a számítógéphez (PuTTY -t használok Windows rendszeren) - Arduino fejlesztői környezet - (opcionális) Soros kliens a számítógép (ehhez a PuTTY -t is használom Windows rendszeren) - (opcionális) Android SDK Ha követheti az utasításokat, akkor ezt az oktatóanyagot a Python, az Arduino, az Android vagy az elektronika kevés ismeretével hajthatja végre. Tudni szeretné ezeket a dolgokat, ha túl szeretne lépni a villogó LED -en, de ezzel elindul.

2. lépés: Android G1, soros kimenettel engedélyezve

Android G1 soros kimenettel
Android G1 soros kimenettel
Android G1 soros kimenettel
Android G1 soros kimenettel
Android G1 soros kimenettel
Android G1 soros kimenettel

A G1 -ek nem szállítanak azzal a képességgel, hogy soros parancsokat küldjenek ki az USB -portról, és nincs natív lehetőség annak engedélyezésére. Ha Ön fejlett Android SDK -felhasználó, saját maga készíthet buildet, de én a Cyanogenmod 4.2.13 verzióját választottam. Ha ismeri a soros kimenettel működő más Android -eszközöket, adja hozzá őket a megjegyzésekhez.

Opcionálisan követheti az ott található hivatkozásokat, amelyekből megtudhatja, hogyan beszélhet G1 -jével USB -n keresztül a számítógépről. Ehhez a bemutatóhoz nem szükséges ez a soros -USB kapcsolat, de szép észjárás -ellenőrzésként használtam annak ellenőrzésére, hogy a telefon soros kimenetet küld -e. Ha nem használja a másik intructable -t a soros kimenet működésének ellenőrzésére, akkor próbálja ki ezt az egyszerű ellenőrzést: 1. Nyissa meg a Terminál alkalmazást a G1 -en (ciántartalmú, de töltse le a Marketről, ha más a kép). Navigáljon a/dev/könyvtárhoz a cd/dev/3. begépelésével. Írja be az ls (ez egy L) betűt, és keresse meg a ttyMSM2 parancsot a visszaadott listában. A később használt Python -parancsfájl a (z) parancsot, hogy menjenek ki a soros kapcsolatból. Mivel ez root hozzáférést igényel, minden alkalommal módosítania kell az engedélyeket, amikor újraindítja a telefont. Ehhez tegye a következőket: 1. Nyissa meg a terminál alkalmazást a telefonon. 2. Írja be a „chmod 777 /dev /ttyMSM2” parancsot, majd a következő lépésben futtathatja a Python szkriptet az Android Scripting szerkesztésből, és hozzáférhet a soros kimenet küldéséhez.

3. lépés: Telepítse az Android parancsfájl -környezetet (ASE) a Python segítségével

Telepítse az Android parancsfájl -környezetet (ASE) a Python segítségével
Telepítse az Android parancsfájl -környezetet (ASE) a Python segítségével
Telepítse az Android parancsfájl -környezetet (ASE) a Python segítségével
Telepítse az Android parancsfájl -környezetet (ASE) a Python segítségével

A szkriptek, amelyeket nyitott aljzatkapcsolat létrehozására használunk a telefonon, és parancsokat küldünk ki, Pythonban vannak írva. Ahhoz, hogy ezt a G1 -en futtathassuk, szükségünk lesz az Android szkriptkörnyezetre. Ha nem látja a piacon, akkor letöltheti az oldal vonalkódjának beolvasásával, amely ezen az oldalon található apk -fájlra mutat.

Az ASE telepítése és futtatása után fel kell vennie a Python modult a menüből: 1. Nyissa meg az ASE-t, és győződjön meg arról, hogy működik-e az internetkapcsolata (wi-fi vagy 3G). 2. Nyomja meg a telefon menügombját, és válassza ki Tolmácsok 3. Nyomja meg ismét a menüt, és válassza a Hozzáadás lehetőséget. 4. Válassza ki a Python -ot (jelenleg v2.6.2, amikor ezt írta), és letölt néhány zip -fájlt. Érdemes felfedezni a szkriptek létrehozását, megnyitását, szerkesztését és futtatását, hogy megismerkedjen a Python segítségével ASE, de nem kötelező.

4. lépés: Másolja és futtassa a Cellbot.py parancsfájlt a Python program elindításához

Másolja és futtassa a Cellbot.py parancsfájlt a Python program elindításához
Másolja és futtassa a Cellbot.py parancsfájlt a Python program elindításához

Ez az oktatóanyag egy Python -szkriptet használ a robot "agyának". Szerezze be a legújabb kódot a nyílt forráskódú Google Code projektünkből. Csak a cellbot.py fájlra van szüksége, de mások segíthetnek a felfedezni kívánt dolgokban. Egyszerűen csatlakoztattam a telefont a számítógépem USB -csatlakozójához, és csatlakoztattam a meghajtót, mielőtt a fájlt a/sdcard/ase/scripts fájlba másoltam.

A program nyitott socket kapcsolatot hoz létre a bejövő telnet szekció elfogadásához. A fogadott parancsokat a képernyőre is kinyomtatja, miközben kiküldi a soros portot. Helyezze ezt a fájlt a telefon SD -kártyájára a/ase/scripts/könyvtárba. A szkriptek betöltésének és futtatásának részletes lépései: 1. Másolja át a cellbot.py parancsfájlt az SD -kártya/ase/scripts/könyvtárába. az SD -kártyát a számítógépről, ha így másolta őket, mivel a telefon nem tudja elérni a fájlokat a számítógéppel egy időben. 3. Nyissa meg az Android Scripting Environment alkalmazást. 4. Kattintson a cellbot.py elemre az indításhoz. Látnia kell egy megerősítést arról, hogy az eszköz készen áll a bejövő telnet szekciók fogadására a 9002 -es porton. Tipp: Futtassa a "chmod 777 /dev/ttyMSM2 "parancs először a 3. lépésből. A telefon IP -címének kereséséhez lásd az 5. lépést.

5. lépés: Telnet a G1 -be és tesztelési parancsok

Telnet a G1 -be és tesztelési parancsok
Telnet a G1 -be és tesztelési parancsok
Telnet a G1 -be és tesztelési parancsok
Telnet a G1 -be és tesztelési parancsok
Telnet a G1 -be és tesztelési parancsok
Telnet a G1 -be és tesztelési parancsok

A telefonnak készen kell állnia arra, hogy telnetet írjon hozzá, és parancsokat küldjön a számítógépről. Kinyomtatja őket a telefon képernyőjére, hogy megerősítse, mit kap. A PuTTY -t Windows rendszeren használtam, de megerősítettük, hogy a minicom remekül működik a Mac számítógépeken, ahogy az ebben az utasításban le van írva.

Először meg kell találnia a telefon IP -címét. Ez a Menü> Beállítások> Vezeték nélküli vezérlők> Wi-Fi beállítások menüpontban érhető el, majd az éppen aktív kapcsolat megnyomásával. Egy felugró pirítós üzenet jelenik meg a helyi hálózat aktuális IP-címével. Írja le ezt, mert ezt fogja használni minden alkalommal, amikor Telnet -munkamenetet szeretne megnyitni a számítógépről. Az IP -hozzárendelések általában bizonyos napok után lejárnak, ezért előfordulhat, hogy ezt újra ellenőriznie kell. Megjegyzés: Ez az oktatóanyag feltételezi, hogy a számítógép és a telefon ugyanazon a helyi hálózaton van. Lehetővé kell tenni a telefonra történő irányítást a helyi hálózaton kívülről, de ez itt nem szerepel. Nyissa meg a választott telnet -ügyfelet, és csatlakozzon a telefon IP -címéhez a 9002 -es porton. Ezt parancssorból "telnet 192.168.1.1 9002" -ként teheti meg, a telefon tényleges IP -címével. Írjon be néhány karaktert, és nyomja meg az Enter billentyűt, hogy megjelenjenek a telefon képernyőjén. Ha beír egy q -t, a Python -parancsfájl leáll, ami lezárja a terminál munkamenetét. Ha valamilyen oknál fogva nem tud csatlakozni a telneten keresztül, és meg kell ölnie a programot, akkor a telefon egyszerű újraindítása segíthet. Haladó felhasználóknak meg kell találniuk a folyamat azonosítóját a ps -en keresztül, majd le kell állítani a kill használatával. Haladó: Ennek egy későbbi verziója helyi webszervert futtathat a telefonról, ahelyett, hogy telneten keresztül fogadna parancsokat. Az XMPP -t is felfedezzük, hogy chatelhessen a robotjával.

6. lépés: Csatlakoztasson egy 3.3v -5v szintváltót az Arduino -hoz

Csatlakoztasson egy 3.3v -5v szintváltót az Arduino -hoz
Csatlakoztasson egy 3.3v -5v szintváltót az Arduino -hoz
Csatlakoztasson egy 3.3v -5v szintváltót az Arduino -hoz
Csatlakoztasson egy 3.3v -5v szintváltót az Arduino -hoz
Csatlakoztasson egy 3.3v -5v szintváltót az Arduino -hoz
Csatlakoztasson egy 3.3v -5v szintváltót az Arduino -hoz

Az oktatóanyagban használt Arduino 5V -os modell, ezért a G1 -ből érkező 3,3 V -os jelet szintváltóval kell átalakítanunk. Lehetővé kell tenni, hogy közvetlenül csatlakozzon egy 3.3 V -os Arduino -hoz, de ezt nem teszteltem.

Ennek több módja is van, de ebben a példában egy 74LS04 chipet fogunk használni. Itt kereshet egyet, és valószínűleg 1 dollár alatt vannak. Tim és én felvettük a mieinket a Hacker Dojo -ból, Mountain View, CA, de ezek NAGYON gyakoriak, és bőségesnek kell lenniük mindenhol, ahol zsetont árulnak vagy adományoznak. Magas szinten egyszerűen elküldjük a TX jelet a HTS USB megszakító kártyáról a 74LS04 chip 1. tűjébe. Ahhoz, hogy működjön, kétszer végigmegyünk a chipen, és kijövünk a 4 -es tűből a Freeduino SB RX -érintkezőjébe (a soros tű eltérő lehet, ha van másik Arduino -lapja, de ezt mindenkinek támogatnia kell). Kövesse az alábbi lépéseket a szintváltó bekötéséhez és a HTC USB -kártya csatlakoztatásához (még ne csatlakoztassa a telefonhoz, és ne húzza ki az Arduino tápkábelét): 1. Helyezze be a 74LS04 chipet a kenyértáblájára. Győződjön meg arról, hogy a chip akadályozza a középső törést, hogy a csapok ne legyenek rövidre zárva (először hülye mozdulatot tettem) 2. Katona két vezeték a HTC USB -kártyához az ebben az utasításban leírtak szerint, de csak a 7 -es csapokat fogjuk használni (Ground) és 8 (TX0), mivel ehhez az oktatóanyaghoz csak egyirányú adást végzünk. 3. Csatlakoztassa a földelővezeték másik végét (7. tű) a kenyérlapján lévő földhöz (amelyet az Arduino földjéhez kell csatlakoztatni). a 74LS04 chip 1. tűjébe fut. (végezzen képkeresést a chip teljes diagramjához) 5. Csatlakoztasson egy vezetéket a chip 2. és 3. tűjének csatlakoztatásához. 6. Csatlakoztassa a chip 4. tűjét az Arduino RX ponthoz (0. tű a Freeduino SB -n és az Arduino Duemilanove -on)) 7. Csatlakoztassa a chip 7 -es tüskéjét (GND) a kenyérsütő táblához (amely szintén az Arduino földhöz csatlakozik). 5v kimenet) Most készen kell állnia arra, hogy csatlakoztassa a HTC USB-megszakító kártyát a telefon aljához, és kapcsolja be az Arduino-t. Ellenőrizze a szikrákat és szagokat, és érintse meg a dolgokat, hogy megbizonyosodjon arról, hogy hűvösek. Megjegyzés: A jelenlegi cellbot kód bekapcsolja a 13. LED -et, amikor a robot szervomotorjainak futniuk kell. Ha még nincs robotja, ellenőrizheti, hogy a LED ki- és bekapcsol, és megerősíti, hogy működik.

7. lépés: Töltse be a Cellbots programot az Arduino -ra

Töltse be a Cellbots programot az Arduino -ra
Töltse be a Cellbots programot az Arduino -ra
Töltse be a Cellbots programot az Arduino -ra
Töltse be a Cellbots programot az Arduino -ra

Szerezze be az Arduino forráskódot a Google Code projekt webhelyéről. Nyissa meg a Cellbots.pde Arduino programot az Arduino szerkesztőben. Ezután tolja az Arduino táblára.

Tesztelheti az Arduino kóddal való beszélgetést, ha megnyitja a soros monitort az Arduino szerkesztőben. Ez nagyszerű módja annak, hogy tesztelje robotját vagy eszközét úgy, hogy közvetlenül beszél az Arduino -val, mielőtt mindent a telefonhoz csatlakoztat. A kód soros parancsokat küld vissza a soros monitornak, hogy megerősítse, mit csinál, még akkor is, ha még nem építette be a robotját.. Tehát érdemes lehet ezt kapcsolni, de egyszerűen kihúztam a konnektorból, amikor új programot kellett betöltenem.

8. lépés: Futtassa az egész folyamatot

Futtassa a teljes folyamatot
Futtassa a teljes folyamatot
Futtassa a teljes folyamatot
Futtassa a teljes folyamatot
Futtassa a teljes folyamatot
Futtassa a teljes folyamatot

Képesnek kell lennie csatlakoztatni a HTC USB -kártyát a telefonhoz, bekapcsolni a cellbot.py fájlt ASE -ben, és terminálszekciókat nyitni a telefonba. Gépelje be a "H" betűt, hogy a telefon köszönjön, vagy bármilyen más parancs a README.txt fájlból.

A "q" kilép a Python parancsfájlból a telefonban, és bezárja a terminál foglalatát. Íme egy összefoglaló, hogyan működik mindez: 1. A Python szkript megnyit egy aljzatot a bejövő telnet kapcsolatok fogadására, és visszhangozza a parancsokat a soros porton 2 Csatlakozunk számítógépről a telefonhoz a telneten keresztül a 9002 -es porton, és elküldjük a 3. képernyőn látott parancsokat. A jel a 2 -es érintkezőn lévő chipből jön ki, a 3 -as érintkezőn vissza, és a 4 -es tűn ismét megjelenik 5 V -nál. Arduino -nk elfogadja a 0 jelű RX -es soros jelet, és feldolgozza a Cellbot.pde 6. programon keresztül. beírhatja a "q" -t, hogy megölje a Python szkriptet, és lezárja a telnet kapcsolatot Most, hogy befejezte ezt a nagyon bonyolult folyamatot, hogy alapvető parancsokat küldjön egy Arduino robotnak, itt az ideje, hogy feltörje, hogy fantasztikusabb legyen! Még nincs kétirányú soros működésünk, így az Arduino nem küldhet vissza parancsokat a telefonba, de ezen dolgozunk. Legyen naprakész, ha feliratkozik blogunkra a Cellbots.com oldalon. A szerzőkről: Tim Heath Vezető kutató, aki először összeállította ezt a folyamatot a Menlo Park -i Tech Shopban, ahol tagja. Ryan Hickman programozó, aki a Python és az Arduino kódon dolgozott, és ennek az utasításnak a szerzője.

Ajánlott: