Orodha ya maudhui:

Mfumo wa Android G1 kwa Roboti ya Arduino: Hatua 8
Mfumo wa Android G1 kwa Roboti ya Arduino: Hatua 8

Video: Mfumo wa Android G1 kwa Roboti ya Arduino: Hatua 8

Video: Mfumo wa Android G1 kwa Roboti ya Arduino: Hatua 8
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Novemba
Anonim
Android G1 Serial kwa Arduino Robot
Android G1 Serial kwa Arduino Robot
Android G1 Serial kwa Arduino Robot
Android G1 Serial kwa Arduino Robot
Android G1 Serial kwa Arduino Robot
Android G1 Serial kwa Arduino Robot

Jifunze jinsi simu yako ya rununu ya Android inaweza kudhibiti robot kutumia bodi ya Arduino. Simu inachukua amri kupitia telnet kutoka kwa simu nyingine au PC, ili uweze kudhibiti robot kwa mbali. Mradi huu hautabadilisha G1 ili uweze kuendelea kuitumia kama simu yako ya kawaida baada ya kuifungua. Kwa kutumia vifaa vya elektroniki vya bei rahisi kama bodi za Arduino, unaweza kuzilinganisha na simu yako ya $ 400 kutengeneza roboti nzuri. Ingegharimu mamia ya dola kuongeza GPS, LCD, sensorer za mwendo, wi-fi, unganisho la rununu, spika, na zaidi kwa bot ya kupendeza, lakini simu yako tayari ina hizi! Pamoja, bodi ya Android G1 na Arduino hukuruhusu kutumia umeme wa bei rahisi kama vile servos rahisi na sensorer, kujenga vifaa vyenye nguvu kama vile roboti, telepresence ya mbali, au vitu vya kuchezea vya kufurahisha kwa watoto. Habari zaidi kwenye Cellbots.com. Anifu: Mradi huu kwa sasa unahitaji Android G1 iliyo na ufikiaji wa mizizi ili kutumia pato la serial kutoka kwa simu kwenda kwa roboti ya Arduino. Unaweza kuongeza moduli ya $ 20 ya BlueTooth kwenye bodi yako ya Arduino ili upate mazungumzo ya simu juu ya BlueTooth ya serial ikiwa unataka kutumia programu ya kibiashara ya Android. Shukrani za pekee: Tuna Hacker Dojo huko Mountain View, CA ya kushukuru kwa kutuwasiliana, kusaidia na maswala magumu kupitia orodha yao ya barua ya washiriki wa kutisha, na kwa kuwa na chips 74LS04 katika hisa. Mkutano mwingi ulifanyika katika Duka la Ufundi huko Menlo Park.

Hatua ya 1: Vitu vinahitajika

Vitu vinahitajika
Vitu vinahitajika
Vitu vinahitajika
Vitu vinahitajika
Vitu vinahitajika
Vitu vinahitajika

Kukamilisha mafunzo haya utahitaji yafuatayo: Vifaa: - Android G1 Dev Phone (au kifaa kingine cha Android kilicho na ufikiaji wa mizizi na pato la serial) - Arduino (ninatumia Freeduino SB lakini mtu yeyote anapaswa kufanya) - 3.3v hadi 5v kibadilishaji ikiwa hutumii 3.3v Arduino (ninatumia chipsi cha 74LS04 chini ya $ 1 lakini chaguzi zingine zinapatikana) - Bodi ya kuzima ya HTC USB ya G1 - Vifaa vya Soldering kwa viunganisho viwili vya haraka - Mwili wa roboti na servos ndogo (kadibodi, akriliki, kukanyaga, magurudumu, chochote kitafanya) Programu: - Mazingira ya Maandiko ya Android (ASE) - Mteja wa Telnet kwa PC yako (ninatumia PuTTY kwenye Windows) - Mazingira ya maendeleo ya Arduino - (hiari) Mteja wa serial wa PC yako (mimi pia ninatumia PuTTY kwenye Windows kwa hii) - (hiari) Android SDK Ikiwa unaweza kufuata maagizo unaweza kumaliza mafunzo haya bila ujuzi mdogo wa Python, Arduino, Android, au vifaa vya elektroniki. Utataka kujua mambo hayo ikiwa unataka kwenda zaidi ya mwangaza wa mwangaza lakini hii itakupa kuanza.

Hatua ya 2: Android G1 Iliyowezeshwa na Pato la Seriamu

Android G1 Pamoja na Pato la Siri Imewezeshwa
Android G1 Pamoja na Pato la Siri Imewezeshwa
Android G1 Pamoja na Pato la Siri Imewezeshwa
Android G1 Pamoja na Pato la Siri Imewezeshwa
Android G1 Pamoja na Pato la Siri Imewezeshwa
Android G1 Pamoja na Pato la Siri Imewezeshwa

G1 hazitumii na uwezo wa kutuma maagizo kutoka kwa bandari ya USB na hakuna chaguo la asili la kuiwezesha. Ikiwa wewe ni mtumiaji wa hali ya juu wa Android SDK unaweza kutengeneza muundo wako mwenyewe lakini nilichagua kutumia Cyanogenmod 4.2.13. Ikiwa unajua vifaa vingine vya Android na serial inayofanya kazi, waongeze kwenye maoni.

Kwa hiari, unaweza kufuata viungo huko kwa hii inayoweza kufundishwa kwa kuzungumza na G1 yako juu ya USB kutoka kwa PC yako. Siri hiyo kwa unganisho la USB haihitajiki kwa mafunzo haya lakini niliitumia kama ukaguzi mzuri wa akili ili kudhibitisha kuwa simu ilikuwa ikituma mfululizo. Ikiwa hutumii nyingine inayoweza kutengenezwa ili kudhibitisha pato la serial linafanya kazi, unaweza kujaribu hundi hii rahisi: 1. Fungua programu ya Terminal kwenye G1 (inakuja na Cyanogen lakini pakua moja kutoka Soko ikiwa una picha tofauti) 2 Nenda kwenye saraka ya / dev / kwa kuandika kwenye cd / dev / 3. Aina ls (hiyo ni L) na utafute ttyMSM2 katika orodha iliyorudishwa Hati ya Python tutakayotumia baadaye hutuma amri kwa '/ dev / ttyMSM2' in agiza watoke muunganisho wa serial. Kwa kuwa hiyo inahitaji ufikiaji wa mizizi, utahitaji kubadilisha ruhusa kwa hiyo kila wakati utakapowasha tena simu. Ili kufanya hivyo: 1. Fungua programu ya terminal kwenye simu 2. Ingiza 'chmod 777 / dev / ttyMSM2' Basi unaweza kuendesha hati ya Python kutoka kwa hariri ya Android Scripting katika hatua inayofuata na itakuwa na uwezo wa kutuma pato la serial.

Hatua ya 3: Sakinisha Mazingira ya Maandiko ya Android (ASE) Na Python

Sakinisha Mazingira ya Maandiko ya Android (ASE) Na Python
Sakinisha Mazingira ya Maandiko ya Android (ASE) Na Python
Sakinisha Mazingira ya Maandiko ya Android (ASE) Na Python
Sakinisha Mazingira ya Maandiko ya Android (ASE) Na Python

Hati ambazo tutatumia kuunda unganisho la tundu wazi kwenye simu na kutuma amri zimeandikwa kwenye chatu. Ili kuendesha hii kwenye G1 tutahitaji Mazingira ya Kuandika ya Android. Ikiwa hauioni kwenye Soko unaweza kuipakua kwa kutambaza msimbo wa mwambaa kwenye ukurasa huo ambao unaunganisha faili ya apk kwenye ukurasa huu.

Mara tu unapoweka na kuendesha ASE utataka kuongeza kwenye moduli ya Python kutoka kwenye menyu: 1. Fungua ASE na uhakikishe kuwa una unganisho la intaneti linalofanya kazi (wi-fi au 3G) 2. Bonyeza kitufe cha menyu kwenye simu na uchague Wakalimani 3. Bonyeza menyu tena na uchague Ongeza 4. Chagua Python (kwa sasa ni v2.6.2 kama ya kuandika hii) na itapakua faili zingine za zip Unaweza kutaka kutafuta kuunda, kufungua, kuhariri, na kutumia hati ili ujue na Python kupitia ASE lakini haihitajiki.

Hatua ya 4: Nakili na Endesha Hati ya Cellbot.py kuzindua Programu ya Python

Nakili na Endesha Hati ya Cellbot.py kuzindua Programu ya Python
Nakili na Endesha Hati ya Cellbot.py kuzindua Programu ya Python

Mafunzo haya hutumia hati ya chatu kuwa "akili" za roboti. Pata nambari mpya kutoka kwa mradi wa chanzo wazi wa Google Code. Unahitaji tu faili ya cellbot.py lakini wengine wanaweza kusaidia na vitu anuwai unayotaka kuchunguza. Niliingiza tu simu kwenye unganisho la USB la PC yangu na kuweka gari kabla ya kunakili faili hiyo kwa / sdcard / ase / script.

Programu inaunda unganisho wazi la tundu kukubali kikao kinachoingia cha telnet. Inachapisha pia amri zilizopokelewa kwenye skrini wakati wa kuzipeleka kwenye bandari ya serial. Weka faili hii kwenye kadi ya SD ya simu kwenye / ase / script / saraka. Hatua zilizo na maelezo kupakia na kuendesha hati: 1. Nakili hati ya cellbot.py kwenye kadi ya SD / ase / scripts / saraka. 2. Hakikisha umeshuka kadi ya SD kutoka kwa PC yako ikiwa uliinakili kwa njia hiyo kwani simu haiwezi kufikia faili wakati huo huo PC yako iko. 3. Fungua programu ya Mazingira ya Maandiko ya Android 4. Bonyeza kwenye cellbot.py kuizindua Unapaswa kuona uthibitisho kwamba kifaa kiko tayari wakati huu kukubali vipindi vya telefoni vinavyoingia kwenye bandari 9002. Kidokezo: Hakikisha kuendesha "chmod 777 / dev / ttyMSM2 "amri kutoka hatua # 3 kwanza. Angalia hatua # 5 ya kupata anwani ya IP ya simu.

Hatua ya 5: Telnet Kwenye G1 na Jaribu Kutuma Ni Amri

Telnet Kwenye G1 na Jaribu Kutuma Amri
Telnet Kwenye G1 na Jaribu Kutuma Amri
Telnet Kwenye G1 na Jaribu Kutuma Amri
Telnet Kwenye G1 na Jaribu Kutuma Amri
Telnet Kwenye G1 na Jaribu Kutuma Amri
Telnet Kwenye G1 na Jaribu Kutuma Amri

Simu inapaswa kuwa tayari kwako kupiga simu ndani yake na kuituma amri kutoka kwa PC yako. Itazichapisha kwenye skrini ya simu ili kuthibitisha kile inapokea. Nilitumia PuTTY kwenye Windows lakini tumethibitisha kuwa minicom inafanya kazi vizuri kwenye Macs kama ilivyoelezewa katika hii inayoweza kufundishwa.

Kwanza utahitaji kupata anwani ya IP ya simu yako. Hii inapatikana kwa kwenda kwenye Menyu> Mipangilio> Udhibiti bila waya> mipangilio ya Wi-Fi na kisha kubonyeza muunganisho unaotumika sasa. Ujumbe wa toast wa pop-up utakuja na anwani ya IP ya sasa kwenye mtandao wa karibu. Andika hii kwani utatumia hii kila wakati unataka kufungua kikao cha telnet kutoka kwa PC yako. Kazi za IP kawaida huisha baada ya idadi fulani ya siku kwa hivyo unaweza kuhitaji kuangalia tena. Kumbuka: Mafunzo haya hufikiria PC yako na simu ziko kwenye mtandao huo huo wa ndani. Kuelekeza kwa simu kutoka nje ya mtandao wa karibu inapaswa iwezekanavyo lakini haijafunikwa hapa. Fungua mteja wako wa simu wa chaguo na uunganishe kwenye IP ya simu kwenye bandari 9002. Kutoka kwa laini ya amri unafanya hii kama "simu 192.168.1.1 9002" ukitumia IP halisi ya simu. Andika kwenye herufi zingine na ugonge kuingia ili kuwaona wakionekana kwenye skrini ya simu. Unaweza kuandika q kusababisha script ya Python kuacha, ambayo inapaswa kufunga kikao chako cha terminal. Ikiwa kwa sababu yoyote huwezi kuungana kupitia simu na unahitaji kuua programu, kuwasha tena simu kunapaswa kufanya ujanja. Watumiaji wa hali ya juu wanaweza kutaka kupata kitambulisho cha mchakato kupitia ps na kisha kutumia kuua ili kuizuia. Advanced: Toleo la baadaye la hii linaweza kuendesha seva ya wavuti kutoka kwa simu badala ya kukubali amri kupitia simu. Tunatafuta pia XMPP kuzungumza na roboti yako.

Hatua ya 6: Unganisha 3.3v hadi 5v Level Shifter kwa Arduino

Unganisha 3.3v hadi 5v Level Shifter kwa Arduino
Unganisha 3.3v hadi 5v Level Shifter kwa Arduino
Unganisha 3.3v hadi 5v Level Shifter kwa Arduino
Unganisha 3.3v hadi 5v Level Shifter kwa Arduino
Unganisha 3.3v hadi 5v Level Shifter kwa Arduino
Unganisha 3.3v hadi 5v Level Shifter kwa Arduino

Arduino iliyotumiwa katika mafunzo haya ni mfano wa 5v kwa hivyo tunahitaji kubadilisha ishara ya 3.3v inayotoka kwa G1 kwa kutumia shifter ya kiwango. Inapaswa kuwa inawezekana kuungana moja kwa moja na 3.3v Arduino lakini hiyo haikuwa kitu nilichojaribu.

Kuna njia kadhaa za kukaribia hii lakini tutatumia chip ya 74LS04 katika mfano huu. Unaweza kutafuta moja hapa na labda wana chini ya $ 1. Tim na mimi tulichukua yetu kutoka kwa Hacker Dojo huko Mountain View, CA lakini hizi ni za kawaida sana na zinapaswa kuwa nyingi mahali popote zinauzwa au kutolewa. Katika kiwango cha juu tutatuma tu ishara ya TX kutoka kwa bodi ya kuzuka ya HTS USB kwenye pini 1 ya chip ya 74LS04. Ili kuifanya ifanye kazi tunapitia chip mara mbili na tutatoka pin 4 kwa pini ya RX kwenye Freeduino SB (siri yako ya siri inaweza kuwa tofauti ikiwa una bodi nyingine ya Arduino lakini wote wanapaswa kuunga mkono hii). Fuata hatua hizi kuweka waya wa kiwango na unganisha bodi ya HTC USB (usiiingize kwenye simu bado na unganisha nguvu kwa Arduino): 1. Ingiza chip ya 74LS04 kwenye ubao wako wa mkate. Hakikisha kuwa chip inazuia kituo kuvunja ili pini zisifupishwe (hoja bubu niliyoifanya mwanzoni) 2. Askari waya mbili kwa bodi ya HTC USB kama ilivyoelezewa katika hii, lakini tutatumia tu pini 7 (Ground) na 8 (TX0) kwa kuwa tunafanya usafirishaji wa njia moja tu kwa mafunzo haya. 3. Unganisha waya mwingine wa ardhi (pini 7) chini kwenye ubao wako wa mkate (ambao unapaswa kushikamana na ardhi kwenye Arduino yako) 4. Unganisha ncha nyingine ya waya ya TX0 (pini 8) kwenye ubao wa mkate ambapo inaendesha kwa siri 1 ya chip 74LS04. (fanya tafuta picha kwa mchoro kamili wa chip) 5. Tumia waya kuunganisha pini 2 na 3 ya chip 6. Unganisha pini 4 ya chip kwenye Arduino RX point (pin 0 kwenye Freeduino SB na Arduino Duemilanove 7. Unganisha pini 7 (GND) kwenye chip chini kwa ubao wako wa mkate (ambayo pia inaunganisha na Arduino ardhi) 8. Unganisha pini 14 (VCC) kwa nguvu ya 5v kwenye ubao wako wa mkate (ambayo hupata nguvu kutoka kwa Arduino Pato la 5v) Sasa unapaswa kuwa tayari kuziba bodi ya kuzuka ya HTC USB chini ya simu na nguvu kwenye Arduino. Angalia cheche na harufu na gusa vitu ili kuhakikisha kuwa ni baridi. Kumbuka: Nambari ya sasa ya cellbot inawasha LED # 13 wakati motors za servo zinapaswa kuwa zinaendesha. Ikiwa hauna roboti bado unaweza kuangalia kuona kuwa LED inawasha na kuzima ili kuhakikisha inafanya kazi.

Hatua ya 7: Pakia Programu ya Cellbots kwenye Arduino

Pakia Programu ya Cellbots kwenye Arduino
Pakia Programu ya Cellbots kwenye Arduino
Pakia Programu ya Cellbots kwenye Arduino
Pakia Programu ya Cellbots kwenye Arduino

Pata nambari ya chanzo ya Arduino kutoka kwa wavuti yetu ya mradi wa Google Code. Fungua mpango wa Cellbots.pde Arduino katika mhariri wa Arduino. Kisha kushinikiza kwenye bodi yako ya Arduino.

Unaweza kujaribu kuzungumza na nambari ya Arduino kwa kufungua mfuatiliaji wa serial katika mhariri wa Arduino. Hii ni njia nzuri ya kujaribu roboti yako au kifaa kwa kuongea moja kwa moja na Arduino kabla ya kuweka kila kitu kwenye simu. Nambari hiyo hutuma amri za serial tena kwa mfuatiliaji wa serial kudhibitisha inafanya nini hata kama haujajengwa robot yako bado Kumbuka: Hauwezi kupakia programu kwenye Arduino wakati waya imeunganishwa kwenye pini ya kuingiza serial ya RX. Kwa hivyo unaweza kutaka kuweka hii kubadili lakini nilichomoa tu wakati nilihitaji kupakia programu mpya.

Hatua ya 8: Endesha Mchakato Wote

Endesha Mchakato Wote
Endesha Mchakato Wote
Endesha Mchakato Wote
Endesha Mchakato Wote
Endesha Mchakato Wote
Endesha Mchakato Wote

Unapaswa kuwa na uwezo wa kuunganisha bodi ya HTC USB kwenye simu, kuchoma faili ya cellbot.py katika ASE, na kufungua vipindi vya mwisho kwenye simu. Andika "H" ili simu ikusalimu au amri zingine kutoka kwa faili ya README.txt.

"Q" itaacha hati ya Python kwenye simu na kufunga tundu la wastaafu. Hapa kuna muhtasari wa jinsi inavyofanya kazi: Tunaunganisha kutoka kwa PC yetu hadi kwenye simu kupitia telnet kwenye bandari 9002 na tunatuma amri ambazo tunaona kwenye skrini 3. Bodi ya USB ya HTS inaingiliana na bandari ya USB ya G1 na hutuma ishara ya 3.3v kwenye pini ya 74LS04 1. 4. ishara hutoka kwenye chip kwenye pini 2, inarudi kwenye pini 3, na inatoka tena kwa pini 4 saa 5v 5. Arduino yetu inakubali ishara ya serial kwenye RX pin 0 na kuisindika kupitia mpango wa Cellbot.pde 6. Sisi unaweza kuandika 'q' kuua hati ya chatu na kufunga muunganisho wa telnet Sasa kwa kuwa umekamilisha mchakato huu mgumu sana wa kutuma amri za kimsingi kwa roboti ya Arduino, ni wakati wako kuibadilisha iwe ya kushangaza zaidi! Bado hatuna njia mbili za kufanya kazi kwa hivyo Arduino haiwezi kutuma amri tena kwenye simu lakini tunashughulikia hiyo. Kaa sasa kwa kujisajili kwenye blogi yetu kwenye Cellbots.com. Kuhusu Waandishi: Mtafiti Kiongozi wa Tim Heath ambaye kwanza aliweka mchakato huu pamoja katika Duka la Teknolojia huko Menlo Park, ambapo yeye ni mwanachama. Ryan Hickman Programmer ambaye alifanya kazi kwenye nambari ya chatu na Arduino na kuandika kitabu hiki kinachoweza kufundishwa.

Ilipendekeza: