- Arduino Uno WiFi: распиновка, схема подключения и программирование
- Видеообзор платы
- Подключение и настройка
- Что-то пошло не так?
- Настройка модуля WiFi
- Прошивка по WiFi
- Загрузка скетча
- Примеры использования
- Web-сервер
- Элементы платы
- Микроконтроллер ATmega328P
- Микроконтроллер ATmega16U2
- Пины питания
- Порты ввода/вывода
- Светодиодная индикация
- Разъём USB Type-B
- Разъём для внешнего питания
- Регулятор напряжения 5 В
- Регулятор напряжения 3,3 В
- ICSP-разъём для ATmega328P
- ICSP-разъём для ATmega16U2
- Arduino WiFi: обзор модулей и ESP8266 для работы с сетью
- Для чего это нужно?
- Характеристики
- Подключение
- Про программирование
- Про питание
- Платы со встроенным ESP8266
Arduino Uno WiFi: распиновка, схема подключения и программирование
Arduino Uno WiFi — оригинальная итальянская плата семейства Uno с модулем Wi-Fi.
[NEW] На сегодняшний день на смену ей пришла более новая версия платы: Uno WiFi Rev2 c модулем Wi-Fi и Bluetooth.
На Uno WiFi предусмотрено всё для удобной работы с микроконтроллером: 14 цифровых входов/выходов (6 из них могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, разъём USB, разъём питания, разъём для внутрисхемного программирования (ICSP) и кнопка сброса микроконтроллера.
Изюминка платы — модуль WiFi ESP8266, который позволяет ей обмениваться информацией с другими модулями по беспроводным сетям стандартов 802.11 b/g/n.
ESP8266 позволяет прошивать плату без использования USB-кабеля в режиме OTA (Firmware Over The Air — «микропрограммы по воздуху»).
Видеообзор платы
Подключение и настройка
Для начала работы с платой Uno WiFi в операционной системе Windows скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
Что-то пошло не так?
Настройка модуля WiFi
Для первичной настройки Arduino с модулем WiFi выполните следующие действия.
Подключите питание к плате. Через несколько секунд в списке доступных сетей появится новая — с именем Arduino-Uno-WiFi-xxxxxx , где xxxxxx — уникальный номер платы.
Откроется web-интерфейс настройки платы.
Зайдите в сетевые настройки платы, нажатием на кнопку CHANGE в пункте Network SSID .
Выберите вашу сеть Wi-Fi из списка доступных сетей, введите пароль и подключитесь к ней.
При успешном подключении к Wi-Fi сети появится информация о присвоенном IP-адресе. Запомните или запишите его. В нашем примере мы получили адрес 192.168.43.17 .Теперь на Arduino Uno WiFi можно зайти с любого устройства, подключенного к этой сети.
Для дальнейшей работы с платой переключите ваш ПК с Wi-Fi-сети Arduino-Uno-WiFi-xxxxxx на вашу домашнюю беспроводную сеть — Amperka Mobile .
Зайдите в браузере по выданному ранее IP-адресу. Откроется тот же web-интерфейс настройки платы.
Обратите внимание: в данный момент плата работает в режиме «клиент + точка доступа» AP+STA . Если вы хотите прошить плату по Wi-Fi, необходимо переключить режим работы платы из AP+STA в STA
Зайдите в сетевые настройки платы, нажав на кнопку CHANGE в пункте Network SSID .
Переключите режим сети из AP+STA в STA кнопкой SWITCH TO STA MODE .
В колонке WiFi Mode отобразится режим STA .
Это значит, вы всё сделали верно, и можно переходить к прошивке платы по Wi-Fi.
Прошивка по WiFi
Arduino Uno WiFi имеет в своём запасе ещё один приятный бонус — возможность загружать скетчи без использования USB-кабеля в режиме OTA (Firmware Over The Air). Рассмотрим подробнее, как это сделать.
Отключите плату от ПК и подключите к другому источнику питания — например, к блоку питания или Power Shield.
Сообщите среде IDE, с какой платой будете работать. Для этого перейдите в меню: Инструменты Плата и выберите плату «Arduino Uno WiFi».
Теперь необходимо сообщить среде программирования номер COM-порта, который соответствует подключённой плате.
Для этого необходимо войти в меню: Инструменты Порт и выбирать нужный порт.
Так как мы прошиваем Arduino по WiFi, плата определится как удалённое устройство с IP-адресом
Загрузка скетча
Среда настроена, плата подключена. Можно переходить к загрузке скетча. Arduino IDE содержит большой список готовых примеров, в которых можно подсмотреть решение какой-либо задачи. Выберем среди примеров мигание светодиодом — скетч «Blink». Прошейте плату, нажав на иконку загрузки программы. После загрузки светодиод начнёт мигать раз в секунду. Это значит, что всё получилось.
Теперь можно переходить к примерам использования.
Примеры использования
Web-сервер
Поднимем простой web-сервер, который будет отображать страницу с текущими значениями аналоговых входов.
Элементы платы
Микроконтроллер ATmega328P
Сердцем платформы Arduino Uno WiFi является 8-битный микроконтроллер семейства AVR — ATmega328P.
Микроконтроллер ATmega16U2
Микроконтроллер ATmega16U2 обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к ПК плата Uno WiFi определяется как виртуальный COM-порт. Прошивка микросхемы 16U2 использует стандартные драйвера USB-COM, поэтому установка внешних драйверов не требуется.
Пины питания
VIN: Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, если к устройству подключён внешний адаптер.
5V: На вывод поступает напряжение 5 В от стабилизатора платы. Данный стабилизатор обеспечивает питание микроконтроллера ATmega328. Запитывать устройство через вывод 5V не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
IOREF: Вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами.
Порты ввода/вывода
Цифровые входы/выходы: пины 0 – 13
Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
ШИМ: пины 3 , 5 , 6 , 9 , 10 и 11
Позволяют выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
АЦП: пины A0 – A5
6 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 значений). Разрядность АЦП — 10 бит.
TWI/I²C: пины SDA и SCL
Для общения с периферией по синхронному протоколу, через 2 провода. Для работы — используйте библиотеку Wire .
SPI: пины 10(SS) , 11(MOSI) , 12(MISO) , 13(SCK) .
Через эти пины осуществляется связь по интерфейсу SPI. Для работы — используйте библиотеку SPI .
UART: пины 0(RX) и 1(TX)
Эти выводы соединены с соответствующими выводами микроконтроллера ATmega16U2, выполняющей роль преобразователя USB-UART. Используется для коммуникации контроллера с компьютером или другими устройствами через класс Serial .
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
ON | Индикатор питания на плате. |
L | Светодиод вывода 13 . При отправке значения HIGH светодиод включается, при отправке LOW – выключается. |
WIFI | Мигает при поиске и обмена данными с WiFi сетями |
RX и TX | Мигают при обмене данными между контроллером и ПК. |
Разъём USB Type-B
Разъём USB Type-B предназначен для прошивки платформы Uno WiFi с помощью компьютера.
Разъём для внешнего питания
Разъём для подключения внешнего питания от 7 В до 12 В.
Регулятор напряжения 5 В
Когда плата подключена к внешнему источнику питания, напряжение проходит через стабилизатор MPM3610 . Выход стабилизатора соединён с пином 5V . Максимальный выходной ток составляет 1 А.
Регулятор напряжения 3,3 В
Стабилизатор MPM3810GQB-33 с выходом 3,3 вольта. Обеспечивает питание модуля WiFi ESP8266 и выведен на пин 3,3V . Максимальный выходной ток составляет 1 А.
ICSP-разъём для ATmega328P
ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega328P. С использованием библиотеки SPI данные выводы могут осуществлять связь с платами расширения по интерфейсу SPI. Линии SPI выведены на 6-контактный разъём, а также продублированы на цифровых пинах 10(SS) , 11(MOSI) , 12(MISO) и 13(SCK) .
ICSP-разъём для ATmega16U2
ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega16U2.
Arduino WiFi: обзор модулей и ESP8266 для работы с сетью
Привет! Эта статья должна была стать законченной точкой в ознакомлении с Wi-Fi модулями для Arduino или непосредственно Arduino со встроенными модулями, но получилась какая-то пеленка от чайника. Так что от чайника для чайников про Arduino WiFi.
Есть исправления, важные дополнения или хороший анекдот? Внизу статьи люди оставляют комментарии, можно написать и туда!
Для чего это нужно?
Вся суть сводится к тому, что неплохо бы стандартные платы Arduino было бы прошивать не по проводу, а на лету по воздуху. Да и приятно изменять код удаленно, или даже просто иметь доступ к Wi-Fi сетям. И тут начинается – вначале не было ничего хорошего, пока китайцы из Espressif не показали рынку свою ESP8266 – классный модуль с широким функционалом.
Крутая цена и возможности сделали этот модуль по-настоящему народным. Его даже теперь встраивают в некоторые платы – например, в Arduino Uno WiFi. А как итог – подключили раз, и можно менять прошивки удаленно без использования паяльника. Старперы индустрии люто плачут на этом месте (но провод тоже никто не отменял).
С первого варианта прошло уже достаточно много времени, и сейчас уже есть где покопаться и из чего выбирать:
В общем интересная игрушка для тех, кто хочет поразвлекаться от создания каких-то автоматизированных систем умного дома с морем датчиков (начиная от температуры) до создания модных ныне меш-сетей по нашему профилю.
Характеристики
Тут уже голимый паблик, все и так известно по этой игрушке. Что у нас имеется на борту:
- 160 МГц, 32 бит
- IEEE 802.11 b/g/n, WEP/WPA/WPA2
- Флеш-память аж на 4 Мб, внешняя память до 16 Мб.
- 14 портов ввода-вывода, SPI, I2C, UART, 10-бит АЦП
- Питание – 2,2-3,6 В (оптимально 3,3 В, не сожгите пятивольниками), 300 мА (стандартная Ардуино не разгонит ее, лучше использовать доппитание)
- ОЗУ – примерно 50 Кб
- Кнопки перезагрузки и перепрошивки
- И все это за пару баксов – шоколадка в микроэлеткронике, можно заказывать тоннами на Aliexpress
Подключение
Этот раздел будет посвящен разным схемам подключения. Проще всего в таких случаях сразу же глянуть первое попавшееся видео от зачетного автора. Вот, например, вот это:
В видео выше не только про то, как подключить, но и общую информацию о плате со всеми ее фичами и информацией по всем вариантам прошивок – обязательно посмотрите, о таком в одном месте никто и не пишет. При этом рабочая версия – NodeMCU.
Остальным же рекомендуется искать свою распиновку и документацию в официальных источниках. Схема распиновки на примере ESP8266 12E:
Есть несколько вариантов плат и несколько ревизий с разным расположением светодиода – копайте мануалы под свой вариант. Здесь лишь общая ознакомительная бесполезная информация.
Подключение к Arduino Nano:
Подключение к Arduino Uno:
Помните, Arduino использует 5В, а ESP8266 до 3,6 В. При соединении используйте резистивные делители, иначе есть риск спалить контроллер.
Не забываем, что сам «модуль» по сути является полноценным микроконтроллером со встроенной памятью. Т.е. при желании можно его запрограммировать через тот же USB-UART, а не использовать для этого подключение через отдельную плату. Тем более встроенной памяти хватит на хранение нескольких весомых библиотек.
Про программирование
Хоть модуль и является сторонним, извращаться с поиском всевозможных программ здесь не нужно. Базовая Arduino IDE все поддерживает из коробки, нужно лишь выбрать в списке нашу 8266 и уже будут доступны базовые программы, начиная от стандартного моргания диода через USB-UART (хеллоу ворлд епта, пример будет в видео ниже).
Про питание
Это прям начальная дилемма этой платы. Она требует 3,3 В и 300 мА. Та же Arduino Nano или просто USB-UART не вывозят такого тока – заранее нужно позаботиться о питании. Существующие варианты:
- Покупка блока питания на 3,3 В – существуют такие, самый простой и скорее верный вариант.
- Покупка модуля для понижения напряжения 5 В -> 3,3 В. Тоже доступно и удобно.
- Самопальные сборки (на том же Хабре видел пример на базе регулятора AMS1117 и конденсатора 22 мкФ) – кто ищет, тот всегда найдет решение в любой непонятной ситуации. А для втянувшихся с головой в микроэлектронику подобные деяния просто мастхэв.
Платы со встроенным ESP8266
Вот основной список плат с уже встроенным ESP8266 и всем доступным для него функционалом:
Последняя в списке Arduino Uni WiFi – это уже упоминаемый ТОП в платостроении. Именно на ней создают многие интересные проекты. И она как раз из коробки позволяет перепрошивать себя по воздуху (режима OTA – Firmware Over The Air). А вот и видеообзор этого чуда с характеристиками, подключением, базовым использованием:
Вот и все. Задача нашего проекта освещать все Wi-Fi события, и платы для Arduino тоже находятся в этом поле. Но специфичные задачи по созданию классных домашних проектов лучше изучать уже на специализированных ресурсах. Здесь же только общий обзор и пара занимательных на наш взгляд видеороликов. Надеемся, что с возможностями этой платы и подключением к интернету задачи ваших проектов достигнут новых высот. Всем до связи, ваш WiFiGid.