Оглавление:

Автомобиль-робот с Bluetooth, камерой и приложением MIT Inventor2: 12 шагов (с изображениями)
Автомобиль-робот с Bluetooth, камерой и приложением MIT Inventor2: 12 шагов (с изображениями)

Видео: Автомобиль-робот с Bluetooth, камерой и приложением MIT Inventor2: 12 шагов (с изображениями)

Видео: Автомобиль-робот с Bluetooth, камерой и приложением MIT Inventor2: 12 шагов (с изображениями)
Видео: Делаем приложение для управления авто в App Inventor 2. 2024, Ноябрь
Anonim
Image
Image
Запчасти и программное обеспечение
Запчасти и программное обеспечение

Вы когда-нибудь хотели построить свой собственный автомобиль-робот? Что ж… это твой шанс !!

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

Есть много инструкций, но в этом я попытался объединить многие функции, такие как: потоковая передача с камеры, предотвращение препятствий, ультразвуковой датчик дальности, сканер Ларсона (с charlieplexing) и мониторинг батареи в приложении для Android !!

Итак, давайте начнем и познакомимся с Фрэнки (он использует идеи из многих мест… отсюда Робо Франкенштейн)

Шаг 1. Детали и программное обеспечение

Запчасти и программное обеспечение
Запчасти и программное обеспечение
Запчасти и программное обеспечение
Запчасти и программное обеспечение

Здесь, в моем родном городе, сложно достать все запчасти, поэтому большую часть я смогла получить на сайте www.aliexpress.com.

Я считаю, что проект можно построить за 25-30 долларов без учета старого мобильного телефона.

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

Программное обеспечение:

  • IDE Arduino
  • IP-веб-камера (для старых мобильных устройств Android)
  • MIT App Inventor2: это отличное приложение, но работает только с операционной системой Android (без iPhone… извините!)

Шаг 2: процесс строительства

Строительный процесс
Строительный процесс
Строительный процесс
Строительный процесс
Строительный процесс
Строительный процесс
Строительный процесс
Строительный процесс

Шасси автомобиля очень легко собрать; у него есть 2 двигателя 6V, которые приводят в действие задние колеса, и 4 аккумуляторных блока.

Автомобиль-робот управляется через Bluetooth и Wi-Fi. Bluetooth управляет последовательной связью между автомобилем и приложением MIT Inventor2, а Wi-Fi используется для связи с камерой (старым мобильным телефоном), установленной перед автомобилем.

Для этого проекта я использовал два набора батарей: Arduino питается от батареи 9 В, а автомобильные двигатели - от 6 В (четыре батареи AA 1,5 В).

Arduino Nano - это мозг этого проекта, который управляет автомобилем, зуммером, ультразвуковым датчиком дальности HC-SR04, Bluetooth HC-05, сканером Ларсона (ATtiny85) и контролирует батареи. Батарея 9 В идет на Vin (вывод 30), а вывод 27 Arduino подает регулируемое напряжение 5 В на макетную плату. Необходимо связать все заземления от всех микросхем и аккумуляторов вместе.

Прилагаемая принципиальная схема сделана в Excel (извините … в следующий раз попробую Fritzing). Я подключил все с помощью макета и разъемов «папа-папа», мой выглядит как крысиное гнездо.

Шаг 3: Драйвер двигателя L293D

Драйвер двигателя L293D
Драйвер двигателя L293D
Драйвер двигателя L293D
Драйвер двигателя L293D

L293D - это четырехканальный сильноточный драйвер с полувысотой, предназначенный для обеспечения двунаправленных управляющих токов до 600 мА при напряжении от 4,5 до 36 В. Он используется для привода колес автомобиля.

Он питается от аккумуляторной батареи 6 В (четыре 1,5 В AA) для двигателей и использует 5 В для логики, которая поступает от регулируемого 5 В (контакт 27) в Arduino Nano. Подключения показаны на прилагаемой схеме.

Не было необходимости устанавливать его в радиатор.

Шаг 4: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth питается от 5 В (вывод 27 Arduino), но важно понимать, что логический уровень составляет 3,3 В, то есть связь (Tx и Rx) с 3,3 В. Вот почему Rx должен быть сконфигурирован с максимальным напряжением 3,3 В, что может быть достигнуто с помощью преобразователя уровня сдвига или, как в этом случае, с помощью делителя напряжения, используя резисторы 1 кОм и 2 кОм, как показано на схеме.

Шаг 5: Монитор батареи

Чтобы контролировать уровень заряда батареи, я установил делители напряжения, чтобы снизить уровень напряжения ниже 5 В (максимальный диапазон Arduino). Делитель напряжения уменьшает измеряемое напряжение в пределах диапазона аналоговых входов Arduino.

Используются аналоговые входы A4 и A6 и используются высокие резисторы (100 кОм), чтобы не разряжать батареи слишком сильно в процессе измерения. Нам нужно идти на компромисс, если резисторы слишком малы (10 кОм), меньше влияние нагрузки, показания напряжения более точны, но больше потребляемого тока; если они слишком высокие (1 МОм), больший эффект нагрузки, показания напряжения менее точны, но меньше потребляемый ток.

Мониторинг заряда батареи производится каждые 10 секунд и отображается прямо на вашем мобильном телефоне контроллера.

Я уверен, что в этой части есть много возможностей для улучшения, поскольку я получаю данные с двух аналоговых выводов, а внутренний мультиплексор переключается между ними. Я не усредняю несколько измерений, и, возможно, именно это мне следует делать.

Позвольте мне объяснить следующую формулу:

// Считываем напряжение с аналогового вывода A4 и делаем калибровку для Arduino:

напряжение1 = (аналоговое чтение (A4) * 5,0 / 1024,0) * 2,0; //8,0 В

Плата Arduino nano содержит 8-канальный 10-битный аналого-цифровой преобразователь. Функция analogRead () возвращает число от 0 до 1023, которое пропорционально величине напряжения, приложенного к выводу. Это дает разрешение между показаниями: 5 В / 1024 единиц или 0,0049 В (4,9 мВ) на единицу.

Делитель напряжения уменьшает напряжение вдвое и, чтобы получить истинное значение, его необходимо умножить на 2 !!

ВАЖНО: я уверен, что есть более эффективный способ питания Arduino, чем то, как я это делаю !! Как новичок, я усвоил свой труд. В выводе Arduino Vin используется линейный стабилизатор напряжения, что означает, что с батареей 9 В вы будете сжигать большую часть энергии в самом линейном регуляторе! Нехорошо. Я сделал это так, потому что это было быстро, и просто потому, что я ничего не знал… но будьте уверены, что в Робо Фрэнки версии 2.0 я определенно сделаю это по-другому.

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

Шаг 6: Ультразвуковой датчик диапазона HC-SR04

Ультразвуковой датчик диапазона HC-SR04
Ультразвуковой датчик диапазона HC-SR04

HC-SR04 - ультразвуковой датчик дальности. Этот датчик обеспечивает измерение от 2 см до 400 см с точностью до 3 мм. В этом проекте он используется, чтобы избежать препятствия, когда он достигает 20 см или меньше, а также для измерения расстояния до любого объекта, который отправляется обратно на ваш мобильный телефон.

На экране вашего мобильного телефона есть кнопка, которую нужно нажать, чтобы запросить расстояние до ближайшего объекта.

Шаг 7: сканер Ларсона

Сканер Ларсона
Сканер Ларсона
Сканер Ларсона
Сканер Ларсона
Сканер Ларсона
Сканер Ларсона

Я хотел добавить что-нибудь забавное, поэтому включил сканер Ларсона, который напоминает K. I. T. T. из Knight Rider.

Для сканера Larson я использовал ATtiny85 с функцией Charlieplexing. Charlieplexing - это метод управления мультиплексированным дисплеем, в котором относительно небольшое количество контактов ввода / вывода на микроконтроллере используется для управления массивом светодиодов. Этот метод использует логические возможности микроконтроллеров с тремя состояниями для повышения эффективности по сравнению с традиционным мультиплексированием.

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

Вы можете зажечь светодиоды «X» с помощью N контактов. Используйте следующую формулу, чтобы определить, сколько светодиодов вы можете использовать:

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

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

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

5 контактов: 20 светодиодов… вы поняли;-)

Ток течет от положительного (анод) к отрицательному (катод). Острие стрелки - катод.

Важно отметить, что контакт 1 (в коде Arduino IDE) относится к физическому контакту 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 Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App Inventor2 - это облачный инструмент, который помогает создавать приложения в вашем веб-браузере. Это приложение (только для сотовой связи на базе Android) можно затем загрузить на ваш мобильный телефон и управлять своей машиной-роботом.

Я прикрепляю код.apk и.aia, чтобы вы могли видеть, что я сделал, и изменять его по своему усмотрению. Я использовал код из Интернета (приложение MIT) и внес свои изменения. Этот код контролирует движение машины-робота, получает сигнал от ультразвукового датчика, включает свет и подает звуковой сигнал. Он также получает сигнал от батарей, сообщающий нам уровень напряжения.

С помощью этого кода мы сможем получать два разных сигнала от автомобиля: 1) расстояние до ближайшего объекта и 2) напряжение от двигателя и батарей Arduino.

Чтобы идентифицировать полученную последовательную строку, я включил в код Arduino флаг, который указывает тип отправленной строки. Если Arduino отправляет расстояние, измеренное ультразвуковым датчиком, то он отправляет символ «A» перед строкой. Всякий раз, когда Arduino отправляет уровень заряда батареи, он отправляет флаг с символом «B». В коде MIT Appventors2 я проанализировал последовательную строку, исходящую от Arduino, и проверил наличие этих флагов. Как я уже сказал, я новичок и уверен, что есть более эффективные способы сделать это, и я надеюсь, что кто-то сможет просветить меня лучше.

Отправьте Arduino_Bluetooth_Car.apk на свой мобильный телефон (по электронной почте или с Google Диска) и установите его.

Шаг 11: подключите свой мобильный телефон к радиоуправляемой машине

Подключите свой мобильный телефон к радиоуправляемому автомобилю
Подключите свой мобильный телефон к радиоуправляемому автомобилю
Подключите свой мобильный телефон к радиоуправляемому автомобилю
Подключите свой мобильный телефон к радиоуправляемому автомобилю

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

В мобильном телефоне с контроллером включите Wi-Fi, Bluetooth и откройте Arduino_Bluetooth_Car.apk, который вы только что установили. В конце экрана (прокрутите вниз, если вы его не видите) вы увидите две кнопки: «Устройства» и «ПОДКЛЮЧИТЬ». Нажмите «Устройства» и выберите Bluetooth на своем радиоуправляемом автомобиле (должно быть что-то HC 05), затем нажмите «ПОДКЛЮЧИТЬ», и вы должны увидеть сообщение ПОДКЛЮЧЕНО в левом нижнем углу экрана. В первый раз вам будет предложено ввести пароль (введите 0000 или 1234).

Есть поле, в котором вам нужно ввести IP-адрес вашего старого сотового (мобильного телефона, который находится в вашем радиоуправляемом автомобиле), в моем случае это

Этот IP-адрес может быть обнаружен в вашем Wi-Fi роутере. Вам нужно войти в конфигурацию своего маршрутизатора, выбрать Список устройств (или что-то подобное в зависимости от марки вашего маршрутизатора), и вы должны увидеть свое старое сотовое устройство, щелкните по нему и введите этот IP-адрес в это поле.

Затем выберите КАМЕРА, и вы должны начать просмотр потоковой передачи с камеры с вашего радиоуправляемого автомобиля.

Шаг 12: Готово

Вы сделали!
Вы сделали!

Вы сделали! Начни играть с этим

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

Я участвовал в своем первом поучительном конкурсе… так что голосуйте, пожалуйста;-)

Рекомендуемые: