- Шаги по настройке приложения Blynk:
- Обязательные компоненты:
- Описание схемы:
- Рабочее объяснение:
- Объяснение программирования:
Есть много типов роботов, от простых, таких как игрушечные машинки, до продвинутых, таких как промышленные роботы. Мы уже рассмотрели множество типов роботов, использующих разные технологии, взгляните на них:
- Робот следящего за линией с использованием микроконтроллера 8051
- Робот следящего за линией, использующий Arduino
- Робот, управляемый DTMF с использованием Arduino
- Робот, управляемый сотовым телефоном, с использованием микроконтроллера 8051
- Робот, управляемый компьютером, использующий Arduino
- RF управляемый робот
- Робот, избегающий краев, использующий 8051
- Робот, управляемый жестами руки, на основе акселерометра с использованием Arduino
- Игрушечная машинка с управлением по Bluetooth и Arduino
И теперь мы добавляем еще одного робота в наш раздел «Робототехнические проекты», на этот раз мы собираемся создать робота, управляемого через Wi-Fi, используя Arduino и приложение Blynk. Этим роботом на базе Arduino можно управлять по беспроводной сети с любого смартфона Android с поддержкой Wi-Fi.
Для демонстрации робота, управляемого через Wi-Fi, мы использовали мобильное приложение для Android под названием « Blynk ». Blynk - это очень совместимое приложение с Arduino для создания проектов на основе Интернета вещей. Это приложение можно загрузить из магазина Google Play, и его легко настроить.
Шаги по настройке приложения Blynk:
1. Сначала загрузите его из Google Play Store и установите на мобильный телефон Android.
2. После этого необходимо создать учетную запись. Вы можете использовать свою текущую учетную запись Gmail.
3. Теперь выберите Arduino Board и дайте название своему проекту.
4. Запишите код токена аутентификации или просто отправьте его на свой адрес электронной почты, а затем скопируйте и вставьте в эскиз Arduino (программный код).
5. Введите этот код токена аутентификации в эскиз Arduino.
// Вы должны получить токен аутентификации в приложении Blynk. // Заходим в настройки проекта (значок ореха). char auth = "caa17a11c0124d4083d0eaa995f45917";
6. Затем нажмите кнопку «Создать» в приложении Blynk.
7. Теперь выберите виджет «Джойстик», нажмите «Джойстик», настройте джойстик (см. Видео в конце) и нажмите кнопку «Назад».
8. После этого нажмите кнопку Play в правом верхнем углу экрана.
Весь этот процесс использования приложения Blynk был четко объяснен в видео, приведенном в конце.
Обязательные компоненты:
- Arduino UNO
- Модуль Wi-Fi ESP8266
- USB-кабель
- Соединительные провода
- L293D
- Двигатели постоянного тока
- Аккумуляторы
- 10K POT (опционально)
- Шасси робота плюс колесо
- Ролики
- Android Мобильный телефон
- Приложение Blynk
Описание схемы:
Принципиальная схема робота, управляемого по Wi-Fi, представлена ниже. В основном нам нужен модуль Wi-Fi Arduino и ESP8266. Контакты Vcc и GND ESP8266 напрямую подключены к 3,3 В и GND Arduino, а CH_PD также подключен к 3,3 В. Контакты Tx и Rx ESP8266 напрямую подключены к контактам 2 и 3 Arduino. Программная последовательная библиотека используется для обеспечения последовательной связи на выводах 2 и 3 Arduino. Мы уже подробно рассмотрели взаимодействие модуля ESP8266 Wi-Fi с Arduino.
L293D Motor Driver IC используется для приведения в движение электродвигателями постоянного тока. Входные контакты ИС драйвера двигателя напрямую подключены к контактам 8, 9, 10 и 11 Arduino. И двигатели постоянного тока подключены к его выходным контактам. Здесь мы использовали 9-вольтовую батарею для управления двигателями Circuit и DC.
Рабочее объяснение:
Работать с роботом, управляемым по Wi-Fi, очень просто, нам просто нужно перетащить или сдвинуть джойстик в том направлении, куда мы хотим переместить робота. Например, если мы хотим переместить робота в прямом направлении, нам нужно перетащить «круг» джойстика в прямом направлении. Точно так же мы можем перемещать робота влево, вправо и назад, перетаскивая джойстик в соответствующем направлении. Теперь, как только мы отпустим джойстик, он вернется в центр, и робот остановится.
Приложение Blynk отправляет значения с двухосного джойстика в Arduino через среду Wi-Fi. Arduino получает значения, сравнивает их с предопределенными значениями и соответствующим образом перемещает робота в этом направлении.
Объяснение программирования:
Программа практически готова и доступна в Arduino IDE. Нам просто нужно скачать библиотеку Blynk для Arduino. А после внесения некоторых изменений пользователь может создать собственного робота, управляемого через Wi-Fi.
Сначала мы включили все необходимые библиотеки для запуска этого кода в Arduino IDE, а затем ввели токен аутентификации из приложения Blynk в строку аутентификации . Здесь мы подключаем последовательный вывод Wi-Fi к программному последовательному порту Arduino. Выбран контакт 2 как RX и 3 как TX.
#define BLYNK_PRINT Serial // Закомментируйте это, чтобы отключить печать и сэкономить место #include
Затем мы определили выходные контакты (8,9,10,11) для двигателей и написали некоторые функции направления для перемещения робота в определенном направлении: void forward (), void backward (), void right () и void left ()
После этого в функции настройки мы инициализируем все необходимые устройства, например, задаем направление контактам двигателя, начинаем последовательную связь, предоставляя имя пользователя и пароль Wi-Fi.
void setup () {// Устанавливаем скорость передачи данных консоли Serial.begin (9600); задержка (10); // Установить скорость передачи ESP8266 // 9600 рекомендуется для программного обеспечения Serial EspSerial.begin (9600); задержка (10); Blynk.begin (авторизация, Wi-Fi, «имя пользователя», «пароль»); // имя пользователя и пароль Wi-Fi pinMode (m11, OUTPUT); pinMode (m12, ВЫХОД); pinMode (m21, ВЫХОД); pinMode (m22, ВЫХОД); }
Теперь мы проверили некоторые условия управления роботом. Здесь мы выбрали виртуальный контакт 1 (V1) для ввода данных из приложения Blynk для управления роботом. Поскольку мы использовали опцию marge в приложении, мы получим значения осей x и y на одном выводе.
BLYNK_WRITE (V1) {int x = param.asInt (); int y = param.asInt (); если (y> 220) вперед (); иначе, если (y <35) backward (); иначе, если (x> 220) right (); иначе, если (x <35) left (); else Stop (); }
Наконец, нам нужно запустить функцию blynk в цикле, чтобы запустить систему.
void loop () {Blynk.run (); }