Агуулгын хүснэгт:

Android G1 цуврал Arduino робот: 8 алхам
Android G1 цуврал Arduino робот: 8 алхам

Видео: Android G1 цуврал Arduino робот: 8 алхам

Видео: Android G1 цуврал Arduino робот: 8 алхам
Видео: SKR 1.4 - Fan Control 2024, Есдүгээр
Anonim
Android G1 цуврал Arduino робот
Android G1 цуврал Arduino робот
Android G1 цуврал Arduino робот
Android G1 цуврал Arduino робот
Android G1 цуврал Arduino робот
Android G1 цуврал Arduino робот

Таны Android гар утас Arduino самбар ашиглан роботыг хэрхэн удирдах талаар олж мэдээрэй. Утас нь өөр утас эсвэл компьютерээс telnet -ээр командыг хүлээн авдаг тул та роботыг алсаас удирдах боломжтой. Энэхүү төсөл нь G1 -ийг өөрчилөхгүй тул та утсаа салгасны дараа ердийн утсаараа үргэлжлүүлэн ашиглах боломжтой. Arduino самбар гэх мэт хямд электрон эд ангиудыг ашигласнаар та 400 долларын үнэтэй утсаараа хослуулан гайхалтай робот бүтээж болно. Хобби ботод GPS, LCD, хөдөлгөөн мэдрэгч, wi-fi, үүрэн холболт, чанга яригч болон бусад зүйлийг нэмэх нь хэдэн зуун долларын үнэтэй байх болно, гэхдээ таны утсанд эдгээр нь аль хэдийн бий! Андройд G1 болон Arduino самбар нь энгийн servo, мэдрэгч гэх мэт хямд электрон төхөөрөмжүүдийг ашиглах, робот, алсын удирдлага, хүүхдэд зориулсан хөгжилтэй тоглоом гэх мэт хүчирхэг төхөөрөмжүүдийг бүтээх боломжийг танд олгоно. Cellbots.com дээрх дэлгэрэнгүй мэдээлэл Хэрэв та арилжааны Андройд програм хангамж ашиглахыг хүсч байвал Arduino самбартаа 20 долларын үнэтэй BlueTooth модулийг нэмж BlueTooth дээр утсаар ярих боломжтой. Онцгой талархал: Бидэнд Калифорнийн Маунтин Вью хотод Hacker Dojo байна, бидэнтэй холбоо барьж, гайхалтай гишүүдийн имэйлийн жагсаалтаар дамжуулан зарим хүнд хэцүү асуудлыг шийдвэрлэхэд тусалж, 74LS04 чипийг нөөцөлсөнд баярлалаа. Ихэнх угсрах ажлыг Менло Парк дахь Технологийн дэлгүүрт хийсэн.

Алхам 1: Шаардлагатай зүйлс

Шаардлагатай зүйлс
Шаардлагатай зүйлс
Шаардлагатай зүйлс
Шаардлагатай зүйлс
Шаардлагатай зүйлс
Шаардлагатай зүйлс

Энэхүү гарын авлагыг бөглөхийн тулд танд дараах зүйлс хэрэгтэй болно: Тоног төхөөрөмж: - Android G1 Dev утас (эсвэл root хандалттай, цуваа гаралттай бусад Андройд төхөөрөмж) - Arduino (би Freeduino SB ашиглаж байгаа, гэхдээ хэн ч хийх ёстой) - 3.3v -аас 5v хүртэл Хэрэв та 3.3v Arduino ашигладаггүй бол хөрвүүлэгч (би 74LS04 чипийг 1 доллараас бага үнээр ашиглаж байгаа боловч бусад сонголтууд боломжтой) - G1 -ийн HTC USB таслах самбар - Хоёр хурдан холболт хийх гагнуурын төхөөрөмж - Робот биетэй бичил servo (картон, нийлэг, дэвслэх, дугуй, юу ч хийх болно) Програм хангамж: - Андройд скриптийн орчин (ASE) - таны компьютерт зориулсан Telnet клиент (Windows дээр PuTTY ашиглаж байна) - Arduino хөгжүүлэлтийн орчин - (заавал биш) Цуваа үйлчлүүлэгч таны компьютер (би үүнийг Windows дээр бас PuTTY ашиглаж байна) - (заавал биш) Android SDK Хэрэв та зааврыг дагаж чадвал Python, Arduino, Android эсвэл электроникийн талаар бага мэдлэгтэй энэхүү гарын авлагыг бөглөх боломжтой. Хэрэв та анивчдаг LED -ээс хэтрэхийг хүсч байвал эдгээр зүйлийг мэдэхийг хүсч байгаа ч энэ нь таныг эхлүүлэх болно.

Алхам 2: Цуваа гаралтыг идэвхжүүлсэн Android G1

Цуваа гаралтыг идэвхжүүлсэн Android G1
Цуваа гаралтыг идэвхжүүлсэн Android G1
Цуваа гаралтыг идэвхжүүлсэн Android G1
Цуваа гаралтыг идэвхжүүлсэн Android G1
Цуваа гаралтыг идэвхжүүлсэн Android G1
Цуваа гаралтыг идэвхжүүлсэн Android G1

G1 нь USB портоос цуваа команд илгээх чадвартай байдаггүй бөгөөд үүнийг идэвхжүүлэх үндсэн сонголт байдаггүй. Хэрэв та дэвшилтэт Android SDK хэрэглэгч бол та өөрөө бүтээх боломжтой боловч би Cyanogenmod 4.2.13 -ийг ашиглахаар шийдсэн. Хэрэв та цуврал ажиллагаатай бусад Андройд төхөөрөмжүүдийг мэддэг бол тэдгээрийг коммент хэсэгт нэмнэ үү.

Хэрэв та G1 -тэй компьютерээсээ USB -ээр ярихыг хүсвэл энд байгаа линкийг дагаж болно. Энэ хичээлд USB холболт хийх шаардлагагүй, гэхдээ би үүнийг утсаа цуваа илгээж байгаа эсэхийг шалгахын тулд эрүүл мэндийн хувьд сайн шалгалт болгон ашигласан. Хэрэв та цуваа гаралт ажиллаж байгаа эсэхийг шалгахын тулд бусад өгөгдөл дамжуулагчийг ашиглахгүй бол дараах энгийн шалгалтыг ашиглаж болно: 1. G1 дээрх Терминал програмыг нээнэ үү (Цианоген дагалддаг, гэхдээ өөр зурагтай бол зах зээлээс татаж аваарай) 2 Cd/dev/3 гэж бичээд/dev/лавлах руу очно уу. Ls (энэ нь L) гэж бичээд буцаасан жагсаалтаас ttyMSM2 -ийг хайж олоорой. Бидний ашиглах Python скрипт нь дараа нь '/dev/ttyMSM2' руу командыг илгээдэг. тэднийг цуваа холболтоос гарахыг тушаав. Энэ нь root хандалтыг шаарддаг тул та утсаа дахин асаах бүртээ энэ зөвшөөрлийг өөрчлөх шаардлагатай болно. Үүнийг хийхийн тулд: 1. Утсан дээрх терминал програмыг нээнэ үү 2. 'chmod 777 /dev /ttyMSM2' оруулна уу Дараа нь та Python скриптийг Android Scripting засвараас дараагийн алхамд ажиллуулж болох бөгөөд энэ нь цуваа гаралтыг илгээх эрхтэй болно.

Алхам 3: Android скрипт орчныг (ASE) Python ашиглан суулгана уу

Android скрипт орчныг (ASE) Python ашиглан суулгаарай
Android скрипт орчныг (ASE) Python ашиглан суулгаарай
Android скрипт орчныг (ASE) Python ашиглан суулгаарай
Android скрипт орчныг (ASE) Python ашиглан суулгаарай

Утсан дээр нээлттэй сокет холболт үүсгэх, командыг илгээхэд бидний ашиглах скриптүүдийг Python дээр бичсэн болно. Үүнийг G1 дээр ажиллуулахын тулд бидэнд Android скриптийн орчин хэрэгтэй болно. Хэрэв та үүнийг зах зээл дээр олж харахгүй байгаа бол энэ хуудсан дээрх apk файлтай холбосон баркод сканнердах замаар татаж авах боломжтой.

ASE-ийг суулгаж ажиллуулсны дараа та цэснээс Python модулийг нэмж оруулахыг хүсэх болно: 1. ASE-ийг нээгээд интернет холболт (wi-fi эсвэл 3G) байгаа эсэхийг шалгаарай 2. Утасны цэс товчийг дараад сонгоно уу. Орчуулагч 3. Цэсийг дахин дараад Нэмэх 4 -ийг сонгоно уу. Python -ийг сонгоно уу (одоогоор үүнийг бичиж байгаа v2.6.2), энэ нь зарим зип файлуудыг татаж авах болно. ASE, гэхдээ энэ нь шаардлагагүй.

Алхам 4: Python програмыг ажиллуулахын тулд Cellbot.py скриптийг хуулж ажиллуулна уу

Python програмыг ажиллуулахын тулд Cellbot.py скриптийг хуулж ажиллуулна уу
Python програмыг ажиллуулахын тулд Cellbot.py скриптийг хуулж ажиллуулна уу

Энэхүү заавар нь роботын "тархи" болохын тулд Python скриптийг ашигладаг. Манай нээлттэй эх кодын Google код төслөөс хамгийн сүүлийн үеийн кодыг аваарай. Танд зөвхөн cellbot.py файл хэрэгтэй боловч бусад хүмүүс таны судлахыг хүссэн янз бүрийн зүйлд тусалж магадгүй юм. Файлыг/sdcard/ase/скрипт рүү хуулахаасаа өмнө би утсаа компьютерийн USB холболттой холбож, драйваа суулгасан.

Хөтөлбөр нь ирж буй telnet сессийг хүлээн авах нээлттэй сокет холболтыг бий болгодог. Мөн хүлээн авсан тушаалуудыг цуваа порт руу илгээж байхдаа дэлгэц дээр хэвлэнэ. Энэ файлыг утасны SD карт дээр/ase/scripts/лавлах санд оруулна уу. Скриптүүдийг ачаалах, ажиллуулах дэлгэрэнгүй алхамууд: 1. cellbot.py скриптийг SD картны/ase/scripts/лавлах руу хуулж авна уу. Хэрэв та компьютерт байгаа файлуудыг нэгэн зэрэг ашиглах боломжгүй тул та үүнийг ийм байдлаар хуулж авсан бол SD картыг таны компьютерээс авна уу. 3. Android Scripting Environment програмыг нээнэ үү 4. cellbot.py дээр дарж ажиллуулна уу. Энэ төхөөрөмж нь 9002 порт дээр ирж буй telnet сессүүдийг хүлээн авахад бэлэн болсон гэсэн баталгаажуулалтыг харах ёстой. Зөвлөгөө: "chmod 777" -г ажиллуулахаа мартуузай. 3 -р алхамаас эхлээд/dev/ttyMSM2 "команд. Утасны IP хаягийг олохын тулд 5 -р алхамыг үзнэ үү.

Алхам 5: G1 -д Telnet оруулах ба түүнийг илгээхийг тушаана

Telnet -ийг G1 руу оруулах ба тест илгээхийг тушаана
Telnet -ийг G1 руу оруулах ба тест илгээхийг тушаана
Telnet -ийг G1 руу оруулах ба тест илгээхийг тушаана
Telnet -ийг G1 руу оруулах ба тест илгээхийг тушаана
Telnet -ийг G1 руу оруулах ба тест илгээхийг тушаана
Telnet -ийг G1 руу оруулах ба тест илгээхийг тушаана

Утас нь түүнийг сүлжээнд холбож, компьютерээсээ командыг илгээхэд бэлэн байх ёстой. Энэ нь хүлээн авсан зүйлээ баталгаажуулахын тулд тэдгээрийг утасны дэлгэц дээр хэвлэх болно. Би Windows дээр PuTTY -ийг ашигласан боловч minicom нь энэхүү зааварт тайлбарласны дагуу Mac дээр маш сайн ажилладаг болохыг бид баталсан.

Та эхлээд утасныхаа IP хаягийг олох хэрэгтэй болно. Үүнийг Цэс> Тохиргоо> Утасгүй удирдлага> Wi-Fi тохиргоо руу ороод одоо байгаа идэвхтэй холболтыг дарж ашиглах боломжтой. Дотоод сүлжээнд байгаа одоогийн IP хаягийн хамт гарч ирэх талхны зурвас гарч ирнэ. Үүнийг компьютер дээрээ telnet сессийг нээх болгондоо ашиглах тул үүнийг бичээрэй. IP даалгавар нь хэдхэн хоногийн дараа дуусдаг тул та үүнийг дахин шалгах хэрэгтэй болж магадгүй юм. Энэ заавар нь таны компьютер болон утас нэг локал сүлжээнд байгаа гэж үздэг. Дотоод сүлжээний гаднаас утас руу чиглүүлэх боломжтой боловч энд хамаарахгүй. Өөрийн сонгосон telnet клиентийг нээгээд 9002 порт дээрх утасны IP -д холбогдоно уу. Командын мөрөөс та утасны жинхэнэ IP хаягийг ашиглан "telnet 192.168.1.1 9002" болгоно уу. Утасны дэлгэц дээр гарч ирэхийн тулд хэдэн тэмдэгт оруулаад enter дарна уу. Python скриптийг зогсоохын тулд та q бичиж өгч болох бөгөөд энэ нь таны терминалын сессийг хаах болно. Хэрэв ямар нэгэн шалтгаанаар та telnet -ээр холбогдож чадахгүй байгаа бөгөөд програмыг устгах шаардлагатай бол утасны энгийн дахин ачаалалт нь үүнийг хийх ёстой. Дэвшилтэт хэрэглэгчид процессын ID -г ps -ээр хайж олоод дараа нь зогсоохын тулд kill ашиглана уу. Дэвшилтэт: Үүний ирээдүйн хувилбар нь телнетээр дамжуулан команд хүлээн авахын оронд утсан дээрээс дотоод вэб сервер ажиллуулж болно. Бид мөн таны роботтой чатлахын тулд XMPP -ийг судалж байна.

Алхам 6: 3.3V -аас 5V -ийн түвшний шилжүүлэгчийг Arduino руу холбоно уу

3.3V -аас 5V -ийн түвшний шилжүүлэгчийг Arduino руу холбоно уу
3.3V -аас 5V -ийн түвшний шилжүүлэгчийг Arduino руу холбоно уу
3.3V -аас 5V -ийн түвшний шилжүүлэгчийг Arduino руу холбоно уу
3.3V -аас 5V -ийн түвшний шилжүүлэгчийг Arduino руу холбоно уу
3.3V -аас 5V -ийн түвшний шилжүүлэгчийг Arduino руу холбоно уу
3.3V -аас 5V -ийн түвшний шилжүүлэгчийг Arduino руу холбоно уу

Энэхүү гарын авлагад ашигласан Arduino нь 5V загвартай тул G1 -ээс гарах 3.3v дохиог түвшин шилжүүлэгч ашиглан хөрвүүлэх шаардлагатай байна. 3.3v Arduino -той шууд холбогдох боломжтой байх ёстой, гэхдээ энэ нь миний туршиж үзсэн зүйл биш юм.

Үүнд хандах хэд хэдэн арга бий, гэхдээ бид энэ жишээнд 74LS04 чипийг ашиглах болно. Та эндээс хайж олох боломжтой бөгөөд 1 доллараас бага байх магадлалтай. Тим бид хоёр Калифорнийн Маунтин Вью дэх Хакер Дожогоос авсан зүйлээ авсан боловч эдгээр нь маш түгээмэл бөгөөд чипс зарах, хандивлах газар бүр элбэг байх ёстой. Өндөр түвшинд бид TTS дохиог HTS USB таслах самбараас 74LS04 чипийн 1 -р зүү рүү илгээх болно. Үүнийг ажиллуулахын тулд бид чипийг хоёр удаа давтаж, Freeduino SB дээрх RX зүү рүү 4 -р зүү гаргана (хэрэв танд өөр 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 цэгт холбоно уу (Freeduino SB ба Arduino Duemilanove дээрх 0 -р зүү).) 7. Чип дээрх 7 -р зүү (GND) -ийг талхны тавцангийнхаа газартай холбоно уу (энэ нь мөн Arduino -тай холбогддог) 8. 14 -р зүүг (VCC) талхны тавцан дээрх 5в хүчдэлд холбоно уу. 5V гаралт) Та одоо HTC USB таслах самбарыг утасны доод хэсэгт залгаж, Arduino-г асаахад бэлэн байх ёстой. Оч, үнэр байгаа эсэхийг шалгаад, сэрүүн байгаа эсэхийг шалгаарай. Тэмдэглэл: Роботын servo мотор ажиллаж байх үед одоогийн гар утасны код нь LED #13 -ийг асаана. Хэрэв танд робот байхгүй бол LED ажиллаж, асаж байгааг шалгаж болно.

Алхам 7: Cellbots програмыг Arduino дээр ачаална уу

Cellbots програмыг Arduino дээр ачаална уу
Cellbots програмыг Arduino дээр ачаална уу
Cellbots програмыг Arduino дээр ачаална уу
Cellbots програмыг Arduino дээр ачаална уу

Манай Google Code төслийн сайтаас Arduino эх кодыг аваарай. Cellbots.pde Arduino програмыг Arduino засварлагч дээр нээнэ үү. Дараа нь үүнийг Arduino самбар дээрээ дарна уу.

Та Arduino редактор дээр цуваа дэлгэцийг нээх замаар Arduino кодтой ярьж туршиж үзэх боломжтой. Энэ бол бүх зүйлийг утсаар холбохын өмнө Arduino -той шууд ярих замаар робот эсвэл төхөөрөмжөө туршиж үзэх гайхалтай арга юм. Код нь таны роботыг хараахан суулгаагүй байсан ч юу хийж байгааг баталгаажуулахын тулд цуваа тушаалуудыг цуваа дэлгэц рүү илгээдэг.. Тиймээс та үүнийг унтраалгаар солихыг хүсч магадгүй, гэхдээ би шинэ програм ачаалах шаардлагатай үед үүнийг салгасан.

Алхам 8: Бүх процессыг ажиллуулна уу

Бүх процессыг ажиллуулна уу
Бүх процессыг ажиллуулна уу
Бүх процессыг ажиллуулна уу
Бүх процессыг ажиллуулна уу
Бүх процессыг ажиллуулна уу
Бүх процессыг ажиллуулна уу

Та HTC USB самбарыг утсандаа холбож, ASE дээр cellbot.py файлыг асааж, утсандаа терминалын сесс нээх боломжтой байх ёстой. README.txt файлаас утсаар сайн уу эсвэл бусад тушаалыг хэлэхийн тулд "H" гэж бичнэ үү.

"Q" нь утсан дээрх Python скриптээс гараад терминалын сокетийг хаах болно. Энэ нь хэрхэн ажилладаг талаар товч дурдъя: 1. Python скрипт нь орж ирж буй telnet холболтыг хүлээн авах сокетийг нээж, цуваа порт 2 -ийн тушаалуудыг цуурайтуулдаг. Бид 9002 порт дээрх телнетээр дамжуулан компьютерээсээ утас руу холбогдож, дэлгэцэн дээр харсан тушаалуудыг илгээдэг 3. HTS USB самбар нь G1 -ийн USB порттой холбогдож, 3.3v дохиог 74LS04 зүү 1 рүү илгээдэг. 2 -р зүү дээрх чипээс дохио гарч, 3 -р зүү рүү буцаж ороод 4 -р зүү дээр 5v 5. дээр гарч ирдэг. Манай Arduino нь RX зүү 0 дээрх цуваа дохиог хүлээн авч Cellbot.pde програмаар дамжуулан боловсруулдаг. Python скриптийг устгах, telnet холболтыг хаахын тулд 'q' гэж бичиж болно. Та Arduino робот руу үндсэн командуудыг илгээх маш нарийн процессыг дуусгасны дараа үүнийг илүү гайхалтай болгохын тулд та үүнийг хакердах цаг болжээ. Бидэнд хоёр талын цуваа ажил хараахан хийгдээгүй байгаа тул Arduino утсан дээр буцааж командыг илгээх боломжгүй байгаа ч бид үүн дээр ажиллаж байна. Cellbots.com дээрх манай блогт бүртгүүлснээр шинэ мэдээлэлтэй байгаарай. Зохиогчдын тухай: Тим Хит тэргүүлэх судлаач бөгөөд энэ үйл явцыг өөрийн гишүүн болсон Менло Парк дахь Технологийн Дэлгүүрт анх зохион байгуулсан. Python болон Arduino код дээр ажиллаж байсан Райан Хикман програмист бөгөөд энэхүү зааварчилгааны зөвшөөрлийг авсан.

Зөвлөмж болгож буй: