Модуль WeMos D1
WEMOS D1 Mini - це WiFi мікроконтролер на базі ESP8266, розроблений компанією Espressif System та використовується для додатків Інтернету Речей (IoT). WEMOS D1 Mini має загалом 18 цифрових пінів вводу/виводу, з яких 4 використовуються як піни широтно-імпульсної модуляції (ШІМ). Така кількість пінів вводу/виводу полегшує роботу багатьом виробникам проектів, оскільки вони можуть підключити до нього безліч пристроїв.
WEMOS D1 Mini - це справді невелика, але потужна плата, яка має можливості, подібні до будь-якої іншої плати, але з однією перевагою: вона споживає менше енергії через низьке енергоспоживання. Крім того, WEMOS D1 Mini має вбудований завантажувач (boot loader), що полегшує прошивку плати програмою, яку ми хочемо виконати.
WEMOS D1 Mini має бездротовий модуль Wi-Fi ESP8266 (ESP-12). На платі UART-USB адаптер на чіпі CH340. У комплекті набір пін-роз'ємів, 3 комплекти.
Ось і все у вступі до WEMOS D1 Mini, тепер давайте розглянемо компоненти плати:
Компоненти плати WEMOS D1 Mini
- Мікроконтролер – WEMOS D1 Mini заснований на ESP8266 і має процесор Tensilica Xtensa Diamond 32-біт.
- SoC ESP8266EX – ESP8266EX SoC – це самодостатній системний кристал (SOC) з інтегованим стеком протоколу TCP/IP, який може надати будь-якому мікроконтролеру доступ до вашої WiFi мережі.
- Стабілізатор напруги 3.3V – На платі доступний стабілізатор напруги 3.3V, який використовується для регулювання вхідної напруги, щоб плата не пошкодилася.
- Антена – WEMOS D1 Mini має вбудовану антену, яка використовується для підключення плати до Wi-Fi. Наявність вбудованої антени допомагає спростити конструкцію, усуваючи потребу у зовнішній антені.
- Індикатор – У модулі WiFi WEMOS D1 Mini присутній вбудований світлодіод, підключений до виводу D4 ( GPIO2 ). Він використовується для індикації живлення, статусу мережі або для цілей користувача.
- Кнопка RESET – На платі доступна кнопка RESET, яка використовується для перезавантаження плати за необхідності.
Специфікації плати WEMOS D1 Mini
| Плата | ESP8266 WeMos D1 Mini |
|---|---|
| Мікроконтролер | ESP8266 |
| Процесор | Tensilica Xtensa Diamond 32-біт |
| Цифрові піни вводу/виводу (з ШІМ) | 11 (11) |
| Аналогові піни вводу | 1 |
| Роздільна здатність АЦП | 10 біт (0…1023) |
| Аналогові піни виводу | 0 |
| Інтерфейси | SPI 1/ UART 1/ I2C 1/ I2S 1 |
| Флеш пам'ять | 4 МБ |
| SRAM | 64 КБ |
| EEPROM | 512 байт |
| Тактова частота | 80/160 МГц |
| Довжина x Ширина | 34мм x 26мм |
| WIFI | IEEE 802.11 b/g/n |
| Наявність Bluetooth та сенсора дотику | Ні |
| Підключення USB | micro USB |
| Програмований у | Arduino IDE, LuaNode SDK, Micropython |
| Стабілізатор напруги 3.3V | Так |
Енергоспоживання WEMOS D1 Mini
| Загальне споживання струму | 0.13 mA |
|---|---|
| Вихідна напруга | 3.3V |
| Максимальна вхідна напруга | 6V |
| Мінімальна вхідна напруга | 4.3V |
| Максимальний вихідний струм | 500mA |
| Легкий сон [mA] | 0.68 |
| Глибокий сон [mA] | 0.17 |
| Максимальний постійний струм на пін I/O | 12 mA |
Розведення пінів (Pinout) WEMOS D1 Mini
| Пін | Функція | Відповідність піну ESP-8266 |
|---|---|---|
| TX | TXD | GPIO 1 |
| RX | RXD | GPIO 3 |
| A0 | Аналоговий ввід, макс. вхідна напруга 3.3V | A0 |
| D0 | Ввід/Вивід | GPIO16 |
| D1 | Ввід/Вивід, SCL | GPIO5 |
| D2 | Ввід/Вивід, SDA | GPIO4 |
| D3 | Ввід/Вивід, Підтяжка 10к до живлення | GPIO0 |
| D4 | Ввід/Вивід, Підтяжка 10к до живлення, BUILTIN_LED | GPIO2 |
| D5 | Ввід/Вивід, SCK | GPIO14 |
| D6 | Ввід/Вивід, MISO | GPIO12 |
| D7 | Ввід/Вивід, MOSI | GPIO13 |
| D8 | Ввід/Вивід, Підтяжка 10к до землі, SS | GPIO15 |
| G | Земля (Ground) | GND |
| 5V | 5V | – |
| 3V3 | 3.3V | 3.3V |
| RST | Скидання (Reset) | RST |
Піни живлення
Пін 5V
Пін 5V використовується як вихід для зовнішніх компонентів. Вихідна напруга - 5V. Джерелом живлення для піна
5V є роз'єм USB, або можна сказати, що цей пін використовується лише тоді, коли плата живиться від USB.
Пін 3V3
Пін 3V3 використовується як вихідний пін, який живить зовнішню схему. Цей пін генерує вихідну напругу 3.3
вольта.
Пін RESET
Пін RESET використовується для скидання мікроконтролера. Для скидання мікроконтролера необхідно опустити цей
пін до низького рівня (LOW).
Піни вводу-виводу
Цифрові піни вводу/виводу
На платі WEMOS D1 Mini доступно загалом 9 цифрових пінів вводу/виводу. Цифрові піни використовуються як вхід
або вихід відповідно до вимог. Цифрові піни можуть зчитувати лише два значення:
- Високий рівень (High)
- Низький рівень (Low)
Однак ми можемо використовувати "1" для стану HIGH та "0" для стану LOW. Коли ці піни отримують 0V, вони знаходяться в стані LOW, а коли отримують 3.3V - у стані HIGH.
Цифрові піни на платі WEMOS D1 Mini - це D0 до D8.
| № | Номер піна | Тип | Назва піна |
|---|---|---|---|
| 1 | D0 | Ввід/Вивід | Цифровий пін вводу/виводу |
| 2 | D1 | Ввід/Вивід | Цифровий пін вводу/виводу |
| 3 | D2 | Ввід/Вивід | Цифровий пін вводу/виводу |
| 4 | D3 | Ввід/Вивід | Цифровий пін вводу/виводу |
| 5 | D4 | Ввід/Вивід | Цифровий пін вводу/виводу |
| 6 | D5 | Ввід/Вивід | Цифровий пін вводу/виводу |
| 7 | D6 | Ввід/Вивід | Цифровий пін вводу/виводу |
| 8 | D7 | Ввід/Вивід | Цифровий пін вводу/виводу |
| 9 | D8 | Ввід/Вивід | Цифровий пін вводу/виводу |
Аналоговий пін
На платі WEMOS D1 Mini доступний лише 1 аналоговий пін. Аналоговий пін вводу використовується для отримання
сигналу від аналогових датчиків та подальшого перетворення його в цифрове значення. На відміну від цифрових
пінів, аналогові піни можуть отримувати будь-яке значення. Вони можуть отримувати значення не лише у стані
high або low, але й в інших формах. Аналоговий пін плати - це пін A0.
| № | Номер піна | Тип | Назва піна |
|---|---|---|---|
| 1 | A0 | Вхід | Канал аналогового вводу 0 |
Піни ШІМ (PWM)
На WEMOS D1 Mini доступно загалом 9 пінів, які також відомі як піни Широтно-Імпульсної Модуляції (ШІМ).
Завдання цих пінів ШІМ - перетворювати цифрові входи на аналоговий вихід. Ці піни забезпечують 8-бітний
вихід
ШІМ за допомогою функції analogWrite(). Піни ШІМ плати WEMOS D1 Mini - це D0, D1, D2, D3, D4, D5, D6, D7 та
D8.
| № | Номер піна | Тип | Назва піна |
|---|---|---|---|
| 1 | D0/ШІМ | Ввід/Вивід | Цифровий пін вводу/виводу, Пін ШІМ |
| 2 | D1/ШІМ | Ввід/Вивід | Цифровий пін вводу/виводу, Пін ШІМ |
| 3 | D2/ШІМ | Ввід/Вивід | Цифровий пін вводу/виводу, Пін ШІМ |
| 4 | D3/ШІМ | Ввід/Вивід | Цифровий пін вводу/виводу, Пін ШІМ |
| 5 | D4/ШІМ | Ввід/Вивід | Цифровий пін вводу/виводу, Пін ШІМ |
| 6 | D5/ШІМ | Ввід/Вивід | Цифровий пін вводу/виводу, Пін ШІМ |
| 7 | D6/ШІМ | Ввід/Вивід | Цифровий пін вводу/виводу, Пін ШІМ |
| 8 | D7/ШІМ | Ввід/Вивід | Цифровий пін вводу/виводу, Пін ШІМ |
| 9 | D8/ШІМ | Вхід | Цифровий пін вводу/виводу, Пін ШІМ |
Піни комунікації WEMOS D1 Mini
Піни I2C
Плата WEMOS D1 Mini підтримує протокол комунікації I2C. Абревіатура розшифровується як "Inter-Integrated
Circuit" (Між-мікросхемна шина). Це дво-провідний послідовний протокол зв'язку. Він використовує два піни
для
комунікації. Один з них використовується для надсилання даних, тоді як інший пін використовується для
отримання даних.
Два піни протоколу I2C - це "Пін тактового сигналу (SCL)" та "Пін послідовних даних (SDA)".
- SCL – Визначається як лінія або пін, який передає тактові дані. Пін SCL використовується для синхронізації передачі даних між двома пристроями. Цей сигнал генерується основним пристроєм (master). Це тактова лінія.
- SDA – Визначається як лінія або пін, який використовується підлеглими пристроями (slave) для надсилання та отримання даних. Це лінія даних.
Піни I2C на платі - це D2 (SDA) та D1 (SCL).
| № | Номер піна | Тип | Назва піна |
|---|---|---|---|
| 1 | D2/SDA | Ввід/Вивід | Цифровий пін вводу/виводу, Пін послідовних даних |
| 2 | D1/SCL | Ввід/Вивід | Цифровий пін вводу/виводу, Пін тактового сигналу |
Піни SPI
Плата WEMOS D1 Mini підтримує "Напів-периферійний протокол зв'язку" або SPI. Протокол SPI використовується
для
встановлення зв'язку між основним пристроєм (controller) та його периферійними пристроями. Для протоколу
комунікації SPI потрібно три піни:
- MISO – Расшифровується як Master Input/Slave Output (Вхід майстра/Вихід веденого). Ця лінія даних надсилає дані на основний пристрій (master).
- MOSI – Расшифровується як Master Output/Slave Input (Вихід майстра/Вхід веденого). Ця лінія даних використовується для надсилання даних на ведені/периферійні пристрої.
- SCK – Цей пін використовується для синхронізації передачі даних між основним та веденим пристроєм.
Піни SPI на платі - це D5 (SCK), D6 (MISO) та D7 (MOSI).
Піни MISO та MOSI також відомі як CIPO та COPI, що означає "Controller In Peripheral Out" (Вхід контролера, Вихід периферії) та "Controller Out Peripheral In" (Вихід контролера, Вхід периферії) відповідно.
| № | Номер піна | Тип | Назва піна |
|---|---|---|---|
| 1 | D5/SCK | Вихід | Тактовий сигнал від майстра до веденого |
| 2 | D6/MISO | Ввід/Вивід | Вхід майстра, вихід веденого |
| 3 | D7/MOSI | Ввід/Вивід | Вихід майстра, вхід веденого |
Піни UART
WEMOS D1 Mini має протокол комунікації UART, який використовується для послідовної передачі даних. Для
комунікації потрібно два піни: Rx та TX.
- RX – Цей пін використовується для передачі послідовних даних.
- TX – Цей пін використовується для прийому послідовних даних.
Піни UART на платі - це GPIO1 (TX) та GPIO3 (RX).
| № | Номер піна | Тип | Назва піна |
|---|---|---|---|
| 1 | TX | Ввід/Вивід | Пін послідовної передачі (TX) |
| 2 | RX | Ввід/Вивід | Пін послідовного прийому (RX) |
Пін GND (Земля)
Цей пін використовується як пін землі (ground) плати.
| № | Номер піна | Тип | Назва піна |
|---|---|---|---|
| 1 | GND | Живлення | Земля (Ground) |
Принципова схема
Програмування WEMOS D1 Mini
Програмування Wemos D1 Mini, зазвичай виконується за допомогою середовища розробки Arduino IDE. Процес включає кілька кроків для налаштування середовища та завантаження коду.
1. Встановіть середовище розробки Arduino: Якщо він ще не встановлений, завантажте та встановіть Arduino IDE з офіційного веб-сайту Arduino.
2. Додайте URL-адресу менеджера плат ESP8266: Відкрийте середовище розробки Arduino IDE та перейдіть за адресою File > Preferences. У полі «Додаткові URL-адреси менеджера плат» додайте таку URL-адресу: http://arduino.esp8266.com/stable/package_esp8266com_index.json
3. Встановлення плат ESP8266: Перейдіть до розділу Tools > Board > Boards Manager. Знайдіть «esp8266» та встановіть пакет «esp8266 від ESP8266 Community».
4. Виберіть міні-плату Wemos D1: Після встановлення перейдіть до розділу Tools > Boardта виберіть «WeMos D1 R2 & Mini» (або аналогічний варіант для вашої конкретної версії D1 Mini).
5. Виберіть правильний COM-порт: Підключіть Wemos D1 Mini до комп'ютера за допомогою USB-кабелю. Перейдіть до розділу Tools > Portта виберіть COM-порт, що відповідає підключеному D1 Mini. Конкретна назва порту залежатиме від вашої операційної системи та драйверів.
6. Напишіть або відкрийте ескіз: Ви можете написати нову програму (скеч) в середовищі розробки Arduino IDE або відкрити існуючий приклад. Для базового тесту відкрийте приклад "Blink" з File > Examples > 01. Basics > Blink.
7. Завантажте ескіз: Натисніть кнопку «Завантажити» (значок стрілки праворуч) в середовищі розробки Arduino. IDE скомпілює код, а потім завантажить його на ваш Wemos D1 Mini. Під час процесу завантаження ви можете побачити індикатор виконання, а вбудований світлодіод на D1 Mini може швидко блимати.
8. Перевірте функціональність: Після завершення завантаження D1 Mini перезавантажиться та виконає завантажений код. У прикладі "Blink" вбудований синій світлодіод повинен почати блимати з заданим інтервалом, підтверджуючи успішне програмування. Виконуючи ці кроки, ви можете успішно запрограмувати свій Wemos D1 Mini за допомогою Arduino IDE для різних проектів та застосувань Інтернету речей.
Часті запитання
Питання 1 – Яка різниця між Arduino Uno та WeMos D1?
Відповідь – WEMOS D1 має потужніший процесор, який працює на більшій частоті, ніж Arduino
UNO. Крім того, WEMOS D1 mini має 160 КБ оперативної пам'яті, тоді як Arduino UNO має лише 2 КБ
оперативної
пам'яті.
Питання 2 – Які переваги використання WeMos D1 mini?
Відповідь – Перевага використання WEMOS D1 Mini полягає в тому, що його можна
використовувати
як автономний пристрій для обробки кожного коду без використання Arduino як його мікроконтролера.