Плата Arduino Uno Wi-Fi

Всем привет. На этот раз мы изучим компоненты и совместимость самой дешевой платы Wi-Fi Arduino Uno, которую можно купить для радиолюбительских проектов. Плата UNO R3 + WiFi (ATmega328P + ESP8266) является неофициальным клоном Arduino Uno, но имеет ещё возможности Wi-Fi.

Плата Arduino Uno Wi-Fi

Это многообещающе дело для многих проектов, поскольку можно использовать одну плату, чтобы легко добавить Wi-Fi в проекты Arduino IoT, без необходимости устанавливать внешние соединения и использовать дополнительные беспроводные модули. К сожалению, на плате отсутствует какая-либо документация, и она несколько сложновата, поэтому нужно уметь с ней работать.

Для начала давайте внимательно посмотрим на устройство. Эти платы иногда могут выглядеть по-разному и иметь некоторые вариации, поэтому учитывайте данный момент.

Для интерфейса USB используется разъем micro-USB, также имеется дополнительный разъем для внешнего источника питания 7-12 В. Имеется 6-контактный разъем ICSP, для управления ATmega328P через внешний программатор и кнопку сброса микроконтроллера. Более того, соединения ESP8266 выведены в виде 12-контактного разъема ESP (там же можно найти крохотную кнопку перезагрузки ESP).

Несмотря на встроенную антенну (дорожки на печатной плате), также можно увидеть разъем IPEX для внешней антенны WLAN на краю платы, чтобы улучшить при необходимости радиус связи.

Оба чипа на этой плате могут работать независимо. Можно работать с ATmega328P или с ESP8266 и полностью игнорировать другой чип. Также можно использовать оба чипа и управлять одним из них с помощью программы, запущенной на другом.

На плате имеется 8-позиционный DIP-переключатель, с которым можно выбрать, какой чип (UNO/Wi-Fi) надо прошить или подключить.

Плата Arduino Uno Wi-Fi

  • При программировании кода Arduino переключатели 3 и 4 должны быть включены, а все остальные выключены.
  • Если нужно загрузить код ESP8266, можете включить 5,6 и 7, а все остальные — выключить.
  • Выключив переключатель 7, можем проверить с помощью последовательного монитора код ESP8266 (в противном случае он подключит GPIO0 к GND и переведет чип в режим флэш-памяти).
  • Чтобы код Arduino мог взаимодействовать с ESP8266 (и наоборот), выключите все переключатели, а затем включите переключатели 1 и 2.
  • Если по какой-то причине вы не хотите чтобы чипы были подключены и предпочитаете, чтобы они работали независимо, то просто установите все переключатели в положение ВЫКЛ.

Большинство этих плат имеют чип CH340G USB to Serial, но на данной плате это чип CH340C. Для CH340G имеется кварц с частотой 12 000 МГц, хотя в версии C он не нужен.

Плата Arduino Uno Wi-Fi

Здесь особо нечего сказать о микроконтроллере Arduino, просто установите два DIP-переключателя, как указано выше, и работайте с этой платой, как с любой другой Arduino (реальной или клоном). В Arduino IDE можно запрограммировать плату как «Arduino Uno» через соответствующий последовательный порт.

Имейте в виду, что для использования интерфейса CH340x USB-Serial может потребоваться драйвер. CH340 производится компанией WCH, и вы можете найти последнюю версию их драйверов на www.wch-ic.com/downloads/CH341SER_ZIP.html

Плата выполняет стандартную программу мигания светодиодов Hello-World. Но чтобы самостоятельно проверить работоспособность загрузите еще один тестовый код, к примеру показанный ниже.

const int hello_LED = 13;
const int cycle_LED = 250;
void setup()
{
pinMode(hello_LED, OUTPUT);
}
void loop()
{
digitalWrite(hello_LED, !digitalRead(hello_LED));
delay(cycle_LED);
}

Затем установите DIP-переключатели 5 и 6 в положение «ВКЛ», а остальные в положение «ВЫКЛ», подключите плату через USB и установите соединение с последовательным монитором Arduino IDE на скорости 115200 бод. Если необходимая прошивка имеется, ESP8266 будет ожидать AT-команд с CR+LF (не забудьте установить для соответствующей опции значение Both NL&CR).

Плата Arduino Uno Wi-Fi

Далее можете отправить команду типа «AT+GMR» (проверить информацию о версии), а затем CR/LF, чтобы получить ответ (скриншот ниже).

Плата Arduino Uno Wi-Fi

Если у вас есть скетч, адаптированный для ESP8266, то вы можете запустить его на этой плате (просто игнорируйте чип ATmega). Или использовать её в качестве платы для разработки Интернета вещей. На этом этапе для программирования чипа ESP необходимо установить его поддержку в диспетчере плат Arduino IDE. Затем адресовать ESP как универсальный модуль ESP8266.

Эта компактная плата разработки микроконтроллера предлагает различные шаблоны для проектных решений — только чип Arduino, только чип ESP8266 и комбинированный Arduino+ESP8266. Он поставляется с предустановленной на ESP8266 прошивкой AT, поэтому ESP8266 легко управлять с помощью AT-команд.

Далее пример кода мигания светодиода для ESP8266 (помните про рекомендуемые конфигурации DIP-переключателей для режимов программирования/работы ESP).

void setup() {
pinMode(12, OUTPUT); // LED @ GPIO12
}
void loop() {
digitalWrite(12, LOW);
delay(500);
digitalWrite(12, HIGH);
delay(1000);
}

Плата Arduino Uno Wi-Fi

Здесь внешний светодиод подключен к GPIO12 для проверки программы мигания. Разъем ESP на плате обеспечивает доступ к GPIO12 от ESP8266, поэтому можно подключить резистор 1 кОм и зеленый/красный светодиод последовательно между GPIO12 и GND на 12-контактном разъеме ESP. Правда прошивка программы проверки мигания стирает заводскую прошивку AT.

Оцените полезность информации:

4.8 / 5. Голосов: 6

Расскажите, что надо исправить?