Sisällysluettelo:

Android G1 -sarja Arduino -robotille: 8 vaihetta
Android G1 -sarja Arduino -robotille: 8 vaihetta

Video: Android G1 -sarja Arduino -robotille: 8 vaihetta

Video: Android G1 -sarja Arduino -robotille: 8 vaihetta
Video: Подключаем дисплей от сотика или мобильного телефона к Ардуино 2024, Syyskuu
Anonim
Android G1 -sarja Arduino -robotille
Android G1 -sarja Arduino -robotille
Android G1 -sarja Arduino -robotille
Android G1 -sarja Arduino -robotille
Android G1 -sarja Arduino -robotille
Android G1 -sarja Arduino -robotille

Opi kuinka Android -matkapuhelimesi voi ohjata robottia Arduino -kortin avulla. Puhelin ottaa komennot telnetin kautta toisesta puhelimesta tai tietokoneesta, joten voit ohjata robottia etänä. Tämä projekti ei muuta G1: tä, joten voit jatkaa sen käyttöä normaalina puhelimena sen irrottamisen jälkeen. Käyttämällä halpoja elektronisia komponentteja, kuten Arduino -kortteja, voit yhdistää ne 400 dollarin puhelimeesi ja tehdä mahtavan robotin. GPS: n, nestekidenäytön, liiketunnistimien, Wi-Fi: n, matkapuhelinyhteyksien, kaiuttimien ja muun lisääminen harrastusbottiin maksaisi satoja dollareita, mutta puhelimessasi on jo nämä! Yhdessä Android G1- ja Arduino -korttien avulla voit käyttää halpaa elektroniikkaa, kuten yksinkertaisia servoja ja antureita, rakentaa tehokkaita laitteita, kuten robotteja, etänäyttelyä tai hauskoja leluja lapsille. Lisätietoja on osoitteessa Cellbots.com. Voit lisätä 20 dollarin BlueTooth -moduulin Arduino -kortillesi, jotta puhelin voi puhua sille BlueTooth -sarjan kautta, jos haluat käyttää kaupallista Android -ohjelmistoa. Erityiset kiitokset: Meillä on Hacker Dojo Mountain View'ssa, Kaliforniassa, kiitos siitä, että otit meihin yhteyttä, autat vaikeissa asioissa mahtavien jäsenten postituslistan kautta ja että sinulla on 74LS04 pelimerkkiä varastossa. Suurin osa kokoonpanosta tehtiin Tech Shopissa Menlo Parkissa.

Vaihe 1: Tarvittavat kohteet

Tarvittavat esineet
Tarvittavat esineet
Tarvittavat esineet
Tarvittavat esineet
Tarvittavat esineet
Tarvittavat esineet

Tämän opetusohjelman suorittamiseen tarvitset seuraavat asiat: Laitteisto: - Android G1 Dev -puhelin (tai muu Android -laite, jolla on pääkäyttäjä- ja sarjalähtö) - Arduino (käytän Freeduino SB: tä, mutta jokaisen pitäisi tehdä) - 3.3v - 5v muunnin, jos et käytä 3.3 V: n Arduinoa (käytän 74LS04 -sirua alle 1 dollarilla, mutta muita vaihtoehtoja on saatavana) - HTC: n USB -murtokortti G1: lle - Juotoslaitteisto kahdelle pikaliitännälle - Robottirunko mikro -servot (pahvi, akryyli, askelmat, pyörät, kaikki tekee) Ohjelmisto: - Android Scripting Environment (ASE) - Telnet -asiakasohjelma tietokoneellesi (käytän PuTTY: tä Windowsissa) - Arduino -kehitysympäristö - (valinnainen) tietokoneesi (käytän tätä varten myös PuTTY: tä Windowsissa) - (valinnainen) Android SDK Jos voit noudattaa ohjeita, voit suorittaa tämän opetusohjelman vähällä Python-, Arduino-, Android- tai elektroniikkatiedolla. Haluat tietää nämä asiat, jos haluat mennä pidemmälle kuin vilkkuva LED, mutta tämä saa sinut alkuun.

Vaihe 2: Android G1, kun sarjalähtö on käytössä

Android G1 ja sarjalähtö käytössä
Android G1 ja sarjalähtö käytössä
Android G1 ja sarjalähtö käytössä
Android G1 ja sarjalähtö käytössä
Android G1 ja sarjalähtö käytössä
Android G1 ja sarjalähtö käytössä

G1: n mukana ei toimiteta kykyä lähettää sarjakomentoja USB -portista, eikä sen käyttöön ottamiseen ole olemassa natiivivaihtoehtoa. Jos olet edistynyt Android SDK -käyttäjä, voit tehdä oman rakenteen, mutta päätin käyttää Cyanogenmod 4.2.13 -versiota. Jos tiedät muita Android -laitteita, joissa sarjalähtö toimii, lisää ne kommentteihin.

Voit halutessasi seurata sieltä löytyviä linkkejä tähän ohjeeseen puhuessasi G1 -tietokoneellesi USB: n kautta tietokoneeltasi. Tätä sarja -USB -yhteyttä ei tarvita tässä opetusohjelmassa, mutta käytin sitä mukavana terveystarkistuksena varmistaakseni, että puhelin lähetti sarjaa. Jos et käytä toista integroitavaa varmistaaksesi sarjalähdön toimivuuden, voit kokeilla seuraavaa yksinkertaista tarkistusta: 1. Avaa G1: n Terminal -sovellus (mukana syanogeeni, mutta lataa se Marketista, jos sinulla on eri kuva) 2 Siirry hakemistoon/dev/kirjoittamalla cd/dev/3. Kirjoita ls (se on L) ja etsi ttyMSM2 palautetusta luettelosta Myöhemmin käyttämämme Python -skripti lähettää komennot kohteeseen "/dev/ttyMSM2" jotta ne voivat katkaista sarjayhteyden. Koska tämä edellyttää pääkäyttäjän oikeuksia, sinun on muutettava sen käyttöoikeuksia aina, kun käynnistät puhelimen uudelleen. Voit tehdä tämän seuraavasti: 1. Avaa puhelimen päätelaitesovellus. 2. Kirjoita 'chmod 777 /dev /ttyMSM2'. Sitten voit suorittaa Python -komentosarjan Android -komentosarjan muokkauksesta seuraavassa vaiheessa ja sillä on pääsy sarjalähdön lähettämiseen.

Vaihe 3: Asenna Android Scripting Environment (ASE) Pythonilla

Asenna Android Scripting Environment (ASE) Pythonilla
Asenna Android Scripting Environment (ASE) Pythonilla
Asenna Android Scripting Environment (ASE) Pythonilla
Asenna Android Scripting Environment (ASE) Pythonilla

Skriptit, joita käytämme luodessamme avoimen pistorasian yhteyden puhelimeen ja lähettämällä komentoja, on kirjoitettu Pythonilla. Tämän suorittamiseksi G1: llä tarvitsemme Android -komentosarjaympäristön. Jos et näe sitä Marketissa, voit ladata sen skannaamalla sivun viivakoodin, joka linkittää tämän sivun apk -tiedostoon.

Kun olet asentanut ja suorittanut ASE: n, haluat lisätä valikon Python-moduuliin: 1. Avaa ASE ja varmista, että sinulla on toimiva Internet-yhteys (wi-fi tai 3G). 2. Paina puhelimen valikkopainiketta ja valitse Tulkit 3. Paina menu -näppäintä uudelleen ja valitse Lisää 4. Valitse Python (tällä hetkellä v2.6.2 tämän kirjoittamisen jälkeen), ja se lataa joitain zip -tiedostoja. Haluat ehkä tutustua skriptien luomiseen, avaamiseen, muokkaamiseen ja suorittamiseen tutustumalla Pythoniin ASE, mutta sitä ei vaadita.

Vaihe 4: Kopioi ja suorita Cellbot.py -komentosarja käynnistääksesi Python -ohjelman

Kopioi ja suorita Cellbot.py -komentosarja käynnistääksesi Python -ohjelman
Kopioi ja suorita Cellbot.py -komentosarja käynnistääksesi Python -ohjelman

Tämä opetusohjelma käyttää Python -komentosarjaa robotin "aivoiksi". Hanki uusin koodi avoimen lähdekoodin Google Code -projektistamme. Tarvitset vain cellbot.py -tiedoston, mutta muut voivat auttaa eri asioissa, joita haluat tutkia. Liitin puhelimen tietokoneeni USB -liitäntään ja asensin aseman ennen tiedoston kopiointia/sdcard/ase/scripts.

Ohjelma luo avoimen pistorasian yhteyden tulevan telnet -istunnon hyväksymiseen. Se tulostaa myös vastaanotetut komennot näytölle samalla kun ne lähettävät sarjaportin. Aseta tämä tiedosto puhelimen SD -kortille hakemistoon/ase/scripts/Yksityiskohtaiset vaiheet komentosarjojen lataamiseen ja suorittamiseen: 1. Kopioi cellbot.py -skripti SD -kortin/ase/scripts/hakemistoon 2. Varmista, että irrotat SD -kortti tietokoneesta, jos olet kopioinut ne tällä tavalla, koska puhelin ei voi käyttää tiedostoja samanaikaisesti tietokoneesi kanssa. 3. Avaa Android Scripting Environment -sovellus 4. Käynnistä se napsauttamalla cellbot.py Näet vahvistuksen siitä, että laite on valmis vastaanottamaan saapuvat telnet -istunnot portissa 9002. Vihje: Muista käyttää "chmod 777 /dev/ttyMSM2 "komento vaiheesta 3 ensin. Katso puhelimen IP -osoitteen löytäminen kohdasta #5.

Vaihe 5: Telnet G1: een ja testi lähettää sen komennot

Telnet G1: een ja testilähetyskomennot
Telnet G1: een ja testilähetyskomennot
Telnet G1: een ja testilähetyskomennot
Telnet G1: een ja testilähetyskomennot
Telnet G1: een ja testilähetyskomennot
Telnet G1: een ja testilähetyskomennot

Puhelimen pitäisi olla valmis, jotta voit telnet siihen ja lähettää sille komentoja tietokoneeltasi. Se tulostaa ne puhelimen näyttöön vahvistaakseen, mitä se vastaanottaa. Käytin PuTTY: tä Windowsissa, mutta olemme vahvistaneet, että minicom toimii loistavasti Macissa tässä ohjeessa kuvatulla tavalla.

Sinun on ensin löydettävä puhelimesi IP -osoite. Tämä on käytettävissä valitsemalla Valikko> Asetukset> Langattomat ohjaimet> Wi-Fi-asetukset ja painamalla sitten aktiivista yhteyttä. Ponnahduspalautusviesti tuo esiin paikallisen verkon nykyisen IP-osoitteen. Kirjoita tämä muistiin, koska käytät tätä aina, kun haluat avata telnet -istunnon tietokoneeltasi. Huomautus: Tässä opetusohjelmassa oletetaan, että tietokone ja puhelin ovat samassa lähiverkossa. Reititys puhelimeen paikallisen verkon ulkopuolelta pitäisi olla mahdollista, mutta sitä ei käsitellä tässä. Avaa haluamasi telnet -asiakas ja muodosta yhteys puhelimen IP -osoitteeseen portissa 9002. Tee komentoriviltä tämä "telnet 192.168.1.1 9002" käyttäen puhelimen todellista IP -osoitetta. Kirjoita joitain merkkejä ja paina Enter -näppäintä nähdäksesi ne näkyvät puhelimen näytöllä. Kirjoittamalla q saatat lopettaa Python -komentosarjan, jonka pitäisi sulkea pääteistunto. Jos jostain syystä et voi muodostaa yhteyttä telnetin kautta ja sinun täytyy tappaa ohjelma, yksinkertainen puhelimen uudelleenkäynnistys pitäisi tehdä temppu. Kokeneet käyttäjät saattavat haluta löytää prosessitunnuksen ps: n kautta ja pysäyttää sen sitten käyttämällä tappaa. Edistynyt: Tämän tuleva versio voi käyttää paikallista verkkopalvelinta puhelimesta sen sijaan, että se hyväksyisi komentoja telnetin kautta. Tutkimme myös XMPP -keskustelua robotin kanssa.

Vaihe 6: Liitä 3.3v - 5v tasonvaihtaja Arduinoon

Liitä 3.3v - 5v tasonvaihtaja Arduinoon
Liitä 3.3v - 5v tasonvaihtaja Arduinoon
Liitä 3.3v - 5v tasonvaihtaja Arduinoon
Liitä 3.3v - 5v tasonvaihtaja Arduinoon
Liitä 3.3v - 5v tasonvaihtaja Arduinoon
Liitä 3.3v - 5v tasonvaihtaja Arduinoon

Tässä opetusohjelmassa käytetty Arduino on 5v -malli, joten meidän on muunnettava G1: stä tuleva 3,3 voltin signaali tasonsiirtimellä. Pitäisi olla mahdollista muodostaa yhteys suoraan 3.3v Arduinoon, mutta se ei ollut jotain, jota testasin.

Tähän on useita tapoja, mutta tässä esimerkissä käytämme 74LS04 -sirua. Voit etsiä sellaisen täältä, ja ne ovat todennäköisesti alle $ 1. Tim ja minä noutasimme omamme Hacker Dojosta Mountain View'ssa, Kaliforniassa, mutta nämä ovat erittäin yleisiä, ja niitä pitäisi olla runsaasti kaikkialla, missä pelimerkkejä myydään tai lahjoitetaan. Korkealla tasolla lähetämme yksinkertaisesti TX -signaalin HTS: n USB -murtokortilta 74LS04 -sirun nastaan 1. Jotta se toimisi, käymme sirun läpi kahdesti ja poistamme nastan 4 Freeduino SB: n RX -nastaan (sarjatappi voi olla erilainen, jos sinulla on toinen Arduino -levy, mutta kaikkien pitäisi tukea tätä). Kytke tasonvaihtaja ja liitä HTC USB -kortti seuraavasti (älä kytke sitä vielä puhelimeen ja irrota virta Arduinosta) seuraavasti: 1. Aseta 74LS04 -siru leipälevyllesi. Varmista, että siru estää keskiosan katkeamisen, jotta nastat eivät ole oikosulussa (tyhmä liike, jonka tein aluksi). Ground) ja 8 (TX0), koska teemme vain yksisuuntaista lähetystä tässä opetusohjelmassa. 3. Liitä maadoitusjohdon toinen pää (nasta 7) leipälevyn maahan (joka on liitettävä Arduino -laitteen maahan) 4. Kytke TX0 -johdon toinen pää (nasta 8) leipälevyyn, jossa se osuu 74LS04 -sirun nastaan 1. (etsi kuva sirun täydestä kaaviosta) 5. Yhdistä sirun nastat 2 ja 3 johdolla 6. Liitä sirun nasta 4 Arduino RX -pisteeseen (nasta 0 Freeduino SB: ssä ja Arduino Duemilanovessa)) 7. Kytke sirun nasta 7 (GND) leipälevyn maahan (joka yhdistää myös Arduinon maahan) 8. Liitä nasta 14 (VCC) leipälevyn 5 voltin virtalähteeseen (joka saa virran Arduinolta) 5v-lähtö) Sinun pitäisi nyt olla valmis kytkemään HTC: n USB-suojakortti puhelimen pohjaan ja kytkemään virta Arduinoon. Tarkista kipinöitä ja hajuja ja kosketa asioita varmistaaksesi, että ne ovat viileitä. Jos sinulla ei vielä ole robottia, voit tarkistaa, että merkkivalo syttyy ja sammuu vahvistaaksesi, että se toimii.

Vaihe 7: Lataa Cellbots -ohjelma Arduinolle

Lataa Cellbots -ohjelma Arduinolle
Lataa Cellbots -ohjelma Arduinolle
Lataa Cellbots -ohjelma Arduinolle
Lataa Cellbots -ohjelma Arduinolle

Hanki Arduinon lähdekoodi Google Code -projektisivustoltamme. Avaa Cellbots.pde Arduino -ohjelma Arduino -editorissa. Työnnä se sitten Arduino -levyllesi.

Voit testata Arduino -koodille puhumista avaamalla sarjamonitorin Arduino -editorissa. Tämä on loistava tapa testata robottiasi tai laitettasi puhumalla suoraan Arduinolle ennen kuin kytket kaiken puhelimeen. Huomautus: Et voi ladata ohjelmia Arduinoon, kun johto on kytketty RX -sarjatulonappiin.. Joten saatat haluta laittaa tämän kytkimen, mutta irroitin sen vain, kun minun täytyi ladata uusi ohjelma.

Vaihe 8: Suorita koko prosessi

Suorita koko prosessi
Suorita koko prosessi
Suorita koko prosessi
Suorita koko prosessi
Suorita koko prosessi
Suorita koko prosessi

Sinun pitäisi pystyä liittämään HTC USB -kortti puhelimeen, käynnistää cellbot.py -tiedosto ASE -muodossa ja avata päätelaiteistunnot puhelimeen. Kirjoita "H" saadaksesi puhelimen tervehtimään tai muita README.txt -tiedoston komentoja.

"Q" sulkee Python -komentosarjan puhelimessa ja sulkee päätelaitteen pistorasian. Tässä on yhteenveto siitä, miten kaikki toimii: 1. Python -skripti avaa pistorasian tulevien telnet -yhteyksien vastaanottamiseksi ja komentojen toistamiseksi sarjaportista 2 Yhdistämme tietokoneemme puhelimeen telnet -portin kautta porttiin 9002 ja lähetämme sille näytöllä 3 näkyvät komennot. signaali tulee ulos sirusta nastassa 2, palaa sisään nastaan 3 ja tulee jälleen ulos nastasta 4 5v 5. Arduino hyväksyy sarjasignaalin RX -nastassa 0 ja käsittelee sen Cellbot.pde -ohjelman 6. kautta. voi kirjoittaa "q" tappaa Python -komentosarjan ja sulkea telnet -yhteyden Nyt kun olet suorittanut tämän erittäin monimutkaisen prosessin lähettää peruskomennot Arduino -robotille, sinun on aika hakata se mahtavammaksi! Meillä ei vielä ole kaksisuuntaista sarjaliikennettä, joten Arduino ei voi lähettää komentoja takaisin puhelimeen, mutta pyrimme siihen. Pysy ajan tasalla tilaamalla blogimme osoitteessa Cellbots.com. Tietoja kirjoittajista: Tim Heath Johtava tutkija, joka kokosi tämän prosessin ensimmäisen kerran Tech Shopissa Menlo Parkissa, jossa hän on jäsen. Ryan Hickman -ohjelmoija, joka työskenteli Python- ja Arduino -koodin parissa ja kirjoitti tämän ohjeen.

Suositeltava: