Satura rādītājs:

Android G1 sērija līdz Arduino robotam: 8 soļi
Android G1 sērija līdz Arduino robotam: 8 soļi

Video: Android G1 sērija līdz Arduino robotam: 8 soļi

Video: Android G1 sērija līdz Arduino robotam: 8 soļi
Video: SKR 1.4 - Fan Control 2024, Septembris
Anonim
Android G1 sērija ar Arduino robotu
Android G1 sērija ar Arduino robotu
Android G1 sērija ar Arduino robotu
Android G1 sērija ar Arduino robotu
Android G1 sērija ar Arduino robotu
Android G1 sērija ar Arduino robotu

Uzziniet, kā jūsu Android mobilais tālrunis var vadīt robotu, izmantojot Arduino dēli. Tālrunis saņem komandas, izmantojot telnet, no cita tālruņa vai datora, lai jūs varētu vadīt robotu attālināti. Šis projekts citādi nemainīs G1, lai jūs varētu turpināt to izmantot kā parasto tālruni pēc tā atvienošanas. Kāpēc? Izmantojot lētus elektroniskos komponentus, piemēram, Arduino dēļus, varat tos savienot pārī ar savu USD 400 tālruni, lai izveidotu lielisku robotu. GPS, LCD, kustību sensoru, Wi-Fi, mobilo sakaru, skaļruņu un citu iespēju pievienošana hobija robotam izmaksātu simtiem dolāru, taču jūsu tālrunī jau ir šie! Kopā Android G1 un Arduino dēlis ļauj izmantot lētu elektroniku, piemēram, vienkāršus servos un sensorus, lai izveidotu jaudīgas ierīces, piemēram, robotus, tālvadību vai jautras rotaļlietas bērniem. Plašāka informācija vietnē Cellbots.com. Piezīme. Šim projektam pašlaik ir nepieciešama Android G1 ar saknes piekļuvi, lai izmantotu sērijveida izvadi no tālruņa uz Arduino robotu. Ja vēlaties izmantot komerciālo Android programmatūru, savai Arduino plāksnei varat pievienot 20 ASV dolāru BlueTooth moduli, lai tālrunis ar to sarunātos, izmantojot sērijas BlueTooth. Īpašs paldies: mums ir Hacker Dojo Mountain View, CA, lai pateiktos, ka sazinājāties ar mums, palīdzēja atrisināt sarežģītas problēmas, izmantojot viņu satriecošo dalībnieku adresātu sarakstu, un par to, ka krājumā ir 74LS04 mikroshēmas. Lielākā daļa montāžas tika veikta Tech veikalā Menlo parkā.

1. darbība. Nepieciešamie priekšmeti

Nepieciešamie priekšmeti
Nepieciešamie priekšmeti
Nepieciešamie priekšmeti
Nepieciešamie priekšmeti
Nepieciešamie priekšmeti
Nepieciešamie priekšmeti

Lai pabeigtu šo apmācību, jums būs nepieciešams: Aparatūra: - Android G1 Dev tālrunis (vai cita Android ierīce ar saknes piekļuvi un sērijas izvadi) - Arduino (es izmantoju Freeduino SB, bet jebkuram vajadzētu to darīt) - 3.3v līdz 5v pārveidotājs, ja neizmantojat 3.3v Arduino (es izmantoju 74LS04 mikroshēmu par cenu zem 1 USD, bet ir pieejamas citas iespējas) - HTC USB sadalīšanas panelis G1 - lodēšanas iekārta diviem ātriem savienojumiem - robota korpuss ar mikro servos (kartons, akrils, protektori, riteņi, jebkas darīs) Programmatūra: - Android skriptu vide (ASE) - Telnet klients jūsu datoram (es izmantoju PuTTY operētājsistēmā Windows) - Arduino izstrādes vide - (pēc izvēles) Sērijas klients jūsu dators (es šim nolūkam arī izmantoju PuTTY operētājsistēmā Windows) - (pēc izvēles) Android SDK Ja varat izpildīt norādījumus, varat pabeigt šo apmācību, maz zinot par Python, Arduino, Android vai elektroniku. Jūs vēlaties zināt šīs lietas, ja vēlaties pārsniegt mirgojošu gaismas diode, bet tas ļaus jums sākt.

2. darbība. Android G1 ar iespējotu seriālo izvadi

Android G1 ar iespējotu sērijas izvadi
Android G1 ar iespējotu sērijas izvadi
Android G1 ar iespējotu sērijas izvadi
Android G1 ar iespējotu sērijas izvadi
Android G1 ar iespējotu sērijas izvadi
Android G1 ar iespējotu sērijas izvadi

G1 netiek piegādāts ar iespēju nosūtīt sērijveida komandas no USB porta, un nav vietējās iespējas to iespējot. Ja esat pieredzējis Android SDK lietotājs, varat izveidot savu būvējumu, bet es izvēlējos izmantot Cyanogenmod 4.2.13. Ja zināt citas Android ierīces ar sērijveida izejas darbību, pievienojiet tās komentāriem.

Pēc izvēles varat sekot tur esošajām saitēm uz šo pamācību, sarunājoties ar G1, izmantojot USB no datora. Šai apmācībai nav nepieciešams seriālais savienojums ar USB, bet es to izmantoju kā jauku saprāta pārbaudi, lai pārbaudītu, vai tālrunis sūta sēriju. Ja neizmantojat citu nepārvaramu, lai pārbaudītu, vai sērijas izvade darbojas, varat izmēģināt šo vienkāršo pārbaudi: 1. Atveriet lietotni Terminālis G1 (nāk ar ciāngēnu, bet lejupielādējiet to no tirgus, ja jums ir cits attēls) 2 Pārejiet uz/dev/direktoriju, ierakstot cd/dev/3. Ierakstiet ls (tas ir L) un meklējiet ttyMSM2 sarakstā. Python skripts, kuru mēs izmantosim vēlāk, nosūta komandas uz '/dev/ttyMSM2' lai viņi pārtrauktu sērijas savienojumu. Tā kā tam nepieciešama root piekļuve, jums būs jāmaina atļaujas katru reizi, kad restartējat tālruni. Lai to izdarītu: 1. Tālrunī atveriet termināļa lietotni. 2. Ievadiet 'chmod 777 /dev /ttyMSM2'. Pēc tam nākamajā solī varat palaist Python skriptu no Android skriptu rediģēšanas, un tam būs piekļuve sērijveida izvades nosūtīšanai.

3. darbība: instalējiet Android skriptu vidi (ASE), izmantojot Python

Instalējiet Android skriptu vidi (ASE), izmantojot Python
Instalējiet Android skriptu vidi (ASE), izmantojot Python
Instalējiet Android skriptu vidi (ASE), izmantojot Python
Instalējiet Android skriptu vidi (ASE), izmantojot Python

Skripti, kurus mēs izmantosim, lai izveidotu atvērtu kontaktligzdas savienojumu tālrunī un nosūtītu komandas, ir rakstīti Python. Lai to palaistu G1, mums būs nepieciešama Android skriptu vide. Ja neredzat to tirgū, varat to lejupielādēt, skenējot šīs lapas svītrkodu, kurā ir saite uz šajā lapā esošo APK failu.

Kad esat instalējis un palaidis ASE, izvēlnē vēlaties pievienot Python moduli: 1. Atveriet ASE un pārliecinieties, vai ir pieejams interneta savienojums (wi-fi vai 3G). 2. Nospiediet tālruņa izvēlnes pogu un izvēlieties Tulki 3. Vēlreiz nospiediet izvēlni un atlasiet Pievienot 4. Izvēlieties Python (pašlaik, kad to rakstāt, v2.6.2), un tas lejupielādēs dažus zip failus. Iespējams, vēlēsities izpētīt skriptu izveidi, atvēršanu, rediģēšanu un darbību, lai iepazītos ar Python, izmantojot ASE, bet tas nav obligāti.

4. darbība. Kopējiet un palaidiet skriptu Cellbot.py, lai palaistu Python programmu

Kopējiet un palaidiet skriptu Cellbot.py, lai palaistu programmu Python
Kopējiet un palaidiet skriptu Cellbot.py, lai palaistu programmu Python

Šī apmācība izmanto Python skriptu, lai būtu robota "smadzenes". Iegūstiet jaunāko kodu no mūsu atvērtā pirmkoda projekta Google Code. Jums ir nepieciešams tikai fails cellbot.py, bet citi var palīdzēt ar dažādām lietām, kuras vēlaties izpētīt. Es vienkārši pievienoju tālruni datora USB savienojumam un pievienoju disku pirms faila kopēšanas uz/sdcard/ase/scripts.

Programma izveido atvērtu kontaktligzdas savienojumu, lai pieņemtu ienākošo telnet sesiju. Tas arī izdrukā ekrānā saņemtās komandas, vienlaikus izsūtot tās no seriālā porta. Ievietojiet šo failu tālruņa SD kartē direktorijā/ase/scripts/. Detalizēti skriptu ielādes un palaišanas soļi: 1. Kopējiet skriptu cellbot.py SD kartes/ase/scripts/direktorijā 2. Noteikti noņemiet disku SD karti no datora, ja esat tos tā kopējis, jo tālrunis nevar piekļūt failiem vienlaikus ar datoru. 3. Atveriet Android skriptu vides lietotni. 4. Noklikšķiniet uz cellbot.py, lai to palaistu. Jums vajadzētu redzēt apstiprinājumu, ka ierīce ir gatava pieņemt ienākošās telnet sesijas portā 9002. Padoms. Noteikti palaidiet "chmod 777 /dev/ttyMSM2 "komanda vispirms no 3. darbības. Skatiet 5. darbību, lai atrastu tālruņa IP adresi.

5. solis: Telnet iekļūšana G1 un testa nosūtīšanas komandas

Telnet G1 un testa komandas, kas to sūta
Telnet G1 un testa komandas, kas to sūta
Telnet G1 un testa komandas, kas to sūta
Telnet G1 un testa komandas, kas to sūta
Telnet G1 un testa komandas, kas to sūta
Telnet G1 un testa komandas, kas to sūta

Tālrunim jābūt gatavam, lai jūs varētu tajā iekļūt telnetā un nosūtīt komandas no sava datora. Tas izdrukās tos tālruņa ekrānā, lai apstiprinātu saņemto. Es izmantoju PuTTY operētājsistēmā Windows, taču esam apstiprinājuši, ka minicom lieliski darbojas Mac datoros, kā aprakstīts šajā pamācībā.

Vispirms jums jāatrod sava tālruņa IP adrese. To var izdarīt, dodoties uz Izvēlne> Iestatījumi> Bezvadu vadība> Wi-Fi iestatījumi un pēc tam nospiežot pašlaik aktīvo savienojumu. Uznirstošais grauzdiņa ziņojums parādīs pašreizējo IP adresi vietējā tīklā. Pierakstiet to, jo to izmantosit katru reizi, kad no datora vēlaties atvērt telnet sesiju. IP uzdevumi parasti beidzas pēc noteikta dienu skaita, tāpēc jums tas, iespējams, būs jāpārbauda vēlreiz. Piezīme. Šajā apmācībā tiek pieņemts, ka jūsu dators un tālrunis atrodas tajā pašā vietējā tīklā. Maršrutēšanai uz tālruni no vietējā tīkla jābūt iespējamai, taču tas šeit nav aprakstīts. Atveriet izvēlēto telnet klientu un izveidojiet savienojumu ar tālruņa IP portā 9002. No komandrindas jūs to darāt kā "telnet 192.168.1.1 9002", izmantojot faktisko tālruņa IP. Ievadiet dažas rakstzīmes un nospiediet taustiņu Enter, lai tās parādītos tālruņa ekrānā. Varat ievadīt q, lai pārtrauktu Python skripta darbību, un tam vajadzētu slēgt termināļa sesiju. Ja kāda iemesla dēļ nevarat izveidot savienojumu, izmantojot telnet, un jums ir jānogalina programma, vienkārša tālruņa restartēšana ir jādara. Pieredzējuši lietotāji var vēlēties atrast procesa ID, izmantojot ps, un pēc tam izmantot kill, lai to apturētu. Papildu: šī versija nākotnē varētu palaist vietējo tīmekļa serveri no tālruņa, nevis pieņemt komandas, izmantojot telnet. Mēs arī pētām XMPP, lai tērzētu ar jūsu robotu.

