Мазмұны:

Android G1 Arduino роботына сериялық: 8 қадам
Android G1 Arduino роботына сериялық: 8 қадам

Бейне: Android G1 Arduino роботына сериялық: 8 қадам

Бейне: Android G1 Arduino роботына сериялық: 8 қадам
Бейне: АВТОМАТИКА ДЛЯ САМОГОННОГО АППАРАТА НА АРДУИНО из готовых элементов 2024, Қыркүйек
Anonim
Android G1 Arduino роботына арналған сериялық
Android G1 Arduino роботына арналған сериялық
Android G1 Arduino роботына арналған сериялық
Android G1 Arduino роботына арналған сериялық
Android G1 сериясы Arduino роботына
Android G1 сериясы Arduino роботына

Android ұялы телефоныңыз роботты Arduino тақтасы арқылы басқара алатынын біліңіз. Телефон басқа телефоннан немесе компьютерден телнет арқылы командаларды қабылдайды, сондықтан сіз роботты қашықтан басқара аласыз. Бұл жоба G1 -ді өзгертпейді, сондықтан оны телефоннан шығарғаннан кейін оны қалыпты телефон ретінде пайдалануды жалғастыра аласыз. Arduino тақталары сияқты арзан электронды компоненттерді қолдана отырып, сіз оларды 400 долларлық телефонмен жұптастырып, керемет робот жасай аласыз. Хобби ботқа GPS, СКД, қозғалыс сенсорлары, Wi-Fi, ұялы байланыстар, динамиктер және басқаларды қосу үшін жүздеген доллар қажет, бірақ сіздің телефоныңызда бұлар бар! Android G1 мен Arduino тақтасы бірге қарапайым сервистер мен сенсорлар сияқты қымбат емес электрониканы қолдануға, роботтар, қашықтан телепрезентация немесе балаларға арналған қызықты ойыншықтар сияқты қуатты құрылғыларды құруға мүмкіндік береді. Қосымша ақпарат Cellbots.com сайтында. Ескерту: Бұл жоба қазіргі уақытта телефоннан Arduino роботына сериялық шығуды пайдалану үшін түбірлік рұқсаты бар Android G1 қажет. Егер сіз коммерциялық Android бағдарламалық жасақтамасын қолданғыңыз келсе, BlueTooth -пен телефонмен сөйлесу үшін Arduino тақтасына $ 20 BlueTooth модулін қосуға болады. Арнайы алғыс: Бізде Маунтин -Вьюде (CA) Hacker Dojo бар, ол бізге хабарласқаны үшін, керемет мүшелердің тарату тізімі арқылы қиын мәселелерді шешуге көмектескені үшін және қоймада 74LS04 чиптері бар. Құрастырудың көп бөлігі Менло Парктегі Техникалық дүкенде жасалды.

1 -қадам: Қажетті заттар

Қажетті заттар
Қажетті заттар
Қажетті заттар
Қажетті заттар
Қажетті заттар
Қажетті заттар

Бұл оқулықты аяқтау үшін сізге мыналар қажет: Жабдық: - Android G1 Dev Phone (немесе түбірлік рұқсаты бар және шығарылымы бар басқа Android құрылғысы) - Arduino (мен Freeduino SB қолданамын, бірақ кез келгені істеуі керек) - 3.3v - 5v егер сіз 3.3v Arduino қолданбасаңыз, түрлендіргіш (мен 74LS04 чипін $ 1 -ден төмен бағамен қолданамын, бірақ басқа нұсқалар бар) - G1 үшін HTC USB ажырату тақтасы - екі жылдам қосылуға арналған дәнекерлеу жабдығы - робот корпусы микросерво (картон, акрил, протекторлар, дөңгелектер, кез келген нәрсе) Бағдарламалық қамтамасыз ету: - Android сценарийі ортасы (ASE) - сіздің компьютеріңізге арналған Telnet клиенті (мен Windows -та PuTTY қолданамын) - Arduino әзірлеу ортасы - (міндетті емес) Сериялық клиент сіздің компьютер (мен Windows үшін PuTTY қолданамын) - (міндетті емес) Android SDK Егер сіз нұсқауларды орындасаңыз, Python, Arduino, Android немесе электроника туралы аз білімді осы оқулықты аяқтай аласыз. Егер сіз жыпылықтайтын жарық диодынан шыққыңыз келсе, сіз бұл нәрселерді білгіңіз келеді, бірақ бұл сізді бастайды.

2 -қадам: Android G1 сериялық шығысы қосылған

Android G1 сериялық шығысы қосылған
Android G1 сериялық шығысы қосылған
Android G1 сериялық шығысы қосылған
Android G1 сериялық шығысы қосылған
Android G1 сериялық шығысы қосылған
Android G1 сериялық шығысы қосылған

G1 сериялы командаларды USB портынан жіберу мүмкіндігімен жеткізілмейді және оны қосудың өзіндік нұсқасы жоқ. Егер сіз Android SDK жетілдірілген пайдаланушысы болсаңыз, сіз өзіңіздің жеке конструкцияны жасай аласыз, бірақ мен Cyanogenmod 4.2.13 нұсқасын қолдануды таңдадым. Егер сіз басқа Android құрылғылары сериялық жұмыс істейтінін білсеңіз, оларды түсініктемелерге қосыңыз.

Қажет болса, сіз G1 -мен компьютерден USB арқылы сөйлесу кезінде осы нұсқаулықтың сілтемелерін орындауға болады. Бұл сериялы USB қосылымы бұл оқулық үшін қажет емес, бірақ мен оны телефонның сериялық жіберілгенін тексеру үшін жақсы ақыл -ойды тексеру ретінде қолдандым. Егер сіз сериялық шығыс жұмыс істеп тұрғанын тексеру үшін басқа кірістіргішті пайдаланбасаңыз, мына қарапайым тексеруді қолданып көріңіз: 1. G1 -де Терминал қосымшасын ашыңыз (цианогенмен бірге келеді, бірақ егер сізде басқа сурет болса, оны базардан жүктеп алыңыз) 2 Cd/dev/3 теру арқылы/dev/каталогына өтіңіз. Ls (бұл L) деп теріңіз және қайтарылған тізімнен ttyMSM2 іздеңіз, біз қолданатын Python сценарийі кейін '/dev/ttyMSM2' пәрменін жібереді. оларға сериялық қосылымнан шығуға тапсырыс беріңіз. Бұл түбірлік қатынауды қажет ететіндіктен, телефонды қайта жүктеген сайын оған рұқсатты өзгерту қажет болады. Ол үшін: 1. Телефондағы терминалды қосымшаны ашыңыз 2. 'chmod 777 /dev /ttyMSM2' енгізіңіз, содан кейін келесі қадамда Android Scripting өңдеуден Python сценарийін іске қосуға болады және оның сериялық шығуды жіберуге рұқсаты болады.

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 осы жазуда) және ол кейбір zip файлдарын жүктейді. Сіз Python -мен таныс болу үшін сценарийлерді жасауды, ашуды, өңдеуді және іске қосуды зерттегіңіз келуі мүмкін. ASE, бірақ бұл қажет емес.

4 -қадам: Python бағдарламасын іске қосу үшін Cellbot.py сценарийін көшіріп, іске қосыңыз

Python бағдарламасын іске қосу үшін Cellbot.py сценарийін көшіріп, іске қосыңыз
Python бағдарламасын іске қосу үшін Cellbot.py сценарийін көшіріп, іске қосыңыз

Бұл оқулық роботтың «миы» болу үшін Python сценарийін қолданады. Ашық коды бар Google Code жобасынан соңғы кодты алыңыз. Сізге тек cellbot.py файлы қажет, бірақ басқалары зерттегіңіз келетін әр түрлі нәрселерге көмектесе алады. Мен файлды/sdcard/ase/сценарийлерге көшірместен бұрын телефонды компьютердің USB қосылымына қосып, дискіні орнаттым.

Бағдарлама кіріс телет сеансын қабылдау үшін ашық розетка қосылымын жасайды. Ол сондай -ақ алынған командаларды экранға басып шығарады, оларды сериялық порттан жібереді. Бұл файлды телефонның SD картасына/ase/scripts/каталогына салыңыз. Сценарийлерді жүктеу мен іске қосудың егжей -тегжейлі қадамдары: 1. cellbot.py сценарийін SD картасының/ase/scripts/каталогына көшіріңіз. Егер сіз компьютерден бір уақытта файлдарға қол жеткізе алмайтын болсаңыз, оларды компьютерден SD картасы. 3. Android Scripting Environment қолданбасын ашыңыз 4. Оны іске қосу үшін cellbot.py түймесін басыңыз. Құрылғы 9002 портында кіретін телет сеанстарын қабылдауға дайын екенін растауды көруіңіз керек. Кеңес: «chmod 777» міндетті түрде іске қосылады. /dev/ttyMSM2 «пәрмені алдымен №3 қадамнан. Телефонның IP мекенжайын табу үшін №5 қадамды қараңыз.

5 -қадам: G1 -ге Telnet және оны жіберуді тестілеу

G1 -ге Telnet және оны жіберуді тестілеу
G1 -ге Telnet және оны жіберуді тестілеу
Tel1 G1 -ге енеді және оны жіберуді тексереді
Tel1 G1 -ге енеді және оны жіберуді тексереді
G1 -ге Telnet және оны жіберуді тестілеу
G1 -ге Telnet және оны жіберуді тестілеу

Телефон сізге желіге қосуға және компьютерден командаларды жіберуге дайын болуы керек. Ол телефон экранына басып шығарады, ол алғанын растайды. Мен PuTTY -ді Windows -те қолдандым, бірақ біз minicom -дың осы нұсқаулықта сипатталғандай Mac -та жақсы жұмыс істейтінін растадық.

Алдымен телефонның IP мекенжайын табу керек. Бұл Мәзір> Параметрлер> Сымсыз басқару> Wi-Fi параметрлері тармағына өтіп, ағымдағы белсенді қосылымды басу арқылы қол жетімді. Жергілікті желідегі ағымдағы IP-адрес қалқымалы тост хабарымен шығады. Мұны жазып алыңыз, себебі сіз оны компьютерден телнет сеансын ашқыңыз келген сайын қолданасыз. IP тағайындау әдетте белгілі бір күннен кейін аяқталады, сондықтан оны қайта тексеру қажет болуы мүмкін. Ескертпе: Бұл оқулық сіздің компьютеріңіз бен телефоныңыз бір жергілікті желіде екенін болжайды. Жергілікті желінің сыртынан телефонға бағыттау мүмкін болуы керек, бірақ мұнда қарастырылмаған. Өзіңіз қалаған telnet клиентін ашыңыз және 9002 портындағы телефонның IP мекенжайына қосылыңыз. Пәрмен жолында сіз телефонның нақты IP көмегімен «telnet 192.168.1.1 9002» ретінде жасайсыз. Телефон экранында пайда болуы үшін кейіпкерлерді енгізіп, enter пернесін басыңыз. Python сценарийінің жұмысын тоқтату үшін q теруге болады, бұл сіздің терминалды сеансты жабады. Егер қандай да бір себептермен сіз телнет арқылы қосыла алмасаңыз және бағдарламаны өлтіру қажет болса, телефонды қарапайым қайта жүктеудің амалын жасау керек. Жетілдірілген пайдаланушылар процесс идентификаторын ps арқылы табуды қалауы мүмкін, содан кейін оны тоқтату үшін kill пайдаланыңыз. Жетілдірілген: бұл болашақ нұсқасы телнет арқылы командаларды қабылдаудан гөрі телефоннан жергілікті веб -серверді басқара алады. Біз сондай -ақ сіздің роботпен сөйлесу үшін XMPP зерттеп жатырмыз.

6 -қадам: Arduino -ға 3,3В -тан 5В деңгейге ауыстырғышты қосыңыз

Arduino -ға 3.3 -тен 5 -ге дейінгі деңгей ауысуын қосыңыз
Arduino -ға 3.3 -тен 5 -ге дейінгі деңгей ауысуын қосыңыз
Arduino -ға 3.3 -тен 5 -ге дейінгі деңгей ауысуын қосыңыз
Arduino -ға 3.3 -тен 5 -ге дейінгі деңгей ауысуын қосыңыз
Arduino -ға 3.3 -тен 5 -ге дейінгі деңгей ауысуын қосыңыз
Arduino -ға 3.3 -тен 5 -ге дейінгі деңгей ауысуын қосыңыз

Бұл оқулықта қолданылатын Arduino - бұл 5 вольтты модель, сондықтан біз G1 -ден шығатын 3.3 В сигналын деңгей ауыстырғыш көмегімен түрлендіруіміз керек. 3.3v Arduino -ға тікелей қосылу мүмкін болуы керек, бірақ бұл мен тексерген жоқ.

Бұған бірнеше тәсілдер бар, бірақ біз бұл мысалда 74LS04 чипін қолданамыз. Сіз бұл жерден біреуін іздей аласыз, және олар 1 доллардан төмен болуы мүмкін. Тим екеуміз өзімізді Маунтин -Вьюдегі (Калифорния штаты) Хакер Дожодан алдық, бірақ олар өте жиі кездеседі және чиптер сатылатын немесе қайырымдылық жасайтын жерлерде көп болуы керек. Жоғары деңгейде біз HTS USB ажырату тақтасынан TX сигналын 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 Вт қуат тақтасына қосыңыз (ол Arduino -дан қуат алады) 5в шығысы) Енді сіз HTC USB ажырату тақтасын телефонның төменгі жағына қосып, Arduino-ны қосуға дайын болуыңыз керек. Ұшқындар мен иістердің бар -жоғын тексеріп, заттардың салқын екеніне көз жеткізіңіз. Ескертпе: Роботтың сервоқозғалтқыштары жұмыс істеп тұрғанда, ұяшықтың ағымдағы коды №13 жарық диодты қосады. Егер сізде әлі робот жоқ болса, оның жұмыс істеп тұрғанын растау үшін жарық диоды қосылып, өшіп тұрғанын тексеруге болады.

7 -қадам: Cellbots бағдарламасын Arduino -ға жүктеңіз

Cellbots бағдарламасын Arduino -ға жүктеңіз
Cellbots бағдарламасын Arduino -ға жүктеңіз
Cellbots бағдарламасын Arduino -ға жүктеңіз
Cellbots бағдарламасын Arduino -ға жүктеңіз

Arduino бастапқы кодын біздің Google Code жобалық сайтынан алыңыз. Cellbots.pde Arduino бағдарламасын Arduino редакторында ашыңыз. Содан кейін оны Arduino тақтасына салыңыз.

Arduino редакторында сериялық мониторды ашу арқылы Arduino кодымен сөйлесуді тексеруге болады. Бұл телефонға қосылмас бұрын Arduino -мен тікелей сөйлесу арқылы роботты немесе құрылғыны тексерудің тамаша әдісі. Код роботы әлі орнатылмаған болса да, ол не істеп жатқанын растау үшін сериялық пәрмендерді сериялық мониторға жібереді. Ескертпе: сым RX сериялық кіріс түйреуішіне қосылған кезде Arduino -ға бағдарламаларды жүктеуге болмайды.. Сондықтан сіз бұл қосқышты қосқыңыз келуі мүмкін, бірақ мен жаңа бағдарламаны жүктеу қажет болғанда оны ажыратып тастадым.

8 -қадам: Бүкіл процесті іске қосыңыз

Бүкіл процесті іске қосыңыз
Бүкіл процесті іске қосыңыз
Бүкіл процесті іске қосыңыз
Бүкіл процесті іске қосыңыз
Бүкіл процесті іске қосыңыз
Бүкіл процесті іске қосыңыз

Сіз HTC USB тақтасын телефонға қосып, ASE -де cellbot.py файлын жанып, телефонға терминалды сеанстарды ашуыңыз керек. Телефонның README.txt файлынан сәлемдесуін немесе кез келген басқа командаларды айтуы үшін «H» теріңіз.

«Q» телефондағы Python сценарийінен бас тартады және терминал розеткасын жабады. Мұның бәрі қалай жұмыс істейтіні туралы қысқаша мәлімет: 1. Python сценарийі кіретін телет байланыстарын қабылдау үшін розетканы ашады және 2 сериялық порттағы пәрмендерді жаңғыртады. Біз компьютерден телефонға 9002 портындағы телнет арқылы қосыламыз және оған 3 экранда көретін командаларды жібереміз. HTS USB тақтасы G1 USB портымен интерфейске енеді және 3.3в сигналын 74LS04 түйреуішіне 1 жібереді. Сигнал 2 түйреуіштің чипінен шығады, 3 түйреуішке қайта оралады және 5 түйреуіште 4 түйреуіште 5в 5 -те шығады. Біздің Arduino RX pin 0 -дегі сериялық сигналды қабылдайды және оны Cellbot.pde 6 бағдарламасы арқылы өңдейді. Python сценарийін өлтіру және телет байланысын жабу үшін 'q' әрпін теруге болады Енді сіз Arduino роботына негізгі командаларды жіберу үшін өте күрделі процесті аяқтадыңыз, сіз оны бұзатын кез келді! Бізде екі жақты сериялық жұмыс әлі жоқ, сондықтан Arduino телефонға командаларды жібере алмайды, бірақ біз бұл бойынша жұмыс жасаймыз. Cellbots.com сайтындағы біздің блогқа жазылу арқылы өзекті болыңыз. Авторлар туралы: Тим Хит жетекші зерттеуші, ол бұл процесті ол мүше болып табылатын Менло -Парктегі Технологиялық дүкенде алғаш рет біріктірді. Python және Arduino коды бойынша жұмыс жасаған және осы нұсқаулықты авторландырған Райан Хикман бағдарламашы.

Ұсынылған: