Բովանդակություն:
- Քայլ 1: Անհրաժեշտ իրեր
- Քայլ 2. Android G1 սերիական ելքով միացված
- Քայլ 3: Տեղադրեք Android Scripting Environment (ASE) Python- ի հետ
- Քայլ 4. Պատճենեք և գործարկեք Cellbot.py սցենարը ՝ Python ծրագիրը գործարկելու համար
- Քայլ 5. Telnet Into G1 և թեստ ՝ այն ուղարկելու հրամաններ
- Քայլ 6. Միացրեք 3.3 վ 5 վ մակարդակի փոխարկիչը Arduino- ին
- Քայլ 7: Տեղադրեք Cellbots ծրագիրը Arduino- ում
- Քայլ 8: Գործարկեք ամբողջ գործընթացը
Video: Android G1 սերիան Arduino ռոբոտին ՝ 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:53
Իմացեք, թե ինչպես է ձեր Android բջջային հեռախոսը կարող կառավարել ռոբոտը ՝ օգտագործելով Arduino տախտակը: Հեռախոսը telnet- ի միջոցով հրամաններ է ընդունում մեկ այլ հեռախոսից կամ համակարգչից, այնպես որ կարող եք ռոբոտին հեռակա կարգով կառավարել: Այս նախագիծը այլևս չի փոխի G1- ը, այնպես որ կարող եք շարունակել այն օգտագործել որպես ձեր սովորական հեռախոս այն բանալուց հետո: Ինչու՞: Օգտագործելով էժան էլեկտրոնային բաղադրիչներ, ինչպիսիք են Arduino- ի տախտակները, դրանք կարող եք զուգակցել ձեր 400 դոլար արժողությամբ հեռախոսի հետ `հիանալի ռոբոտ ստեղծելու համար: Հարյուրավոր դոլարներ կարժենան GPS- ի, LCD- ների, շարժման տվիչների, wi-fi- ի, բջջային կապերի, բարձրախոսների և այլնի ավելացմանը հոբբիի բոտին, բայց ձեր հեռախոսում դրանք արդեն կան: Միասին, Android G1- ը և Arduino- ի տախտակը թույլ են տալիս օգտագործել էժան էլեկտրոնիկա, ինչպիսիք են պարզ սերվերն ու տվիչները, հզոր սարքեր ստեղծելու համար, ինչպիսիք են ռոբոտները, հեռադիտակը կամ երեխաների համար զվարճալի խաղալիքներ: Լրացուցիչ տեղեկություններ Cellbots.com- ում: iceանուցում. Այս նախագիծը ներկայումս պահանջում է Android G1 արմատային հասանելիությամբ ՝ հեռախոսից Arduino ռոբոտին սերիական ելք օգտագործելու համար: Դուք կարող եք ավելացնել $ 20 BlueTooth մոդուլ ձեր Arduino տախտակին, որպեսզի հեռախոսը դրա հետ խոսի սերիական BlueTooth- ի միջոցով, եթե ցանկանում եք օգտագործել առևտրային Android ծրագրակազմը: Հատուկ շնորհակալություն. Մենք ունենք Hacker Dojo- ն Mountain View, CA- ում, որը պետք է շնորհակալություն հայտներ մեզ կապի մեջ պահելու, նրանց հիանալի անդամների փոստային ցուցակի միջոցով օգնության հասնելու և 74LS04 չիպսեր պահելու համար: Հավաքի մեծ մասը կատարվել է Մենլո այգում գտնվող Tech Shop- ում:
Քայլ 1: Անհրաժեշտ իրեր
Այս ձեռնարկը լրացնելու համար ձեզ հարկավոր է հետևյալը. Սարքաշար. փոխարկիչ, եթե չեք օգտագործում 3.3v Arduino (ես օգտագործում եմ 74LS04 չիպ ՝ 1 դոլարից ցածր գնով, բայց կան այլ տարբերակներ) - HTC USB ճեղքման տախտակ G1- ի համար - oldոդման սարք երկու արագ միացման համար - Ռոբոտի մարմին միկրո սերվերներ (ստվարաթուղթ, ակրիլ, քայլեր, անիվներ, ամեն ինչ կանի) Softwareրագրակազմ. ձեր համակարգիչը (ես դրա համար օգտագործում եմ նաև PuTTY- ը Windows- ում) - (ըստ ցանկության) Android SDK Եթե կարող եք հետևել հրահանգներին, կարող եք ավարտել այս ձեռնարկը ՝ Python- ի, Arduino- ի, Android- ի կամ էլեկտրոնիկայի մասին փոքր գիտելիքներով: Դուք կցանկանաք իմանալ այդ բաները, եթե ցանկանում եք դուրս գալ թարթող լուսադիոդից, բայց դա ձեզ կսկսի:
Քայլ 2. Android G1 սերիական ելքով միացված
G1- ը չի առաքվում USB պորտից սերիական հրամաններ ուղարկելու հնարավորությամբ, և այն միացնելու հայրենական տարբերակ չկա: Եթե դուք Android SDK- ի առաջադեմ օգտվող եք, կարող եք ինքներդ կառուցել, բայց ես որոշեցի օգտագործել Cyanogenmod 4.2.13 -ը: Եթե գիտեք Android- ի այլ սարքեր, որոնց սերիան չի աշխատում, դրանք ավելացրեք մեկնաբանություններում:
Oանկության դեպքում, կարող եք հետևել այնտեղ տեղադրված այս հղումներին ՝ ձեր համակարգչից USB- ով USB- ով ձեր G1- ով խոսելու համար: USB- ի սերիան USB- ի համար պարտադիր չէ այս ձեռնարկի համար, բայց ես այն օգտագործել եմ որպես լավ խելամտության ստուգում `ստուգելու համար, որ հեռախոսը սերիան դուրս է ուղարկում: Եթե դուք չեք օգտագործում այլ անուղղելի ՝ սերիական ելքն աշխատելու համար, կարող եք փորձել այս պարզ ստուգումը. 1. Բացեք տերմինալ ծրագիրը G1- ում (գալիս է Cyanogen- ով, բայց ներբեռնեք այն Շուկայից, եթե ունեք այլ պատկեր) 2. Գնացեք դեպի/dev/գրացուցակ ՝ մուտքագրելով cd/dev/3. Մուտքագրեք ls (դա L է) և վերադարձված ցանկում փնտրեք ttyMSM2: Python սցենարը, որը մենք հետագայում կօգտագործենք, հրամաններ է ուղարկում '/dev/ttyMSM2' հասցեով: հրամայեք նրանց դուրս գալ սերիական կապից: Քանի որ դա պահանջում է արմատային մուտք, դուք պետք է փոխեք դրա թույլտվությունները ամեն անգամ, երբ վերագործարկում եք հեռախոսը: Դա անելու համար ՝ 1. Բացեք տերմինալի ծրագիրը հեռախոսի վրա 2. Մուտքագրեք «chmod 777 /dev /ttyMSM2», այնուհետև հաջորդ քայլին կարող եք գործարկել Python- ի սցենարը Android Scripting խմբագրումից, և նրան հասանելի կլինի սերիական արտադրանք ուղարկելու համար:
Քայլ 3: Տեղադրեք Android Scripting Environment (ASE) Python- ի հետ
Այն սցենարները, որոնք մենք կօգտագործենք հեռախոսում բաց վարդակից կապ ստեղծելու և հրամաններ ուղարկելու համար, գրված են Python- ում: G1- ում սա գործարկելու համար մեզ անհրաժեշտ կլինի Android Scripting Environment: Եթե այն շուկայում չեք տեսնում, կարող եք ներբեռնել ՝ սկանավորելով այդ էջի շտրիխ կոդը, որը կապում է այս էջի apk ֆայլին:
ASE- ի տեղադրումից և գործարկումից հետո դուք կցանկանաք ցանկից ավելացնել Python մոդուլը. 1. Բացեք ASE- ն և համոզվեք, որ աշխատող ինտերնետ կապ ունեք (wi-fi կամ 3G) 2. Սեղմեք հեռախոսի ընտրացանկի կոճակը և ընտրեք Թարգմանիչներ 3. Կրկին սեղմեք ընտրացանկը և ընտրեք Ավելացնել 4. Ընտրեք Python (ներկայումս v2.6.2 գրելու համար) և այն կներբեռնի որոշ zip ֆայլեր ASE, բայց դա պարտադիր չէ:
Քայլ 4. Պատճենեք և գործարկեք Cellbot.py սցենարը ՝ Python ծրագիրը գործարկելու համար
Այս ձեռնարկը օգտագործում է Python սցենար ՝ ռոբոտի «ուղեղը» լինելու համար: Ստացեք վերջին ծածկագիրը մեր բաց կոդով Google Code նախագծից: Ձեզ անհրաժեշտ է միայն cellbot.py ֆայլը, բայց մյուսները կարող են օգնել ձեզ տարբեր բաներում, որոնք ցանկանում եք ուսումնասիրել: Ես պարզապես հեռախոսը միացրեցի իմ համակարգչի USB միացմանը և տեղադրեցի սկավառակը ՝ ֆայլը/sdcard/ase/սցենարներում պատճենելուց առաջ:
Createsրագիրը ստեղծում է բաց վարդակից միացում `մուտքային հեռախոսի նիստ ընդունելու համար: Այն նաև տպում է ստացված հրամանները էկրանին ՝ դրանք սերիական պորտից դուրս ուղարկելով: Տեղադրեք այս ֆայլը հեռախոսի SD քարտի վրա/ase/scripts/գրացուցակում: Սցենարները բեռնելու և գործարկելու մանրամասն քայլեր. SD քարտը ձեր համակարգչից, եթե դրանք այդպես եք պատճենել, քանի որ հեռախոսը չի կարող մուտք գործել ֆայլեր ձեր համակարգչի հետ միաժամանակ: 3. Բացեք Android Scripting Environment ծրագիրը 4. Սեղմեք cellbot.py- ին այն գործարկելու համար Դուք պետք է տեսնեք հաստատում, որ այս պահին սարքը պատրաստ է ընդունելու 9002 նավահանգստում մուտքային հեռախոսի նիստերը: Հուշում. Համոզվեք, որ գործարկում եք «chmod 777 /dev/ttyMSM2 հրաման առաջին #3 -րդ քայլից: Հեռախոսի IP հասցեն գտնելու համար տես քայլ 5 -ը:
Քայլ 5. Telnet Into G1 և թեստ ՝ այն ուղարկելու հրամաններ
Հեռախոսը պետք է պատրաստ լինի, որպեսզի այն մուտք գործեք և հրամաններ ուղարկեք ձեր համակարգչից: Այն դրանք կտպագրի հեռախոսի էկրանին `հաստատելու այն, ինչ ստանում է: Ես օգտագործել եմ PuTTY- ը Windows- ում, բայց մենք հաստատել ենք, որ minicom- ը հիանալի է աշխատում Mac- երի վրա, ինչպես նկարագրված է այս հրահանգում:
Նախ պետք է գտնել ձեր հեռախոսի IP հասցեն: Սա հասանելի է ՝ ընտրացանկ> Պարամետրեր> Անլար կարգավորիչներ> Wi-Fi կարգավորումներ և այնուհետև սեղմելով ընթացիկ ակտիվ կապը: Թռուցիկ կենաց հաղորդագրություն կգա տեղական ցանցի ընթացիկ IP հասցեով: Գրեք սա, քանի որ այն կօգտագործեք ամեն անգամ, երբ ցանկանում եք հեռակա նիստ բացել ձեր համակարգչից: IP- ի առաջադրանքները սովորաբար ավարտվում են որոշակի օրերից հետո, այնպես որ գուցե կարիք լինի դա նորից ստուգել: Նշում. Այս ձեռնարկը ենթադրում է, որ ձեր համակարգիչն ու հեռախոսը գտնվում են նույն տեղական ցանցում: Տեղական ցանցից դուրս հեռախոսի ուղղորդումը պետք է հնարավոր լինի, բայց այստեղ ընդգրկված չէ: Բացեք ձեր նախընտրած telnet հաճախորդը և միացեք հեռախոսի IP- ին 9002. նավահանգստում: Հրամանի տողից դա անում եք որպես «telnet 192.168.1.1 9002» ՝ օգտագործելով հեռախոսի փաստացի IP հասցեն: Մուտքագրեք որոշ նիշեր և սեղմեք enter ՝ դրանք հեռախոսի էկրանին ցուցադրելու համար: Դուք կարող եք մուտքագրել q ՝ Python- ի սցենարը դադարեցնելու համար, ինչը պետք է փակի ձեր տերմինալի նիստը: Եթե ինչ -ինչ պատճառներով չեք կարող միանալ telnet- ի միջոցով և պետք է սպանել ծրագիրը, ապա հեռախոսի պարզ վերագործարկումը պետք է անի այդ հնարքը: Ընդլայնված օգտվողները գուցե ցանկանան գտնել գործընթացի ID- ն ps- ի միջոցով, այնուհետև օգտագործել kill- ը ՝ այն դադարեցնելու համար: Ընդլայնված. Սրա ապագա տարբերակը կարող է գործարկել հեռախոսից տեղական վեբ սերվեր, այլ ոչ թե ընդունել telnet- ի միջոցով հրամաններ: Մենք նաև ուսումնասիրում ենք XMPP- ը ՝ ձեր ռոբոտի հետ զրուցելու համար:
Քայլ 6. Միացրեք 3.3 վ 5 վ մակարդակի փոխարկիչը Arduino- ին
Այս ձեռնարկում օգտագործված Arduino- ն 5 վ մոդել է, այնպես որ մենք պետք է փոխարկենք G1- ից դուրս եկող 3.3v ազդանշանը `օգտագործելով մակարդակի փոխարկիչ: Պետք է հնարավոր լինի ուղղակիորեն միանալ 3.3v Arduino- ին, բայց դա այն չէ, ինչ ես փորձարկեցի:
Սրան մոտենալու մի քանի եղանակ կա, բայց այս օրինակում մենք կօգտագործենք 74LS04 չիպ: Այստեղ կարող եք որոնել մեկը, և դրանք, ամենայն հավանականությամբ, 1 դոլարից ցածր են: Ես և Թիմը վերցրինք մերոնք Hacker Dojo- ից Mountain View, CA- ում, բայց դրանք շատ սովորական են և պետք է առատ լինեն այնտեղ, որտեղ չիպսերը վաճառվում կամ նվիրաբերվում են: Բարձր մակարդակով մենք պարզապես պատրաստվում ենք TX ազդանշանը ուղարկել HTS USB բեկման տախտակից 74LS04 չիպի 1 -ին փին: Այն աշխատեցնելու համար մենք երկու անգամ անցնում ենք չիպի միջով և դուրս ենք գալիս 4 -րդ կապում Freeduino SB- ի RX կապին (ձեր սերիական կապը կարող է տարբեր լինել, եթե ունեք մեկ այլ Arduino տախտակ, բայց բոլորը պետք է աջակցեն դա): Հետևեք այս քայլերին ՝ մակարդակը փոխող սարքը բարձրացնելու և HTC USB տախտակը միացնելու համար (այն դեռ միացրեք հեռախոսին և միացրեք Arduino- ին): 1. Տեղադրեք 74LS04 չիպը ձեր տախտակի վրա: Համոզվեք, որ չիպը խոչընդոտում է կենտրոնի խզմանը, որպեսզի կապումներն կարճ չլինեն (սկզբում կատարած հիմար քայլը) 2. HTC USB տախտակին երկու լար լարեք, ինչպես նկարագրված է այս հրահանգում, բայց մենք կօգտագործենք միայն 7 կապում (Ground) և 8 (TX0), քանի որ այս ձեռնարկի համար մենք միայն միակողմանի փոխանցում ենք կատարում: 3. Միացրեք գրունտի մյուս ծայրը (կապ 7) մետաղալարով ձեր գրատախտակին տեղադրված գետնին (որը պետք է միացված լինի ձեր Arduino- ի գետնին) 4. Միացրեք TX0 (փին 8) մետաղալարերի մյուս ծայրը հացատախտակին, որտեղ այն անցնում է 74LS04 չիպի 1 -ին կապում: (պատկերով փնտրեք չիպի ամբողջական դիագրամ) 5. Չիպի 2 -րդ և 3 -րդ կապերը միացնելու համար օգտագործեք մետաղալարեր: 6. Չիպի 4 -րդ կապը միացրեք Arduino RX կետին (0 -ը `Freeduino SB- ի և Arduino Duemilanove- ի վրա):) 7. Չիպի վրայի 7 -ը (GND) միացրեք գետնին ձեր տախտակի համար (որը միանում է նաև Arduino գետնին) 8. Միացրեք 14 -րդ կապը (VCC) ձեր տախտակի 5 վ լարման հոսանքին (որը սնուցվում է Arduino- ից) 5 վ ելք) Այժմ դուք պետք է պատրաստ լինեք HTC USB կոտրիչ տախտակը միացնել հեռախոսի ներքևին և միացնել Arduino- ն: Ստուգեք կայծերի և հոտերի առկայությունը և դիպչեք իրերին `համոզվելու համար, որ դրանք սառը են: Նշում. Ներկայիս բջջային բոտի ծածկագիրը միացնում է LED #13 -ը, երբ ռոբոտի սերվո -շարժիչները պետք է աշխատեն: Եթե դեռ ռոբոտ չունեք, կարող եք ստուգել `արդյոք LED- ը միանում և անջատվում է` հաստատելու համար, որ այն աշխատում է:
Քայլ 7: Տեղադրեք Cellbots ծրագիրը Arduino- ում
Ստացեք Arduino աղբյուրի կոդը մեր Google Code նախագծի կայքից: Բացեք Cellbots.pde Arduino ծրագիրը Arduino խմբագրիչում: Այնուհետև այն մղեք ձեր Arduino տախտակին:
Դուք կարող եք փորձարկել Arduino կոդի հետ խոսելը ՝ Arduino խմբագրում բացելով սերիական մոնիտորը: Սա հիանալի միջոց է ձեր ռոբոտը կամ սարքը փորձարկելու համար ՝ անմիջապես խոսելով Arduino- ի հետ, նախքան ամեն ինչ հեռախոսին կապելը: Կոդը սերիական հրամաններ է ուղարկում սերիական մոնիտոր ՝ հաստատելու, թե ինչ է անում, նույնիսկ եթե դեռ ձեր ռոբոտը դեռ կառուցված չէ: Նշում. Դուք չեք կարող ծրագրեր բեռնել Arduino- ում, քանի դեռ մետաղալարը միացված է RX սերիական մուտքի քորոցին. Այսպիսով, գուցե ցանկանաք այս մեկը անջատիչ դնել, բայց ես պարզապես անջատեցի այն, երբ անհրաժեշտ էր նոր ծրագիր բեռնել:
Քայլ 8: Գործարկեք ամբողջ գործընթացը
Դուք պետք է կարողանաք HTC USB տախտակը միացնել հեռախոսին, վառել cellbot.py ֆայլը ASE- ում և բացել տերմինալային նիստեր հեռախոսի մեջ: Մուտքագրեք «H», որպեսզի հեռախոսը բարևի կամ README.txt ֆայլից որևէ այլ հրաման տա:
«Q» - ն դուրս կգա հեռախոսում Python- ի սցենարից և կփակի տերմինալի վարդակը: Ահա մի ամփոփագիր, թե ինչպես է ամեն ինչ աշխատում. Մենք միանում ենք մեր համակարգչից հեռախոսին 9002 նավահանգստում գտնվող telnet- ով և ուղարկում այն հրամաններ, որոնք տեսնում ենք էկրանին 3. HTS USB տախտակը միանում է G1- ի USB պորտին և ուղարկում 3.3 վ ազդանշանը 74LS04 պին 1. 1. ազդանշանը դուրս է գալիս 2 -ի չիպից, հետ է մտնում 3 -րդ կապի վրա և նորից դուրս է գալիս 4 -րդ կապի վրա 5v 5. Մեր Arduino- ն ընդունում է RX կապ 0 -ի սերիական ազդանշանը և մշակում այն Cellbot.pde ծրագրի միջոցով: 6. Մենք կարող եք մուտքագրել «q» ՝ Python- ի սցենարը սպանելու և telnet կապը փակելու համար: Այժմ, երբ դուք ավարտել եք Arduino ռոբոտին հիմնական հրամաններ ուղարկելու այս շատ բարդ գործընթացը, ժամանակն է, որ այն կոտրեք, որպեսզի այն ավելի հիանալի լինի: Մենք դեռ երկկողմանի սերիա չունենք, այնպես որ Arduino- ն չի կարող հրամաններ հետ ուղարկել հեռախոսին, բայց մենք աշխատում ենք դրա վրա: Մնացեք արդիական ՝ բաժանորդագրվելով Cellbots.com- ի մեր բլոգին: Հեղինակների մասին. Թիմ Հիթ Առաջատար գիտաշխատող, ով առաջին անգամ այս գործընթացը համատեղեց Menlo Park- ի Tech Shop- ում, որտեղ նա անդամ է: Ռայան Հիքման ծրագրավորող, ով աշխատել է Python- ի և Arduino կոդի վրա և հեղինակել է այս Instructable- ը:
Խորհուրդ ենք տալիս:
Հանդիպեք Twinky the Cutest Arduino ռոբոտին. 7 քայլ (նկարներով)
Հանդիպեք Twinky the Cutest Arduino ռոբոտին. բայց կոչվում է «Twinky», ես ուզում եմ դա մաքրել … Սա պատճեն չէ: ԵՍ ՇԻՆՈՄ ԵՄ TWINKY- ը և այնուհետև ես հասկացա, որ ԱՅՍՊԵՍ ՄԻ ԱՅՍՊԵՍ ԿԱ
Խելամիտ շարժիչ ռոբոտին դարձնել ավելի խելացի ՝ 4 քայլ
Խելամիտ շարժիչ ռոբոտ դարձնել ավելի խելացի. Այսպիսով, ես ունեմ մի գեղեցիկ, բայց հիմար խոտհնձիչ ռոբոտ (նկարը ՝ www.harald-nyborg.dk- ից): Այս ռոբոտը ենթադրաբար կկտրի իմ սիզամարգը, բայց իմ սիզամարգը չափազանց մեծ է և բարդ դա իսկապես անկյուններ մտնելու համար: Իմ գծագրերում ցուցադրված չեն բազմաթիվ
OAREE - 3D տպագիր - Engineeringարտարագիտական կրթության համար նախատեսված ռոբոտին խոչընդոտներից խուսափելը (OAREE) Arduino- ով. 5 քայլ (նկարներով)
OAREE - 3D Printed - Խոչընդոտներից խուսափող ինժեներական կրթության համար նախատեսված ռոբոտ (OAREE) Arduino- ի հետ. 3D տպագրվող, հեշտ հավաքվող, շարժման համար օգտագործում է շարունակական պտտման ծառայություններ
Ռոբոտին խոչընդոտելը Arduino Uno- ի միջոցով. 5 քայլ (նկարներով)
Արբինո Uno- ի միջոցով ռոբոտից խուսափելը խոչընդոտ է
Android G1 սերիան USB մալուխին ՝ 8 քայլ
Android G1 սերիալ դեպի USB մալուխ. Իմացեք, թե ինչպես պատրաստել Android G1 2.8v սերիալ USB սերիայի սարքի ադապտեր (օգտագործելով 3.3v ttl to usb սերիական ադապտեր): Սա կարող է օգտագործվել ձեր համակարգչի միջուկի կարգաբերման համար և այլն: Այս նախագիծը չպետք է ձեզ կարժենա ավելի քան 40 դոլար, եթե արդեն ունեք