6. solis: pievienojiet 3.3v līdz 5v līmeņa pārslēdzēju Arduino

Pievienojiet Arduino 3.3v līdz 5v līmeņa pārslēdzēju
Pievienojiet Arduino 3.3v līdz 5v līmeņa pārslēdzēju
Pievienojiet Arduino 3.3v līdz 5v līmeņa pārslēdzēju
Pievienojiet Arduino 3.3v līdz 5v līmeņa pārslēdzēju
Pievienojiet Arduino 3.3v līdz 5v līmeņa pārslēdzēju
Pievienojiet Arduino 3.3v līdz 5v līmeņa pārslēdzēju

Šajā apmācībā izmantotais Arduino ir 5v modelis, tāpēc mums ir jāpārveido 3.3v signāls, kas nāk no G1, izmantojot līmeņa pārslēdzēju. Vajadzētu būt iespējai izveidot tiešu savienojumu ar 3.3v Arduino, bet es to nepārbaudīju.

Tam ir vairāki veidi, bet šajā piemērā mēs izmantosim 74LS04 mikroshēmu. Jūs varat meklēt vienu šeit, un tie, visticamāk, ir mazāki par 1 ASV dolāru. Mēs ar Timu paņēmām savējos no Hacker Dojo Mountain View, CA, taču tie ir ĻOTI izplatīti, un to vajadzētu būt daudz visur, kur mikroshēmas tiek pārdotas vai ziedotas. Augstā līmenī mēs vienkārši nosūtīsim TX signālu no HTS USB sadalīšanas plates uz 74LS04 mikroshēmas 1. tapu. Lai tas darbotos, mēs divas reizes izbraucam cauri mikroshēmai un izvedam 4. tapu uz RX tapu Freeduino SB (jūsu seriālā tapa var atšķirties, ja jums ir cita Arduino plāksne, bet visiem tas jāatbalsta). Izpildiet šīs darbības, lai pieslēgtu līmeņa pārslēdzēju un pievienotu HTC USB plati (vēl nepievienojiet to tālrunim un neatvienojiet Arduino barošanas avotu): 1. Ievietojiet 74LS04 mikroshēmu uz maizes dēļa. Pārliecinieties, ka mikroshēma šķērso centra pārrāvumu, lai tapas nebūtu īsas (sākumā es izdarīju mēmu gājienu) 2. Karavīrs divus vadus pie HTC USB plates, kā aprakstīts šajā pamācībā, bet mēs izmantosim tikai 7. tapas (Ground) un 8 (TX0), jo šai apmācībai mēs veicam tikai vienvirziena pārraidi. 3. Pievienojiet zemējuma (7. tapa) stieples otru galu pie maizes dēļa zemējuma (tam jābūt savienotam ar Arduino zemi). 4. Pievienojiet otru TX0 stieples galu (8. tapa) pie maizes dēļa. tas nonāk 74LS04 mikroshēmas 1. tapā. (meklējiet attēlu, lai iegūtu pilnu mikroshēmas diagrammu) 5. Izmantojiet vadu, lai savienotu mikroshēmas 2. un 3. tapu 6. Savienojiet mikroshēmas 4. tapu ar Arduino RX punktu (Freeduino SB un Arduino Duemilanove 0.) 7. Pievienojiet mikroshēmas tapu 7 (GND) pie maizes dēļa zemes (kas savienojas arī ar Arduino zemi). 8. Pievienojiet tapu 14 (VCC) maizes dēļa 5 V strāvai (kas saņem strāvu no Arduino) 5v izeja) Tagad jums vajadzētu būt gatavam pieslēgt HTC USB sadalīšanas paneli tālruņa apakšā un ieslēgt Arduino. Pārbaudiet, vai nav dzirksteļu un smaržu, un pieskarieties lietām, lai pārliecinātos, ka tās ir vēsas. Piezīme. Pašreizējais cellbot kods ieslēdz gaismas diode #13, kad robota servomotoriem vajadzētu darboties. Ja jums vēl nav robota, varat pārbaudīt, vai gaismas diode ieslēdzas un izslēdzas, lai pārliecinātos, ka tas darbojas.

7. solis: ielādējiet Cellbots programmu Arduino

Ielādējiet Cellbots programmu Arduino
Ielādējiet Cellbots programmu Arduino
Ielādējiet Cellbots programmu Arduino
Ielādējiet Cellbots programmu Arduino

Iegūstiet Arduino avota kodu no mūsu Google Code projekta vietnes. Arduino redaktorā atveriet programmu Cellbots.pde Arduino. Pēc tam piespiediet to pie Arduino plates.

Jūs varat pārbaudīt sarunu ar Arduino kodu, atverot sērijas monitoru Arduino redaktorā. Tas ir lielisks veids, kā pārbaudīt savu robotu vai ierīci, runājot tieši ar Arduino, pirms visu savienojat ar tālruni. Kods nosūta sērijas komandas atpakaļ seriālajam monitoram, lai apstiprinātu, ko tas dara, pat ja jums vēl nav izveidots robots. Piezīme. Jūs nevarat ielādēt programmas Arduino, kamēr vads ir pievienots RX sērijas ievades tapai. Tāpēc jūs, iespējams, vēlēsities to pārslēgt, bet es to vienkārši atvienoju, kad vajadzēja ielādēt jaunu programmu.

8. solis: palaidiet visu procesu

Palaidiet visu procesu
Palaidiet visu procesu
Palaidiet visu procesu
Palaidiet visu procesu
Palaidiet visu procesu
Palaidiet visu procesu

Jums vajadzētu būt iespējai savienot HTC USB plati ar tālruni, aktivizēt failu cellbot.py ASE un atvērt termināļa sesijas tālrunī. Ievadiet “H”, lai tālrunis sasveicinātos vai citas komandas no faila README.txt.

"Q" izies no Python skripta tālrunī un aizvērs termināļa kontaktligzdu. Šeit ir apkopojums par to, kā tas viss darbojas: 1. Python skripts atver ligzdu ienākošo telnet savienojumu pieņemšanai un atkārto komandas no seriālā porta 2 Mēs izveidojam savienojumu no sava datora ar tālruni, izmantojot telnet portā 9002, un nosūtām tam komandas, kuras mēs redzam 3. ekrānā. HTS USB plate ir savienota ar G1 USB portu un nosūta 3.3 V signālu 74LS04 1. kontaktā. signāls nāk no mikroshēmas 2. tapā, atgriežas 3. tapā un atkal iznāk 4. tapā pie 5 V 5. Mūsu Arduino pieņem seriālo signālu RX tapā 0 un apstrādā to, izmantojot programmu Cellbot.pde 6. Mēs var ierakstīt “q”, lai nogalinātu Python skriptu un slēgtu telnet savienojumu. Tagad, kad esat pabeidzis šo ļoti sarežģīto procesu, lai nosūtītu pamata komandas Arduino robotam, ir pienācis laiks uzlauzt to, lai tas būtu vēl satriecošāks! Mums vēl nav divvirzienu sērijveida darba, tāpēc Arduino nevar nosūtīt komandas atpakaļ tālrunī, bet mēs pie tā strādājam. Sekojiet jaunumiem, abonējot mūsu emuāru vietnē Cellbots.com. Par autoriem: Tims Hīts Vadošais pētnieks, kurš pirmo reizi apkopoja šo procesu Tech veikalā Menlo parkā, kur viņš ir dalībnieks. Raiens Hikmens Programmētājs, kurš strādāja pie Python un Arduino koda un izstrādāja šo pamācību.

Ieteicams: