Контроллер UNO R3 ATmega328P с Wi-Fi ESP8266 Arduino — это электронный конструктор и удобная платформа быстрой разработки электронных устройств для новичков и профессионалов. Платформа пользуется огромной популярностью во всем мире благодаря удобству и простоте языка программирования, а также открытой архитектуре и программному коду.
Появившееся совсем недавно платы на основе WiFi модуля ESP8266 и представляющие собой полноценный 32 битный микроконтроллер ESP-8266EX со своим набором GPIO, в том числе SPI, UART, I2C, составляют на данный момент конкуренцию платам Arduino, учитывая низкую цену и возможность программировать устройства ESP8266 в среде Arduino IDE.
Возможно и совместное использование плат Arduino и модулей ESP8266. Например, использование ESP8266 в качестве UART-WiFi моста для плат Arduino.
Компания Robotdyn, которая занимается собственной разработкой и производством плат на основе микроконтроллеров платформы Arduino, выпустила новую плату RobotDyn UNO3+WiFi. Эта плата представляет собой модернизированную версию класической платы Arduino UNO R3. Полная интеграция на одной плате микропроцессора Uno R3 ATmega328 и чипа Wi-Fi ESP8266 с памятью 8 МБ. Все модули могут работать вместе или каждый в отдельности.
Удобное решение для разработки новых проектов, требующих UNO и Wi-Fi. Через USB вы можете обновлять скетчи и прошивки как для ATmega328, так и для ESP8266, для этого на борту есть USB-serial конвертер CH340G. На плате имеется DIP-переключатель, для подключения модулей.
Информация по использованию переключателей
режим |
переключатель |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
ATmega328 <-> ESP8266 |
ON |
ON |
OFF |
OFF |
OFF |
OFF |
OFF |
USB <-> ATmega328 |
OFF |
OFF |
ON |
ON |
OFF |
OFF |
OFF |
USB <-> ESP8266 (Обновление прошивки или эскиз) |
OFF |
OFF |
OFF |
OFF |
ON |
ON |
ON |
USB <-> ESP8266 (сообщение) |
OFF |
OFF |
OFF |
OFF |
ON |
ON |
OFF |
все независимые |
OFF |
OFF |
OFF |
OFF |
OFF |
OFF |
OFF |
Рассмотрим использование данной платы для проверки возможности подключения к
квадрокоптеру ARDrone 2.0, используя модуль ESP8266.
Управлять платой ESP8266 можно с помощью AT-команд. При этом на плате уже имеется USB-serial конвертер CH340G. Выставим перемычки на плате следующим образом:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
OFF |
OFF |
OFF |
OFF |
ON |
ON |
OFF |
Теперь Arduino IDE, открываем монитор последовательного порта и отправляем в него AT-команды.
AT – проверка модуля, если модуль успешно стартовал, то отвечает OK;
AT+CWMODE=<режим> – переключение режима wifi (1=Station, 2=AP, 3=Оба режима (Station+AP)), для вступления в силу требуется перезапуск модуля командой AT+RST;
AT+CWLAP – вывести список доступных точек доступа WiFi;
AT+CWJAP=<идентификатор сети><пароль> – подключиться к точке доступа (SSID и пароль указываются в двойных кавычках);
AT+CWJAP? – отобразить текущее подключение;
AT+CWQAP – отключиться от точки доступа.
Теперь включаем квадрокоптер ARDrone 2.0 и делаем попытку подключиться
Как видим, подключение произошло. Теперь мы можем попробовать создать модуль управления данным квадрокоптером на Arduino, используя ESP8266 в качестве UART-WiFi моста. При этом перемычки необходимо будет выставить следующим образом:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
ATmega328 <-> ESP8266 |
ON |
ON |
OFF |
OFF |
OFF |
OFF |
OFF |