Мобильный робот wi fi

Робот на Arduino Uno, управляемый по WiFi

Роботы являются одними из самых популярных устройств, конструируемыми энтузиастами в микроконтроллерной технике. Мы на нашем сайте уже рассматривали проекты различных роботов на основе платы Arduino Uno:

Внешний вид робота на Arduino Uno, управляемого по WiFi

А в этой статье мы рассмотрим создание робота на основе Arduino Uno, управляемого по WiFi со смартфона с помощью приложения Blynk App. Для демонстрации работы этого робота мы используем мобильное приложение для Android под названием “Blynk”. Blynk – это совместимое приложение с Arduino, удобное для создания различных проектов для интернета вещей (IoT based project). Это приложение можно скачать из Google Play Store, его легко установить и настроить.

Шаги для настройки приложения Blynk

1. Сначала скачайте его из Google Play Store и установите его на свой мобильный телефон с Android.

2. После этого необходимо создать аккаунт если у вас его нет. Также вы можете использовать Gmail аккаунт (если он у вас есть).

3. Теперь выберите Arduino Board и задайте имя для своего проекта.

Создание нового проекта в приложении Blynk

4. Запишите код авторизации токена (Auth Token Code) или просто перешлите его на свой Email аккаунт и затем скопируйте и вставьте его в свою программу (скетч) для Arduino.

Присданный на Email код авторизации токена

5. Запишите свой Auth Token Code в программе (скетче) для Arduino.

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = «caa17a11c0124d4083d0eaa995f45917»;

6. Затем кликните на «создать кнопку» (create button) в приложении Blynk.

7. Теперь выберите Joystick Widget, Click on Joystick, Configure the Joystick (более подробно смотрите в видео в конце статьи) и нажмите кнопку возвращения назад back button.

Настройка джойстика в приложении Blynk.

8. После этого нажмите кнопку Play в верхнем правом углу экрана.

Более подробно процессы настройки приложения Blynk показаны в видео в конце статьи.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Wi-Fi модуль ESP8266 (купить на AliExpress).
  3. Драйвер двигателей L293D (купить на AliExpress).
  4. Электродвигатели постоянного тока.
  5. USB кабель.
  6. Источник питания.
  7. Соединительные провода.
  8. Батарейки.
  9. Потенциометр 10 кОм (опционально).
  10. Шасси робота с колесами.
  11. Мобильный телефон с Android.
  12. Приложение Blynk.

Работа схемы

Схема устройства представлена на следующем рисунке.

Схема робота на Arduino Uno, управляемого по WiFi

Основными элементами в ней являются плата Arduino Uno и Wi-Fi модуль ESP8266. Контакты Vcc и GND модуля ESP8266 непосредственно подключены к контактам 3.3V и GND платы Arduino, контакт CH_PD также подсоединен к контакту 3.3V. Контакты Tx и Rx модуля ESP8266 подключены к контактам 2 и 3 платы Arduino. Software Serial Library (библиотека последовательной связи) используется для осуществления последовательной связи на контактах 2 и 3 платы Arduino. В статье про передачу Email с использованием Arduino мы достаточно подробно останавливались на подключении WiFi модуля ESP8266 к плате Arduino, поэтому здесь эти вопросы рассматривать не будем.

Микросхема драйвера двигателей L293D используется для управления двигателями постоянного тока. Входные контакты микросхемы драйвера мотора непосредственно подключены к контактам 8, 9, 10 и 11 платы Arduino. Электродвигатели постоянного тока подключены к выходным контактам микросхемы L293D. Для питания схемы и двигателей постоянного тока мы использовали батарейку на 9 Вольт.

Читайте также:  Ctv m4102fhd wi fi full hd

Структурная схема работы устройства показана на следующем рисунке.

Структурная схема работы робота на Arduino Uno, управляемого по WiFi

Работа схемы достаточно проста – нам в приложении Blynk на смартфоне необходимо просто перемещать джойстик в том направлении, в котором мы хотим чтобы двигался робот. Если мы отпустим кнопку джойстика в приложении, то его рычаг переместится в центр и робот остановится.

Приложение Blynk передает значения двух осей джойстика плате Arduino при помощи Wi-Fi соединения. Плата Arduino принимает эти значения, сравнивает их с заранее определенными значениями и по результатам сравнения выдает команды на движения робота.

Исходный код программы

Код программы практически полностью готов в среде Arduino IDE. Нам необходимо просто скачать Blynk Library для Arduino. И после внесения ряда изменений мы получим программу для управления роботом по Wi-Fi.

В программе мы первым делом должны подключить все необходимые библиотеки, затем мы должны войти в строку авторизации (auth string) в токене авторизации (Auth Token) от приложения Blynk. Далее мы подсоединяем последовательный контакт модуля Wi-Fi к Arduino с помощью библиотеки последовательной связи. RX подсоединяем к контакту 2, а TX – к контакту 3.

#define BLYNK_PRINT Serial // поместите это в комментарий чтобы отключить печать и сэкономить пространство
#include
#include
// Set ESP8266 Serial object
#include
SoftwareSerial EspSerial(2, 3); // RX, TX
ESP8266 wifi(EspSerial);
// You should get Auth Token in the Blynk App (вы должны получить Auth Token в приложении Blynk)
// Go to the Project Settings (nut icon). (зайдите в настройки проекта)
char auth[] = «caa17a11c0124d4083d0eaa995f45917»;

Затем мы должны сконфигурировать контакты 8,9,10,11 в режим работы на вывод данных чтобы через них передавать инструкции роботу куда ему двигаться, а также запрограммировать функции для движения робота в заданных направлениях: void forward(), void backward(),void right() and void left() .

После этого в функции setup мы должны инициализировать все необходимые устройства, задать направление работы контактов, инициализировать последовательную связь, ввести имя пользователя и пароль для Wi-Fi соединения.

void setup()
<
// установить бодовую скорость передачи
Serial.begin(9600);
delay(10);
// установка бодовой скорости для ESP8266
// 9600 рекомендовано для библиотеки Software Serial
EspSerial.begin(9600);
delay(10);
Blynk.begin(auth, wifi, «username», «password»); // имя пользователя и пароль для wifi
pinMode(m11, OUTPUT);
pinMode(m12, OUTPUT);
pinMode(m21, OUTPUT);
pinMode(m22, OUTPUT);
>

После этого мы в программе должны проверить ряд условий для управления роботом. Здесь мы выбрали виртуальный контакт 1 (V1) чтобы получать информацию о требуемом направлении движения от приложения Blynk. Поскольку мы выбрали соответствующую опцию в приложении, то мы можем получать значения осей x и y на этом же самом контакте.

BLYNK_WRITE(V1)
<
int x = param[0].asInt();
int y = param[1].asInt();
if(y>220)
forward();
else if(y <35)
backward();
else if(x>220)
right();
else if(x <35)
left();
else
Stop();
>

Далее мы просто должны использовать функцию blynk в цикле loop.

Далее приведен полный текст программы.

Источник

Собираем Wi-Fi робота

Давно мечтал сделать Wi-Fi робота, которым можно было бы управлять удаленно. И вот наконец настал тот день когда я смог управлять роботом через интернет, видеть и слышать все что происходит вокруг него.
Заинтересовавшихся приглашаю под кат

Для создания робота использовались следующие комплектующие:

Вот так выглядит собранный мной робот, без верхней крышки.

Теперь все по порядку:

image

Расположение компонентов на материнской плате. Я установил только Arduino Nano, драйвер двигателей и звуковой излучатель HC:

Читайте также:  Wifi security home network

image

Роутер wr703N прикрепил к нижней части платформы робота на двухсторонний скотч:

Веб камера прикреплена на мебельный уголок, к штатным отверстиям платформы, предусмотренных для сервомоторов:

СyberWrt — это прошивка собранная на базе OpenWrt и предназначенная в первую очередь для роботов, умного дома и других устройств построенных на базе популярных моделей роутеров Tp-Link mr3020 b Wr703N. У СyberWrt максимально возможный объем свободного места для инсталляции пакетов — 1.25Мб. По умолчанию установлен веб сервер и все операции можно проводить через встроенный веб интерфейс. Сразу после перепрошивки, роутер доступен в сети по кабелю и по WiFi, как точка доступа. Через веб-интерфейс можно работать в режиме «командной строки» — через веб терминал и в файловом менеджере, в котором можно редактировать, загружать, удалять, создавать, копировать файлы и многое другое.

После прошивки роутера, он доступен как WiFi точка доступа с именем «CyberBot», подключаемся к нему заходим на главную страницу роутера. Вот так выглядит веб интерфейс сразу после прошивки.

Устанавливаем модули Драйвер FTDI, Драйвер video и CyberBot-2.

Прошиваем контроллер ардуино.

Код программы робота получился достаточно простым, но его достаточно для того что бы удаленно управлять роботом через локальную сеть или интернет.
Код адаптирован под контроллеры Arduino с ATmega168/328 на борту и использует библиотеку CyberLib.
Эта библиотека помогает из контроллера выжать максимум его возможностей и уменьшить объем конечного кода
В коде используется WDT, для того что бы робот не смог зависнуть.
Так же код поддерживает управление камерой по осям X и Y, но у меня не было свободных сервомоторов и я не смог воспользоваться этой функцией:

#include #include Servo myservo1; Servo myservo2; long previousMillis; http://cyber-place.ru/attachment.php?attachmentid=600&d=1389429469 uint8_t LedStep = 0; // Счетчик int i; boolean light_stat; uint8_t inByte; uint8_t speed=255; //максимальная скорость по умолчанию #define init void setup() < myservo1.attach(9); // Подключение сервоприводов к порту myservo2.attach(10); // Подключение сервоприводов к порту init; // Инициализация портов D11_Low; // Динамик OFF randomSeed(A6_Read); //Получить случайное значение horn(); //звуковое оповещение готовности робота UART_Init(57600);// Инициализация порта для связи с роутером wdt_enable (WDTO_500MS); >void loop() < unsigned long currentMillis = millis(); if (LedStep == 0 && currentMillis - previousMillis >500) < // Задержка 0,5 сек. previousMillis = currentMillis; LedStep = 1; >if (LedStep == 1 && currentMillis - previousMillis > 500) < // Задержка 0,5 сек. previousMillis = currentMillis; LedStep = 2; >if (LedStep == 2 && currentMillis - previousMillis > 500) < // Задержка 0,5 сек. LedStep = 0; >if (UART_ReadByte(inByte)) //Если что то пришло < switch (inByte) // Смотрим какая команда пришла < case 'x': // Остановка робота robot_stop(); break; case 'W': // Движение вперед robot_go(); break; case 'D': // Поворотjт влево robot_rotation_left(); break; case 'A': // Поворот вправо robot_rotation_right(); break; case 'S': // Движение назад robot_back(); break; case 'U': // Камера поднимается вверх myservo1.write(i -= 20); break; case 'J': // Камера опускается вниз myservo1.write(i += 20); break; case 'H': // Камера поворачивается вправо myservo2.write(i += 20); break; case 'K': // Камера поворачивается влево myservo2.write(i -= 20); break; case 'B': // Бластер D12_High; break; case 'C': // Клаксон horn(); break; case 'V': // Включить/Выключить фары if(light_stat) < D8_Low; light_stat=false; >else < D8_High; light_stat=true; >break; > if(inByte>47 && inByte <58) speed=(inByte-47)*25+5; //принимаем команду и преобразуем в скорость >wdt_reset(); > void horn() < for(uint8_t i=0; ivoid robot_go() < D4_Low; analogWrite(5, speed); analogWrite(6, speed); D7_Low; >void robot_back() < D4_High; analogWrite(5, 255-speed); analogWrite(6, 255-speed); D7_High; >void robot_stop() < D4_Low; analogWrite(5, 0); analogWrite(6, 0); D7_Low; >void robot_rotation_left() < D4_Low; analogWrite(5, speed); analogWrite(6, 255-speed); D7_High; >void robot_rotation_right()

Все собрано и прошито, теперь включаем робота и управляем им удаленно.
На PC кроме экранных кнопок можно управлять еще с клавиатуры, клавишами W, A, D, S, X

В дальнейшем планирую научить робота ориентироваться в пространстве и рисовать карту помещения.

Источник

Может ли робот-пылесос работать без интернета

работает ли робот пылесос без вайфая

Робот-пылесос представляет собой современный и высокотехнологичный гаджет, который убирает и моет пол, имеет программируемое расписание, возможность установки зон уборки и т. д. Также есть модели, которые поддерживают выход в интернет, что наделяет прибор еще большими преимуществами и удобством. А сможет ли робот-пылесос Xiaomi или любой другой работать без интернета, если, например, возникнут неполадки сети. В этом вопросе поможет разобраться данная статья.

Будет ли робот-пылесос работать без Вай-Фай

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

Проблема становится актуальной для:

Робот-пылесос для пожилых людей без интернета

  • Глухой деревни.
  • Людей старшего поколения.

В этом случае владельцы девайса получат урезанный набор функций:

  • Запуск и остановка пылесоса.
  • Возврат прибора на док-станцию.
  • Запуск локальной уборки.

Что не будет работать без сети

Перечень функций, которые будут недоступны без Wi-Fi, напрямую зависит от модели робота.

В простых вариантах не будут работать:

Ели рассматривать самые новые модели роботов-пылесосов, то без вайфая их работа будет сильно ограничена.

  • Самообучения.
  • Приходить сообщение о том, что необходимо заменить пылесборник.
  • Зонирования составленных карт уборки.
  • Совместной уборки с полотерами.
  • Если введены запреты на определенные участки, гаджет не сможет работать без ограничителей.

Как управлять роботом-пылесосом без Wi-Fi

Если вай-фай или интернет в квартире не предусмотрен и не планируется, то лучше приобретать простые электронные уборщики. У таковых попросту нет модуля Wi-Fi и ими нельзя управлять с мобильного, поскольку производителем не предусматривается даже приложение. Однако это вовсе не говорит, что такие гаджеты плохие и убирают некачественно. Есть как недорогие модели, так и устройства премиум-сегмента.

Управление с пульта

Робот-пылесос без вай-фай, в зависимости от модели, во время работы может управляться следующим образом:

  1. На корпусе гаджета есть всего одна кнопка, посредством которой и происходит управление (запуск, постановка на паузу, остановка).
  2. С помощью сенсорного дисплея. На экране показываются ошибки в виде кода, заряд АКБ. На таких моделях возможна установка расписания уборки, выбор режима, остановка и отправка устройства на базу.
  3. С пульта ДУ. Пульт позволяет запускать уборку, производить настройку отложенного старта, контролировать режимы работы.

Внимание! Нередко пульт ДУ по функционалу не уступает недорогим моделям с ограниченными возможностями мобильного приложения.

Работа без приложения

Ситуация, когда робот-пылесос оказывается в квартире без Wi-Fi роутера – не редкость. В этом случае можно подключить прибор к мобильному через приложение, но далеко не во всех моделях. Даже при удачном сопряжении могут возникнуть проблемы в работе, если смартфон окажется на удалении. Такие нюансы вызваны необходимостью в постоянном соединении с интернетом.

Далеко не каждый пользователь стремится приобрести робот-пылесос с возможностью управления через мобильный. По крайней мере такая функция не является приоритетной. Если у вас нет в планах управлять работой устройства на расстоянии и следить за процессом через приложение, можно купить пылесос без Wi-Fi. Переплачивать за функционал, который не будет использоваться, не имеет смысла.

Источник

Оцените статью
Adblock
detector