Sisukord:

Android G1 jada Arduino robotile: 8 sammu
Android G1 jada Arduino robotile: 8 sammu

Video: Android G1 jada Arduino robotile: 8 sammu

Video: Android G1 jada Arduino robotile: 8 sammu
Video: Finally have my Arduino connected to a G1 2024, September
Anonim
Android G1 jada Arduino robotile
Android G1 jada Arduino robotile
Android G1 jada Arduino robotile
Android G1 jada Arduino robotile
Android G1 jada Arduino robotile
Android G1 jada Arduino robotile

Siit saate teada, kuidas teie Android -mobiiltelefon saab Arduino tahvli abil robotit juhtida. Telefon võtab käske telneti kaudu teisest telefonist või arvutist, nii et saate robotit kaugjuhtida. See projekt ei muuda G1 -d muidu, nii et saate pärast selle lahtiühendamist jätkata selle kasutamist tavalise telefonina. Miks? Kasutades odavaid elektroonikakomponente, näiteks Arduino tahvleid, saate need siduda oma 400 -dollarise telefoniga, et saada vinge robot. GPS-i, LCD-de, liikumisandurite, wi-fi, mobiilsideühenduste, kõlarite ja muu lisamine hobibotti maksaks sadu dollareid, kuid teie telefonil on need juba olemas! Koos Android G1 ja Arduino plaat võimaldavad teil kasutada odavat elektroonikat, näiteks lihtsaid servosid ja andureid, et ehitada lastele võimsaid seadmeid, nagu robotid, kaugtelevisioon või lõbusad mänguasjad. Lisateavet leiate aadressilt Cellbots.com. Märkus. See projekt vajab praegu juurejuurdepääsuga Android G1, et kasutada telefonist Arduino robotile jadaväljundit. Kui soovite kasutada kaubanduslikku Androidi tarkvara, saate oma Arduino tahvlile lisada $ 20 BlueToothi mooduli, et telefon saaks sellega BlueToothi kaudu rääkida. Eriline tänu: Hacker Dojo Mountain View's, CA, tänab meid teiega ühenduse võtmise, aitamise eest keeruliste probleemide lahendamisel nende hämmastavate liikmete meililisti kaudu ja 74LS04 kiipide laos hoidmise eest. Suurem osa kokkupanekust tehti Tech Shopis Menlo pargis.

Samm: vajalikud esemed

Vajalikud esemed
Vajalikud esemed
Vajalikud esemed
Vajalikud esemed
Vajalikud esemed
Vajalikud esemed

Selle õpetuse lõpuleviimiseks vajate järgmist: Riistvara: - Android G1 Dev telefon (või muu Android -seade, millel on juurjuurdepääs ja jadaväljund) - Arduino (ma kasutan Freeduino SB -d, kuid igaüks peaks seda tegema) - 3,3–5 V muundur, kui te ei kasuta 3,3 V Arduino -d (ma kasutan 74LS04 kiipi alla 1 dollari, kuid saadaval on ka teisi võimalusi) - HTC USB -katkestusplaat G1 -le - jootmisseade kahele kiirühendusele - robotkorpus Mikroservod (papp, akrüül, turvised, rattad, kõik sobib) Tarkvara: - Androidi skriptimiskeskkond (ASE) - Telneti klientarvuti (kasutan Windowsis PuTTY -d) - Arduino arenduskeskkond - (valikuline) teie arvuti (ma kasutan selleks ka Windowsis PuTTY -d) - (valikuline) Android SDK Kui saate juhiseid järgida, saate selle õpetuse lõpule viia, teades vähe Pythoni, Arduino, Androidi või elektroonikat. Sa tahad neid asju teada, kui tahad minna kaugemale kui vilkuv LED, kuid see aitab sul alustada.

2. toiming: Android G1 jadaväljundiga lubatud

Android G1 jadaväljundiga lubatud
Android G1 jadaväljundiga lubatud
Android G1 jadaväljundiga lubatud
Android G1 jadaväljundiga lubatud
Android G1 jadaväljundiga lubatud
Android G1 jadaväljundiga lubatud

G1 -sid ei tarnita koos USB -pordist jadakäskude saatmise võimalusega ja selle lubamiseks pole ühtegi kohalikku võimalust. Kui olete Androidi SDK edasijõudnud kasutaja, saate ise koostada, kuid otsustasin kasutada Cyanogenmod 4.2.13. Kui teate teisi Android -seadmeid, mille seeriaväljund töötab, lisage need kommentaaridesse.

Soovi korral saate oma arvutist USB -ühenduse kaudu G1 -ga rääkides järgida selle juhendi linke. See õpetus ei vaja seda jadaühendust USB -ga, kuid ma kasutasin seda kena mõistlikkuse kontrollimiseks, et kontrollida, kas telefon saadab jada välja. Kui te ei kasuta teist sisendväljundit seeriaväljundi toimimise kontrollimiseks, võite proovida seda lihtsat kontrolli: 1. Avage G1 -l rakendus Terminal (kaasas tsüanogeen, kuid laadige see turult alla, kui teil on erinev pilt) 2. Liikuge kataloogi/dev/, sisestades cd/dev/3. Sisestage ls (see on L) ja otsige loendist ttyMSM2. Hiljem kasutatav Pythoni skript saadab käsud asukohta '/dev/ttyMSM2' et nad jadaühenduse välja lülitaksid. Kuna see nõuab juurjuurdepääsu, peate selle õigusi iga kord telefoni taaskäivitamisel muutma. Selleks tehke järgmist. 1. Avage telefoni terminalirakendus. 2. Sisestage 'chmod 777 /dev /ttyMSM2'. Seejärel saate järgmises etapis käivitada Androidi skriptide redigeerimisest Pythoni skripti ja sellel on juurdepääs jadaväljundi saatmiseks.

Samm: installige Pythoni abil Androidi skriptikeskkond (ASE)

Installige Pythoni abil Androidi skriptikeskkond (ASE)
Installige Pythoni abil Androidi skriptikeskkond (ASE)
Installige Pythoni abil Androidi skriptikeskkond (ASE)
Installige Pythoni abil Androidi skriptikeskkond (ASE)

Skriptid, mida kasutame telefonis avatud pistikupesaühenduse loomiseks ja käskude saatmiseks, on kirjutatud Pythonis. Selle G1 -s käitamiseks vajame Androidi skriptikeskkonda. Kui te seda turul ei näe, saate selle alla laadida, skannides sellel lehel oleva vöötkoodi, mis viitab sellel lehel olevale apk -failile.

Kui olete ASE installinud ja käivitanud, soovite menüüst Pythoni mooduli lisada: 1. Avage ASE ja veenduge, et teil on toimiv Interneti-ühendus (wi-fi või 3G). 2. Vajutage telefoni menüünuppu ja valige Tõlgid 3. Vajutage uuesti menüüd ja valige Lisa 4. Valige Python (praegu selle kirjutamise hetkel v2.6.2) ja see laadib alla mõned zip -failid. Võimalik, et soovite uurida skriptide loomist, avamist, redigeerimist ja käivitamist, et Pythoniga tutvuda ASE, kuid see pole kohustuslik.

Samm: kopeerige ja käivitage Pythoni programmi käivitamiseks skript Cellbot.py

Pythoni programmi käivitamiseks kopeerige ja käivitage skript Cellbot.py
Pythoni programmi käivitamiseks kopeerige ja käivitage skript Cellbot.py

See õpetus kasutab Pythoni skripti, et olla roboti "aju". Hankige uusim kood meie avatud lähtekoodiga Google Code projektist. Teil on vaja ainult faili cellbot.py, kuid teised võivad aidata mitmesuguste asjadega, mida soovite uurida. Ühendasin telefoni lihtsalt oma arvuti USB -ühendusega ja ühendasin draivi enne faili kopeerimist faili/sdcard/ase/scripts.

Programm loob avatud pistikupesa ühenduse sissetuleva telnet -seansi vastuvõtmiseks. Samuti prindib see jadapordist väljasaatmisel vastuvõetud käsud ekraanile. Pange see fail telefoni SD -kaardile kataloogi/ase/scripts/. Skriptide laadimise ja käitamise üksikasjalikud sammud: 1. Kopeerige skript cellbot.py SD -kaardi/ase/scripts/kataloogi 2. Lahutage kindlasti SD -kaart arvutist, kui kopeerisite need sel viisil, kuna telefon ei pääse failidele juurde samal ajal kui teie arvuti. 3. Avage Androidi skriptikeskkonna rakendus 4. Selle käivitamiseks klõpsake cellbot.py. Te peaksite nägema kinnitust, et seade on praegu porti 9002 saabuvate telnet -seansside vastuvõtmiseks valmis. Näpunäide. Käivitage kindlasti "chmod 777 /dev/ttyMSM2 "käsk esmalt sammus nr 3. Telefoni IP -aadressi leidmiseks vaadake 5. sammu.

Samm: Telnet G1 -sse ja selle saatmise testid

Telnet G1 -sse ja selle saatmise testkäsk
Telnet G1 -sse ja selle saatmise testkäsk
Telnet G1 -sse ja selle saatmise test
Telnet G1 -sse ja selle saatmise test
Telnet G1 -sse ja selle saatmise testkäsk
Telnet G1 -sse ja selle saatmise testkäsk

Telefon peaks olema valmis selleks, et saaksite sellesse telnetada ja oma arvutist käske saata. See prindib need telefoni ekraanile, et kinnitada, mida see saab. Ma kasutasin PuTTY -d Windowsis, kuid oleme kinnitanud, et minicom töötab Macis suurepäraselt, nagu on kirjeldatud selles juhendis.

Kõigepealt peate leidma oma telefoni IP -aadressi. Seda saate teha, kui valite Menüü> Seaded> Juhtmevabad juhtnupud> Wi-Fi seaded ja vajutate parajasti aktiivset ühendust. Hüpikast röstsaia teade ilmub kohaliku võrgu praeguse IP-aadressiga. Kirjutage see üles, kuna kasutate seda iga kord, kui soovite oma arvutist telnet -seansi avada. IP -määramised aeguvad tavaliselt teatud päevade pärast, nii et peate võib -olla seda uuesti kontrollima. Märkus. See õpetus eeldab, et teie arvuti ja telefon on samas kohalikus võrgus. Telefoni suunamine väljastpoolt kohalikku võrku peaks olema võimalik, kuid seda siin ei käsitleta. Avage oma valitud telneti klient ja looge ühendus pordi 9002 telefoni IP -ga. Käsurealt tehke seda nimega "telnet 192.168.1.1 9002", kasutades telefoni tegelikku IP -d. Sisestage mõned märgid ja vajutage sisestusklahvi, et näha neid telefoni ekraanil. Pythoni skripti sulgemiseks võite sisestada q, mis peaks teie terminaliseansi sulgema. Kui mingil põhjusel ei saa te telneti kaudu ühendust luua ja peate programmi tapma, peaks telefoni lihtne taaskäivitamine seda tegema. Edasijõudnud kasutajad võivad soovida leida protsessi ID ps kaudu ja seejärel selle peatamiseks kasutada tapmist. Täpsem: selle tulevane versioon võib käivitada telefonist kohaliku veebiserveri, mitte võtta telneti kaudu käske vastu. Uurime ka XMPP -d, et teie robotiga vestelda.

Samm: ühendage Arduinoga 3.3v kuni 5v taseme nihutaja

Ühendage Arduinoga 3.3v kuni 5v taseme nihutaja
Ühendage Arduinoga 3.3v kuni 5v taseme nihutaja
Ühendage Arduinoga 3.3v kuni 5v taseme nihutaja
Ühendage Arduinoga 3.3v kuni 5v taseme nihutaja
Ühendage Arduinoga 3.3v kuni 5v taseme nihutaja
Ühendage Arduinoga 3.3v kuni 5v taseme nihutaja

Selles õpetuses kasutatud Arduino on 5v mudel, nii et peame G1 -st väljuva 3,3 v signaali teisendama, kasutades nihku. Peaks olema võimalik ühendada otse 3.3 V Arduinoga, kuid seda ma ei testinud.

Sellele lähenemiseks on mitmeid viise, kuid selles näites kasutame kiipi 74LS04. Siit saate otsida ja tõenäoliselt on need alla 1 dollari. Tõstsime Timiga oma koha Hacker Dojo linnast Mountain View, CA, kuid need on VÄGA tavalised ja neid peaks olema palju kõikjal, kus kiipe müüakse või annetatakse. Kõrgel tasemel saadame lihtsalt TX -signaali HTS -i USB -katkestusplaadilt 74LS04 kiibi pessa 1. Et see toimiks, läbime kiibi kaks korda ja tuleme välja tihvti 4 Freeduino SB RX -tihvti külge (teie jadapistik võib olla erinev, kui teil on teine Arduino plaat, kuid kõik peaksid seda toetama). Taseme nihutaja ühendamiseks ja HTC USB -plaadi ühendamiseks tehke järgmist. Veenduge, et kiip takistaks keskosa purunemist, et tihvtid ei oleks lühikesed (esialgu tegin lolli käigu). Ground) ja 8 (TX0), kuna selle õpetuse jaoks teeme ainult ühesuunalist edastust. 3. Ühendage maandusjuhtme teine ots (tihvt 7) oma leivaplaadil oleva maandusega (mis peaks olema ühendatud teie Arduino maandusega) 4. Ühendage TX0 juhtme teine ots (tihvt 8) leivaplaadiga, kus see jookseb kiibi 74LS04 tihvti 1 sisse. (otsige pilti, et leida kiibi täielik diagramm) 5. Ühendage kiibi tihvtide 2 ja 3 ühendamiseks juhtmega 6. Ühendage kiibi tihvt 4 Arduino RX punktiga (Freeduino SB ja Arduino Duemilanove tihvt 0).) 7. Ühendage kiibil olev tihvt 7 (GND) oma leivaplaadi maapinnaga (mis ühendub ka Arduino maandusega) 8. Ühendage tihvt 14 (VCC) oma leivaplaadi 5v toitega (mis saab voolu Arduino'st) 5v väljund) Nüüd peaksite olema valmis ühendama HTC USB eraldusplaadi telefoni põhjaga ja lülitama Arduino sisse. Kontrollige sädemete ja lõhnade olemasolu ning puudutage asju, veendumaks, et need on lahedad. Märkus. Praegune cellboti kood lülitab sisse LED #13, kui roboti servomootorid peaksid töötama. Kui teil pole veel robotit, saate kontrollida, kas LED süttib ja kustub, et veenduda selle toimimises.

Samm: laadige Cellbots programm Arduinole

Laadige Cellbots programm Arduinole
Laadige Cellbots programm Arduinole
Laadige Cellbots programm Arduinole
Laadige Cellbots programm Arduinole

Hankige Arduino lähtekood meie Google'i koodi projekti saidilt. Avage Arduino redaktoris programm Cellbots.pde Arduino. Seejärel lükake see oma Arduino tahvlile.

Arduino koodiga rääkimist saate testida, avades Arduino redaktoris jadamonitori. See on suurepärane võimalus oma robotit või seadet testida, rääkides otse Arduinoga, enne kui kõik telefoni külge ühendate. Kood saadab jadakäsklused jadamonitorile tagasi, et kinnitada, mida see teeb, isegi kui teie robot pole veel ehitatud. Märkus. Programme ei saa Arduinole laadida, kui traat on ühendatud RX jada sisendpoldiga. Nii et võib -olla soovite selle ühe lüliti panna, kuid ma lihtsalt eemaldasin selle vooluvõrgust, kui mul oli vaja uut programmi laadida.

Samm: käivitage kogu protsess

Käivitage kogu protsess
Käivitage kogu protsess
Käivitage kogu protsess
Käivitage kogu protsess
Käivitage kogu protsess
Käivitage kogu protsess

Peaksite saama ühendada telefoniga HTC USB -plaadi, käivitada faili cellbot.py failis ASE ja avada telefoni terminaliseansid. Sisestage "H", et telefon teretulnud või muud README.txt -faili käsud.

"Q" sulgeb telefoni Pythoni skripti ja sulgeb terminalipesa. Siin on kokkuvõte selle toimimisest: 1. Pythoni skript avab pistikupesa sissetulevate telnet -ühenduste vastuvõtmiseks ja käskude jadapordi 2 kajastamiseks. Ühendame oma arvutist telefoniga telneti kaudu pordi 9002 kaudu ja saadame sellele ekraanil kuvatavad käsud. HTS -i USB -plaat liidestub G1 USB -pordiga ja saadab 3,3 V signaali 74LS04 kontakti 1. signaal väljub tihvti 2 kiibist, läheb tagasi tihvti 3 juurde ja väljub uuesti pin 4 juures 5v 5. Meie Arduino võtab vastu RX pin 0 jadasignaali ja töötleb seda programmi Cellbot.pde kaudu. saab kirjutada 'q', et tappa Pythoni skript ja sulgeda telnetiühendus Nüüd, kui olete lõpetanud selle väga keerulise protsessi Arduino robotile põhikäskluste saatmiseks, on aeg häkkida, et see oleks ägedam! Meil pole veel kahesuunalist jadatööd, nii et Arduino ei saa käske tagasi telefoni saata, kuid me töötame selle kallal. Olge ajakohane, tellides meie ajaveebi aadressil Cellbots.com. Autoritest: Tim Heath Juhtivteadur, kes pani selle protsessi esmakordselt kokku Menlo Parki Tech Shopis, kus ta on liige. Ryan Hickman Programmeerija, kes töötas Pythoni ja Arduino koodi kallal ning koostas selle juhendi.

Soovitan: