Съдържание:

Роботска кола с Bluetooth, камера и MIT App Inventor 2: 12 стъпки (със снимки)
Роботска кола с Bluetooth, камера и MIT App Inventor 2: 12 стъпки (със снимки)

Видео: Роботска кола с Bluetooth, камера и MIT App Inventor 2: 12 стъпки (със снимки)

Видео: Роботска кола с Bluetooth, камера и MIT App Inventor 2: 12 стъпки (със снимки)
Видео: Free to Play 2024, Юли
Anonim
Image
Image
Части и софтуер
Части и софтуер

Искали ли сте някога да създадете свой собствен автомобил -робот? Е … това е вашият шанс !!

В тази инструкция ще ви разкажа как да направите кола -робот, управлявана чрез Bluetooth и MIT App Inventor2. Имайте предвид, че съм начинаещ и че това е първото ми обучение, така че, моля, бъдете внимателни в коментарите си.

Има много инструкции, но в тази се опитах да комбинирам много функции като: стрийминг на камера, избягване на препятствия, ултразвуков сензор за обхват, скенер Larson (с charlieplexing) и мониторинг на батерията към приложение за Android !!

Така че нека да започнем и да се запознаем с Франки (той използва идеи от много места …. Следователно Robo Frankenstein)

Стъпка 1: Части и софтуер

Части и софтуер
Части и софтуер
Части и софтуер
Части и софтуер

Тук, в родния ми град, е трудно да се получат всички части, затова успях да получа повечето от тях от www.aliexpress.com

Смятам, че проектът може да бъде построен за 25 - 30 щатски долара, без да се отчита старият мобилен телефон.

  • Шаси на автомобил: 3 колела, 2 двигателя 6V (USD 9)
  • Arduino Nano (USD 2)
  • Bluetooth HC-05 (USD 3 до 4)
  • L293D шофьор на мотор за задвижване на колела (1,50 USD за партида от 5 броя)
  • Стара клетъчна с камера и Wi-Fi
  • Ултразвуков сензор HC-SR04 за измерване до близък обект (USD 1)
  • 6 светодиода за скенер Larson
  • ATtiny85 за скенер Larson (USD 1)
  • Платформа (USD 1)
  • Проводници
  • Резистор 100K Ohm (4)
  • Резистор 1K Ohm (2)
  • Резистор 2K Ohm (1)
  • Резистор 270 ома (3)
  • Звуков сигнал

Софтуер:

  • Arduino IDE
  • IP уеб камера (за стар мобилен Android)
  • MIT App Inventor2: Това приложение е страхотно, но работи само за операционна система Android (без Iphones … съжалявам!)

Стъпка 2: Процес на изграждане

Строителен процес
Строителен процес
Строителен процес
Строителен процес
Строителен процес
Строителен процес
Строителен процес
Строителен процес

Автомобилното шаси се сглобява много лесно; има 2 двигателя 6V, които задвижват задните колела и 4 батерии.

Автомобилът-робот се управлява чрез Bluetooth и Wi-Fi. Bluetooth контролира серийните комуникации между автомобила и изобретателя на приложението MIT2, а Wi-Fi се използва за комуникация с камерата (стар мобилен телефон), инсталирана пред автомобила.

За този проект използвах два комплекта батерии: arduino се захранва от 9V батерия, а двигателите на автомобила от 6V (четири батерии 1.5V AA).

Arduino Nano е мозъкът на този проект, който контролира автомобила, зумера, ултразвуковия сензор за обхват HC-SR04, Bluetooth HC-05, скенера Larson (ATtiny85) и следи батериите. 9V батерията отива към Vin (пин 30), а щифт 27 на Arduino дава 5V регулирано захранване на платката. Трябва да свържете всички основания от всички интегрални схеми и батерии заедно.

Приложена, електрическата схема го направи в Excel (Съжалявам … следващия път ще опитам Fritzing). Свързах всичко с помощта на макет и мъжки към мъжки жични конектори, моят прилича на гнездо на плъхове.

Стъпка 3: Драйвер за двигател L293D

L293D шофьор на мотор
L293D шофьор на мотор
L293D шофьор на мотор
L293D шофьор на мотор

L293D е четирикратен високотоков полу-H драйвер, проектиран да осигурява двупосочни задвижващи токове до 600 mA при напрежения 4.5V до 36V. Използва се за задвижване на колелата на автомобила.

Захранва се от 6V батерия (четири 1.5V AA) за двигателите и използва 5V за логиката, която идва от регулирани 5V (пин 27) в Arduino Nano. Връзките са показани в приложената схема.

Нямаше нужда да го инсталирате в радиатор.

Стъпка 4: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth се захранва от 5V (arduino pin 27), но е важно да се разбере, че логическото ниво е 3.3V, т.е. комуникации (Tx и Rx) с 3.3V. Ето защо Rx трябва да бъде конфигуриран с максимум 3.3V, което може да се постигне с преобразувател на превключвател на нива или, както в този случай, с делител на напрежение чрез използване на 1K и 2K резистори, както се вижда във веригата.

Стъпка 5: Монитор на батерията

За да наблюдавам нивата на батерията, съм настроил делители на напрежение, за да поднеса нивата на напрежение под 5V (максималният диапазон на Arduino). Делителят на напрежението намалява измерваното напрежение в рамките на обхвата на аналоговите входове на Arduino.

Използват се аналоговите входове A4 и A6 и се използват високи резистори (100K ома), за да не се изтощават батериите твърде много в процеса на измерване. Трябва да направим компромис, ако резисторите са твърде ниски (10K ома), по -малък ефект на натоварване, отчитането на напрежението е по -точно, но по -токов чертеж; ако те са твърде високи (1M ома), по -голям ефект на натоварване, отчитането на напрежението е по -малко точно, но по -малко ток.

Контролът на батерията се извършва на всеки 10 секунди и се показва директно във вашия мобилен телефон на контролера.

Сигурен съм, че има много място за подобрение в тази част, тъй като чета от два аналогови пина и вътрешният MUX се разменя между тях. Не изчислявам средно множество измервания и може би точно това трябва да правя.

Нека обясня следната формула:

// Прочетете напрежението от аналоговия щифт A4 и направете калибриране за Arduino:

напрежение1 = (analogRead (A4)*5.0/1024.0)*2.0; //8.0V

Наноплатката Arduino съдържа 8-канален, 10-битов аналогово-цифров преобразувател. Функцията analogRead () връща число между 0 и 1023, което е пропорционално на количеството напрежение, приложено към щифта. Това дава разделителна способност между показанията: 5 волта / 1024 единици или 0,0049 волта (4,9 mV) на единица.

Делителят на напрежение намалява наполовина напрежението и, за да се получи истинско напрежение, трябва да се умножи по 2 !!

ВАЖНО: Сигурен съм, че има по -ефективен начин за захранване на arduino от начина, по който го правя !! Като начинаещ научих по трудния начин. Arduino Vin pin използва линеен регулатор на напрежението, което означава, че с 9V батерия ще изгаряте голяма част от мощността в самия линеен регулатор! Не е добре. Направих го по този начин, защото беше бърз и просто защото не знаех по -добре … но бъдете сигурни, че във версия 2.0 на Robo Frankie със сигурност ще го направя по различен начин.

Мисля (на глас), че DC DC Step up превключващо захранване и литиево-йонна акумулаторна батерия може да са по-добър начин. Вашето любезно предложение ще бъде повече от добре дошло …

Стъпка 6: HC-SR04 ултразвуков сензор за обхват

HC-SR04 ултразвуков сензор за обхват
HC-SR04 ултразвуков сензор за обхват

HC-SR04 е ултразвуков сензор за обхват. Този сензор осигурява измерване от 2 см до 400 см с точност до 3 мм. В този проект той се използва за избягване на препятствия, когато достигне 20 см или по -малко, както и за измерване на разстоянието до всеки обект, който се изпраща обратно към мобилния ви телефон.

На екрана на мобилния ви телефон има бутон, който трябва да се натисне, за да се поиска разстоянието до близък обект.

Стъпка 7: Лазерни скенери

Лазерният скенер
Лазерният скенер
Лазерният скенер
Лазерният скенер
Лазерният скенер
Лазерният скенер

Исках да включа нещо забавно, затова включих скенер Larson, който прилича на K. I. T. T. от Knight Rider.

За скенера Larson използвах ATtiny85 с charlieplexing. Charlieplexing е техника за управление на мултиплексиран дисплей, при който сравнително малко I/O пинове на микроконтролер се използват за задвижване на множество светодиоди. Методът използва логическите възможности на три състояния на микроконтролерите, за да спечели ефективност спрямо традиционното мултиплексиране.

В този случай използвам 3 пина от ATtiny85, за да запаля 6 светодиода !!

Можете да светнете светодиодите "X" с N пина. Използвайте следната формула, за да изведете колко светодиоди можете да управлявате:

X = N (N-1) светодиоди с N пинове:

3 пина: 6 светодиода;

4 пина: 12 светодиода;

5 пина: 20 светодиода … схващате идеята;-)

Токът тече от положителен (анод) към отрицателен (катод). Върхът на стрелката е катоден.

Важно е да се отбележи, че пин 1 (в IDE кода на Arduino) се отнася до физически пин 6 в ATtiny85 (моля, вижте прикрепения разклонител).

Прикачен, моля, намерете кода, който трябва да бъде качен в ATtiny85, който контролира скенера Larson. Не описвам как да кача код в ATtiny85, тъй като има много инструкции, които правят това като този.

Стъпка 8: Код

Код
Код

Прикачвам кода, който трябва да бъде качен в ATtiny85, който контролира скенера Larson и кода за Arduino nano.

Що се отнася до Arduino nano, използвах част от кодовете от други инструкции (тук) и направих промени, за да отговарят на моите нужди. Включих блок -схема (също и с дума за по -ясно изображение) на кода, за да разбера по -добре как работи Switch -Case.

Важно: За да качите CarBluetooth кода в Arduino nano, трябва да изключите Rx и Tx от Bluetooth модула HC-05!

Стъпка 9: Камера

Камера
Камера
Камера
Камера

Приложението IP Webcam трябва да бъде изтеглено от магазина за игри и инсталирано на стария ви мобилен телефон. Проверете за видео предпочитания, коригирайте съответно разделителната способност и накрая слезте до последната команда „Стартиране на сървъра“, за да стартирате предаването. Не забравяйте да включите Wi-Fi в мобилен телефон !!

Стъпка 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 е облачен инструмент, който помага за изграждането на приложения във вашия уеб браузър. Това приложение (само за мобилни устройства, базирани на Android) може да бъде качено във вашата клетка и да контролира вашия автомобил -робот.

Прикачвам.apk и.aia код, за да можете да видите какво съм направил и да го промените, както желаете. Използвах код от интернет (приложение MIT) и направих свои собствени промени. Този код контролира движението на автомобила робот, получава сигнал от ултразвуков сензор, включва светлини и издава звуков сигнал. Той също така получава сигнал от батериите, като ни уведомява за нивото на напрежение.

С този код ще можем да приемаме два различни сигнала от колата: 1) разстояние до близък обект и 2) напрежение от батериите на двигателя и arduino.

За да идентифицирам получения сериен низ, включих флаг в кода на Arduino, който определя вида на низа, който е изпратен. Ако Arduino изпраща разстоянието, измерено от ултразвуков сензор, той изпраща знак „А“пред низа. Всеки път, когато Arduino изпраща нива на батерията, той изпраща флаг с знак „B“. В кода на MIT App inventors2 аз анализирах серийния низ, идващ от Arduino и проверих за тези флагове. Както казах, аз съм начинаещ и съм сигурен, че има по -ефективни начини да направя това и се надявам някой да ме просветли по по -добър начин.

Изпратете Arduino_Bluetooth_Car.apk на мобилния си телефон (чрез имейл или Google Диск) и го инсталирайте.

Стъпка 11: Свържете мобилния си телефон с вашия RC автомобил

Свържете мобилния си телефон с вашия RC автомобил
Свържете мобилния си телефон с вашия RC автомобил
Свържете мобилния си телефон с вашия RC автомобил
Свържете мобилния си телефон с вашия RC автомобил

Първо, включете wi-fi в стария мобилен телефон (този в RC робота).

В мобилния си телефон на контролера включете вашия wi-fi, Bluetooth и отворете Arduino_Bluetooth_Car.apk, който току-що сте инсталирали. В края на екрана (превъртете надолу, ако не можете да го видите) ще видите два бутона: Устройства и CONNECT. Щракнете върху Устройства и изберете Bluetooth от вашия RC Car (трябва да е нещо HC 05), след това щракнете върху CONNECT и трябва да видите съобщението CONNECTED в лявата долна част на екрана. Първият път ще бъдете помолени за парола (въведете 0000 или 1234).

Има поле, където трябва да въведете IP адреса на старата си клетка (мобилен телефон, който е във вашата RC кола), в моя случай това е

Този IP номер може да бъде открит във вашия Wi-Fi рутер. Трябва да влезете в конфигурацията на маршрутизатора си, да изберете Списък с устройства (или нещо подобно в зависимост от вашата марка рутер) и трябва да можете да видите старото си клетъчно устройство, да кликнете върху него и да въведете този IP номер в това поле.

След това изберете КАМЕРА и трябва да започнете да гледате поточната камера от вашата RC кола.

Стъпка 12: Готови сте

Ти си готов!
Ти си готов!

Ти си готов! Започнете да играете с него

Бъдещи промени: Ще сменя 9V батерията с литиево-йонни батерии, за да ги презаредя и да използвам DC-DC усилващ регулатор на напрежението, също така искам да подобря монитора на батерията, като включвам изглаждане (усредняване) на аналоговите показания. Не планирате да включите A. I. още …;-)

Участвах в първия си инструктивен конкурс … така че, моля, гласувайте;-)

Препоръчано: