Каталог товарів
Клієнту
Тема сайту:
+38 (066) 305-77-25
Наша адреса
Харків, тимчасово - доставка тільки Новою Поштою, УкрПоштою, МістЕкспрес, ROZETKA Delivery
Телефони
Графік роботи
  • Пн-Пт: з 9 до 18
  • Сб: з 10 до 17
  • Нд: з 11 до 16
E-mail
Ми в соцмережах
Перейти до контактів
0 0
Каталог
Головна
Закладки
0
Порівняти
0
Контакти

ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC

Виробник: Китай Код товару: 1237
3
Все про товар
Опис
Характеристики
Відгуки 3
Питання1
FAQ
Інструкція
Бестселер
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
В наявності
Код товару: 1237
109.00 грн
Знайшли дешевше?
🚚 Відправка в день замовлення при оформленні до 15:00. Увага!
-Вхідна напруга-:4.5 - 5.5 В
-Інтерфейс-:Wi-Fi 802.11 b/g/n, UART, I2C, SPI, GPIO
-Флеш-пам'ять-:4 МБ
-Мікроконтролер-:ESP8266
-Тип роз'єму-:Micro-USB, Type-C
-Розміри-:59,5 х 31,2 х 12,5 мм
Доставка
Новою Поштою у відділення та поштомати Новою Поштою у відділення та поштомати
від 80 ₴
ROZETKA Delivery ROZETKA Delivery
Фіксована 49грн
Укрпоштою у відділення по Україні Укрпоштою у відділення по Україні
від 45 ₴
Meest Express Meest Express
від 60 ₴
Оплата
Оплата карткою Оплата карткою
Переказ на картку Переказ на картку
Оплата на IBAN Оплата на IBAN
Безготівковий розрахунок Безготівковий розрахунок
Післяплата Післяплата
Гарантійні положення
Гарантійні зобов'язання на товари, які були паяні, не поширюються
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
109.00 грн
Опис

📶 NodeMCU ESP8266 CH340 — Wi-Fi Модуль з MicroUSB/Type-C

Готова відлагоджувальна плата для швидкого прототипування IoT-проєктів

Загальний опис

NodeMCU ESP8266 CH340 — це універсальна відлагоджувальна плата, розроблена для швидкого старту в світі IoT та бездротових проєктів. На основі потужного мікроконтролера ESP8266 та модуля ESP-12F, ця плата поєднує в собі високу обчислювальну потужність 32-бітного процесора, 4 МБ флеш-пам'яті та вбудований Wi-Fi. Завдяки інтегрованому USB-контролеру CH340, програмування здійснюється напряму через комп'ютер без додаткових пристроїв. NodeMCU має зручну систему виводів, сумісну зі стандартними макетними платами, вбудований стабілізатор напруги та кнопки перезавантаження і програмування. Ідеальне рішення як для початківців, які вперше знайомляться з IoT, так і для досвідчених розробників, що потребують надійну платформу для складних проєктів розумного дому, бездротових датчиків та автоматизації.

✅ Технічні переваги:

  • Потужний процесор з великою пам'яттю – 32-бітний процесор Tensilica L106 з тактовою частотою 80 МГц (з можливістю розгону до 160 МГц), 50 КБ оперативної пам'яті та 4 МБ флеш-пам'яті для зберігання програм і даних
  • Вбудований USB-інтерфейс – інтегрований конвертер CH340 забезпечує пряме підключення до комп'ютера через MicroUSB/Type-C порт для зручного програмування та живлення без додаткових адаптерів
  • Повна Wi-Fi функціональність – бездротовий зв'язок за стандартом 802.11 b/g/n (2.4 ГГц) з підтримкою режимів клієнта, точки доступу або їх комбінації, що дозволяє інтегрувати пристрій у будь-яку мережеву інфраструктуру
  • Зручне живлення та макетування – вбудований стабілізатор напруги дозволяє живити плату через USB, пін VIN (5-12В) або зовнішнє джерело 3.3В, а стандартний крок виводів 2.54 мм забезпечує сумісність з макетними платами
  • Багатоплатформена розробка – сумісність з різними програмними середовищами (Arduino IDE, PlatformIO, MicroPython, LUA) та готові бібліотеки для інтеграції з популярними веб-сервісами та платформами розумного дому

🔧 Ідеальне рішення для:

Розумний дім

Бездротові датчики

Дистанційне керування

Веб-сервери

Освітні проєкти

Автоматизація

Моніторинг клімату

Прототипування IoT

💡 Широкі можливості застосування:

  • Інтелектуальні системи керування мікрокліматом – створіть повноцінну систему моніторингу та керування мікрокліматом у вашому домі. NodeMCU може зчитувати дані з датчиків температури, вологості, тиску, CO2, керувати кондиціонерами, зволожувачами та вентиляцією за розкладом або дистанційно. Завдяки Wi-Fi модулю, ви зможете переглядати статистику, отримувати повідомлення та керувати системою віддалено через смартфон з будь-якої точки світу.
  • Бездротове керування реле та електроприладами – перетворіть звичайні електроприлади на "розумні" за допомогою NodeMCU. Плата може керувати модулями реле для вмикання/вимикання світла, розеток, насосів, електромагнітних клапанів або інших пристроїв через веб-інтерфейс, мобільний додаток або за розкладом. Гнучкі налаштування дозволяють створювати сценарії автоматизації, наприклад, вмикати освітлення при настанні темряви або керувати поливом залежно від вологості ґрунту.
  • Система безпеки та сповіщення – розробіть бюджетну, але ефективну систему безпеки вашого дому або офісу. NodeMCU може обробляти сигнали з датчиків руху, відкриття дверей/вікон, розбиття скла, диму, газу та надсилати миттєві сповіщення на ваш телефон. За допомогою невеликої камери OV2640 можна налаштувати систему відеоспостереження з функцією виявлення руху та запису на microSD карту або відправкою знімків через інтернет.
  • Веб-сервер для IoT-проєктів – завдяки значному об'єму пам'яті та функціональності Wi-Fi, NodeMCU може виступати як повноцінний веб-сервер. Створіть веб-інтерфейс з інтерактивними елементами для керування пристроями, візуалізації даних у реальному часі через графіки та діаграми. Додайте можливість налаштування через веб-браузер без необхідності перепрограмування пристрою. Використання AJAX та WebSockets забезпечить оновлення даних без перезавантаження сторінки.
  • Інтеграція з популярними екосистемами розумного дому – NodeMCU ідеально підходить для інтеграції з такими платформами як Home Assistant, OpenHAB, ThingSpeak, Blynk, IFTTT, Google Home або Amazon Alexa. Використовуючи готові бібліотеки для MQTT, HTTP або WebSockets, ви можете підключити власні пристрої до існуючої екосистеми розумного дому та керувати ними голосом, через додатки або автоматизувати за допомогою сценаріїв. Це відкриває широкі можливості для створення повноцінної системи розумного дому з мінімальними витратами.

📦 Детальні технічні характеристики:

  • Основні компоненти:
    • Мікроконтролер: ESP8266 (модуль ESP-12F)
    • Процесор: Tensilica L106, 32-біт, частота 80 МГц (можливий розгін до 160 МГц)
    • Продуктивність: до 600 DMIPS (в 10 разів швидше, ніж Arduino Uno)
    • USB-конвертер: CH340 для програмування та зв'язку з комп'ютером
  • Пам'ять:
    • Оперативна пам'ять (RAM): ~50 КБ доступно для програм користувача
    • Флеш-пам'ять: 4 МБ для програм та файлової системи SPIFFS
  • Бездротовий зв'язок:
    • Wi-Fi: IEEE 802.11 b/g/n, 2.4 ГГц
    • Режими: станція (STA), точка доступу (AP), або обидва одночасно
    • Безпека: WPA/WPA2, WEP, TKIP, AES
    • Антена: вбудована PCB-антена
    • Підтримка мережевих протоколів: TCP/IP, UDP, HTTP, FTP, MQTT
  • Виводи та інтерфейси:
    • GPIO: 11 цифрових пінів вводу/виводу (D0-D8, TX/D9, RX)
    • ШІМ (PWM): апаратно підтримується на 4 пінах, програмно - майже на всіх
    • Аналоговий вхід: 1 (A0) з діапазоном 0-1В (10-бітний АЦП, 0-1023)
    • Послідовний інтерфейс (UART): апаратний, виведений на піни RX/TX
    • SPI: апаратна підтримка
    • I2C: програмна реалізація (зазвичай на пінах D1/SCL та D2/SDA)
    • I2S: для роботи з аудіо
  • Живлення:
    • USB порт: MicroUSB або Type-C (залежно від версії)
    • Вхідна напруга: 5В через USB або 4.8-15В через пін VIN
    • Робоча напруга мікроконтролера: 3.3В (вбудований стабілізатор)
    • Вихід живлення: пін 3V3 для живлення зовнішніх модулів (до 500 мА)
    • Максимальний струм виводу GPIO: 12 мА
  • Фізичні характеристики:
    • Розміри: 49 x 26 x 13 мм
    • Крок виводів: стандартний 2.54 мм (сумісний з макетними платами)
    • Кнопки: RESET (RST) та FLASH (для програмування)
    • Світлодіод: вбудований (зазвичай на піні D4)
    • Робоча температура: -40°C до +125°C
  • Програмне забезпечення:
    • Підтримка Arduino IDE (із встановленим пакетом ESP8266)
    • Сумісність з PlatformIO
    • Підтримка MicroPython
    • Підтримка Node.js (NodeMCU - середовище на основі Lua)
    • Можливість OTA-оновлень (Over The Air) через Wi-Fi

⚠️ Важливі аспекти використання:

  • Несумісність з 5В логікою – мікроконтролер ESP8266 працює з логічним рівнем 3.3В, тому безпосереднє підключення 5В сигналів (наприклад, від Arduino) до пінів NodeMCU може пошкодити модуль. При роботі з 5В пристроями використовуйте конвертер логічних рівнів або простий дільник напруги (для вхідних сигналів). Виняток: живлення через пін VIN може бути 5В або вище, оскільки на платі встановлено стабілізатор напруги.
  • Обмеження аналогового входу – на відміну від Arduino, єдиний аналоговий вхід A0 на NodeMCU працює в діапазоні 0-1В (не 0-5В), що обмежує його пряме використання з багатьма датчиками. Для роботи з датчиками, що видають сигнал вище 1В, потрібно використовувати дільник напруги або зовнішній АЦП (наприклад, ADS1115 через I2C). Пам'ятайте, що подача напруги вище 1В на пін A0 може призвести до некоректних вимірювань або пошкодження модуля.
  • Особливості використання GPIO пінів – деякі піни NodeMCU мають специфічні функції при завантаженні, що обмежує їх використання: GPIO0 (D3) використовується для переходу в режим програмування (повинен бути HIGH при нормальному старті); GPIO15 (D8) повинен бути LOW при старті; GPIO2 (D4) повинен бути HIGH при завантаженні. До піну D4 також підключено вбудований світлодіод (активний рівень LOW), що слід враховувати при використанні цього піну.
  • Оптимізація енергоспоживання для автономних пристроїв – модуль ESP8266 споживає значну енергію (до 70-80 мА) при активному Wi-Fi. Для проєктів з батарейним живленням використовуйте режими глибокого сну (deep sleep) з періодичними пробудженнями для передачі даних. Для входу в режим глибокого сну потрібно з'єднати пін D0 (GPIO16) з RST. У глибокому сні споживання знижується до ~20 мкА, проте пам'ять програми очищається, і при пробудженні скетч запускається заново з setup().
  • Налаштування середовища розробки – для програмування NodeMCU через Arduino IDE необхідно встановити драйвер CH340 (якщо він ще не встановлений у вашій системі) і додати підтримку ESP8266 через менеджер плат (URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json). При виборі плати вказуйте "NodeMCU 1.0 (ESP-12E Module)". Для досягнення найкращої продуктивності рекомендується встановити розмір флеш-пам'яті "4MB (FS:2MB OTA:~1019KB)" та частоту процесора "80 MHz" (або "160 MHz" для вимогливих додатків, але з вищим енергоспоживанням).

NodeMCU ESP8266 — це ідеальний старт для входу у світ IoT та розумного дому! Потужний мікроконтролер, вбудований Wi-Fi модуль, повна сумісність з Arduino та зручний USB-інтерфейс роблять цю плату універсальним рішенням для ваших творчих ідей. Розпочніть свою подорож у світ бездротових технологій зі справжньою легендою серед IoT-плат!

ЗАМОВТЕ ЗАРАЗ
#NodeMCU #ESP8266 #WiFiМодуль #IoT #РозумнийДім #Arduino

Micro-USB, Type-C, вайфай

Характеристики
-Основні-
-Вхідна напруга-
4.5 - 5.5 В
-Інтерфейс-
Wi-Fi 802.11 b/g/n, UART, I2C, SPI, GPIO
-Флеш-пам'ять-
4 МБ
-Мікроконтролер-
ESP8266
-Тип роз'єму-
Micro-USB, Type-C
-Додаткові-
-Розміри-
59,5 х 31,2 х 12,5 мм
Відгуки
Рейтинг товару:
5
Відгуків: 3
5
3
4
0
3
0
2
0
1
0
Григорій
21 грудня 2024 (13:25)
Замовляв один для тесту. Відправили швидко, все згідно опису. Перевірив - працює без нарікань. Буду замовляти ще!
+
Переваги товару:

Ціна, якість

Константин
06 грудня 2023 (21:34)
Все пришло в идеальном состоянии и быстро
Все как описано на сайте
Продавцам 5 за оперативность
Відповідь:
Дякуємо
Oleksii
23 листопада 2023 (17:43)
Брав 2 штуки Type-C - працюють без проблем
Питання та відповіді
Додайте питання, і ми відповімо найближчим часом.
Сергій
04 серпня 2024 (13:10)

Шановні, підскажіть, хто знає: як залити на цю плату скетч через Arduino IDE? Я знайти цю плату серед списку доступних плат?

Відповідь:
04 серпня 2024 (13:13)
В інтернеті є багато інформації: якщо коротко - завантажити через менеджер плат "ESP8266" та обрати відповідну з списку
Інструкція

⚡ Інструкція підключення NodeMCU ESP8266 CH340

Wi-Fi Модуль з MicroUSB/Type-C, 4MB Flash, для IoT та DIY-Проєктів

1. Ідентифікація та основні компоненти

NodeMCU ESP8266 — це плата розробки на основі мікросхеми ESP-12E/F з вбудованим Wi-Fi модулем, конвертером USB-UART на базі чіпа CH340 та стабілізатором напруги для зручного програмування та роботи.

flowchart TD
    subgraph NodeMCU["NodeMCU ESP8266 (вигляд зверху)"]
      direction TB
      
      subgraph Components["Основні компоненти"]
        ESP["ESP8266EX
мікроконтролер"] CH340["CH340
USB-UART конвертер"] AMS["AMS1117
стабілізатор 3.3В"] LUSB["MicroUSB/Type-C
порт"] FLASH["4MB Flash
пам'ять"] RST["Кнопка Reset"] FLASH_BTN["Кнопка Flash"] LED["Синій світлодіод
(GPIO16/D0)"] end subgraph Pins["Виводи"] direction TB subgraph LeftPins["Ліва сторона"] direction TB L1["A0"] --- L2["RSV"] --- L3["RSV"] --- L4["SD3/D10"] --- L5["SD2/D9"] --- L6["SD1/MOSI"] --- L7["CMD/CS"] --- L8["SD0/MISO"] --- L9["CLK/SCLK"] end subgraph RightPins["Права сторона"] direction TB R1["3V3"] --- R2["GND"] --- R3["TX"] --- R4["RX"] --- R5["D8"] --- R6["D7"] --- R7["D6"] --- R8["D5"] --- R9["GND"] --- R10["3V3"] --- R11["D4"] --- R12["D3"] --- R13["D2"] --- R14["D1"] --- R15["D0"] --- R16["GND"] --- R17["Vin"] end end end classDef comp fill:#b3e0ff,stroke:#333,stroke-width:2px classDef pin fill:#f96,stroke:#333,stroke-width:2px class ESP,CH340,AMS,LUSB,FLASH,RST,FLASH_BTN,LED comp class L1,L2,L3,L4,L5,L6,L7,L8,L9,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R17 pin

Відповідність GPIO та позначень на платі:

Позначення на платі GPIO (ESP8266) Функція
D0 GPIO16 Вхід/вихід, функції wake-up
D1 GPIO5 Вхід/вихід, SCL
D2 GPIO4 Вхід/вихід, SDA
D3 GPIO0 Вхід/вихід, завантаження (FLASH)
D4 GPIO2 Вхід/вихід, вбудований світлодіод
D5 GPIO14 Вхід/вихід, SCK
D6 GPIO12 Вхід/вихід, MISO
D7 GPIO13 Вхід/вихід, MOSI
D8 GPIO15 Вхід/вихід, CS
RX GPIO3 UART0_RX
TX GPIO1 UART0_TX
A0 ADC0 Аналоговий вхід (0-3.3В або 0-1В)
Пін A0 на NodeMCU підтримує вхідну напругу 0-3.3В, але на деяких версіях платформи вона може бути обмежена до 0-1В. Перевірте спецификацію вашої плати перед підключенням аналогових датчиків.

2. Необхідні компоненти для початку роботи

2.1. Базовий набір

  • Плата NodeMCU ESP8266 з чіпом CH340
  • Кабель MicroUSB або Type-C (залежно від версії плати)
  • Комп'ютер з USB-портом

2.2. Програмне забезпечення

  • Arduino IDE
  • Драйвер CH340 (якщо не встановлюється автоматично)

2.3. Додатково для проєктів (опціонально)

  • Макетна плата
  • З'єднувальні дроти
  • Датчики, світлодіоди, кнопки та інші компоненти для проєктів
На відміну від "голого" модуля ESP-12E, NodeMCU має вбудований USB-порт і готові виводи для безпосереднього підключення до макетної плати, тож не потребує додаткових адаптерів чи спеціальної обв'язки для програмування.

3. Підключення та налаштування

3.1. Підключення до комп'ютера

flowchart LR
    PC["Комп'ютер
USB-порт"] --> |"MicroUSB/Type-C
кабель"| NodeMCU["NodeMCU ESP8266
USB-порт"] subgraph Inside["Процеси всередині NodeMCU"] USB["USB-порт"] --> CH340["CH340
USB-UART конвертер"] CH340 --> |"UART (TX/RX)"| ESP["ESP8266
мікроконтролер"] AMS["AMS1117
стабілізатор"] --> |"3.3V"| ESP USB --> |"5V"| AMS end NodeMCU --- Inside classDef pc fill:#f9f,stroke:#333,stroke-width:2px classDef board fill:#9cf,stroke:#333,stroke-width:2px classDef comp fill:#fc9,stroke:#333,stroke-width:2px class PC pc class NodeMCU board class USB,CH340,ESP,AMS comp
  1. Підключіть кабель MicroUSB/Type-C до порту на платі NodeMCU.
  2. Підключіть інший кінець кабелю до USB-порту вашого комп'ютера.
  3. На платі має загорітися світлодіод живлення, що свідчить про правильне підключення.

3.2. Встановлення драйвера CH340

Більшість сучасних операційних систем автоматично встановлюють драйвер CH340. Якщо цього не сталося, виконайте наступні кроки.

Для Windows:

  1. Перевірте, чи розпізнається пристрій: відкрийте "Диспетчер пристроїв" (правою кнопкою миші на "Пуск" → "Диспетчер пристроїв").
  2. Якщо у розділі "Порти (COM та LPT)" є пристрій "USB-SERIAL CH340" — драйвер вже встановлено.
  3. Якщо пристрій відображається з жовтим знаком оклику або в розділі "Інші пристрої", потрібно встановити драйвер:
  4. Завантажте драйвер CH340/CH341 з офіційного джерела.
  5. Розпакуйте архів та запустіть інсталяційний файл (наприклад, CH341SER.EXE).
  6. Натисніть "Встановити" (Install) та дочекайтеся завершення встановлення.
  7. Перевірте "Диспетчер пристроїв" знову — пристрій має з'явитися в розділі "Порти (COM та LPT)".

Для macOS:

  1. Завантажте драйвер CH340 для macOS.
  2. Відкрийте завантажений файл та дотримуйтесь інструкцій інсталятора.
  3. Можливо, потрібно буде перезавантажити комп'ютер.
  4. Після перезавантаження підключіть NodeMCU знову.

Для Linux:

  1. Більшість дистрибутивів Linux вже мають підтримку CH340.
  2. Відкрийте термінал та виконайте команду: ls /dev/ttyUSB*
  3. Якщо ви бачите пристрій /dev/ttyUSB0 (або інший номер) — драйвер працює.
  4. Переконайтеся, що ваш користувач має доступ до пристрою: sudo usermod -a -G dialout $USER
  5. Перезавантажте комп'ютер або вийдіть та увійдіть знову для застосування змін.

4. Налаштування Arduino IDE

4.1. Встановлення Arduino IDE

  1. Завантажте Arduino IDE з офіційного сайту.
  2. Встановіть програму, дотримуючись інструкцій інсталятора.

4.2. Додавання підтримки плат ESP8266

  1. Запустіть Arduino IDE.
  2. Перейдіть до меню: Файл → Налаштування (або File → Preferences).
  3. У полі "Додаткові посилання для Менеджера плат" (Additional Boards Manager URLs) вставте:
  4. http://arduino.esp8266.com/stable/package_esp8266com_index.json
  5. Натисніть "OK".
  6. Перейдіть до меню: Інструменти → Плата → Менеджер плат... (або Tools → Board → Boards Manager...)
  7. У полі пошуку введіть "esp8266".
  8. Знайдіть "esp8266 by ESP8266 Community" та натисніть "Встановити" (Install).
  9. Дочекайтеся завершення встановлення та закрийте Менеджер плат.
flowchart TD
    A["Запустіть Arduino IDE"] --> B["Перейдіть: Файл → Налаштування"]
    B --> C["Додайте URL для ESP8266"]
    C --> D["Перейдіть: Інструменти → Плата → Менеджер плат..."]
    D --> E["Знайдіть та встановіть esp8266"]
    E --> F["Виберіть плату: NodeMCU 1.0"]
    F --> G["Виберіть COM-порт"]
    G --> H["Готово до програмування!"]
  

4.3. Вибір плати та порту

  1. Перейдіть до меню: Інструменти → Плата → ESP8266 Boards
  2. Виберіть NodeMCU 1.0 (ESP-12E Module)
  3. Перейдіть до меню: Інструменти → Порт
  4. Виберіть COM-порт, що відповідає вашому пристрою (наприклад, COM3 або /dev/ttyUSB0)
  5. Перевірте інші налаштування (можете залишити за замовчуванням):
    • Upload Speed: 115200
    • CPU Frequency: 80 MHz
    • Flash Size: 4MB (FS:1MB, OTA:~1MB)
Якщо ви не впевнені, який COM-порт вибрати, відключіть плату, подивіться список доступних портів, потім підключіть знову і виберіть порт, який з'явився.

5. Тестування плати

5.1. Завантаження тестового скетчу "Blink"

  1. В Arduino IDE перейдіть до меню: Файл → Приклади → ESP8266 → Blink
  2. Або створіть новий скетч і вставте цей код:
// Налаштування void setup() { // Вбудований світлодіод підключено до GPIO2 (D4 на NodeMCU) pinMode(LED_BUILTIN, OUTPUT); // Додатково ініціалізуємо Serial для відлагодження Serial.begin(115200); Serial.println("NodeMCU ESP8266 - Тест LED"); } // Основний цикл void loop() { // Вмикаємо світлодіод (LOW для ESP8266 вмикає світлодіод) digitalWrite(LED_BUILTIN, LOW); Serial.println("LED ON"); delay(1000); // Чекаємо 1 секунду // Вимикаємо світлодіод digitalWrite(LED_BUILTIN, HIGH); Serial.println("LED OFF"); delay(1000); // Чекаємо 1 секунду }

5.2. Завантаження скетчу на плату

  1. Натисніть кнопку "Завантажити" (стрілка вправо) в Arduino IDE.
  2. Дочекайтеся завершення компіляції.
  3. Під час завантаження на плату синій світлодіод може блимати, що є нормальним.
  4. Після завершення ви побачите повідомлення "Завантаження завершено" внизу.
  5. Вбудований світлодіод на платі має почати блимати з інтервалом в 1 секунду.

5.3. Перевірка через Монітор порту

  1. Відкрийте Монітор порту: Інструменти → Монітор порту (або натисніть іконку лупи у правому верхньому куті).
  2. Встановіть швидкість передачі даних 115200 бод (у правому нижньому куті вікна Монітора порту).
  3. Ви повинні бачити повідомлення "LED ON" і "LED OFF", що з'являються кожну секунду.
Якщо світлодіод блимає і ви бачите повідомлення в Моніторі порту, це означає, що ваша плата NodeMCU ESP8266 правильно підключена і налаштована!

6. Тестування Wi-Fi з'єднання

6.1. Скетч для сканування Wi-Fi мереж

  1. Відкрийте приклад WiFiScan: Файл → Приклади → ESP8266WiFi → WiFiScan
  2. Або створіть новий скетч з наступним кодом:
#include void setup() { Serial.begin(115200); Serial.println(); // Встановлюємо режим Wi-Fi як станція (клієнт) WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); Serial.println("Налаштування завершено"); } void loop() { Serial.println("Початок сканування..."); // WiFi.scanNetworks повертає кількість знайдених мереж int n = WiFi.scanNetworks(); Serial.println("Сканування завершено"); if (n == 0) { Serial.println("Мережі не знайдено"); } else { Serial.print(n); Serial.println(" мереж(і) знайдено"); for (int i = 0; i < n; ++i) { // Виведення SSID та RSSI для кожної мережі Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*"); delay(10); } } Serial.println(""); // Чекаємо 5 секунд перед наступним скануванням delay(5000); }

6.2. Завантаження та перевірка

  1. Натисніть кнопку "Завантажити" для завантаження скетчу на плату.
  2. Відкрийте Монітор порту (якщо він ще не відкритий).
  3. Ви повинні побачити список доступних Wi-Fi мереж з їхніми іменами (SSID) та рівнем сигналу (RSSI).
  4. Список оновлюватиметься кожні 5 секунд.
sequenceDiagram
    participant NodeMCU
    participant WiFi as WiFi Мережі
    participant Serial as Монітор Порту
    
    NodeMCU->>WiFi: Сканування (WiFi.scanNetworks())
    WiFi-->>NodeMCU: Список мереж
    NodeMCU->>Serial: Виведення результатів
    Note over NodeMCU,Serial: Для кожної мережі:
SSID, RSSI, Шифрування NodeMCU->>NodeMCU: delay(5000) NodeMCU->>WiFi: Повторне сканування

7. Підключення до Wi-Fi мережі

7.1. Простий клієнт Wi-Fi

#include // Налаштування Wi-Fi мережі const char* ssid = "Ваша_WiFi_Мережа"; const char* password = "Ваш_WiFi_Пароль"; void setup() { Serial.begin(115200); Serial.println(); Serial.print("Підключення до "); Serial.println(ssid); // Підключення до Wi-Fi мережі WiFi.begin(ssid, password); // Очікування підключення while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("Wi-Fi підключено"); Serial.print("IP-адреса: "); Serial.println(WiFi.localIP()); } void loop() { // Ваш код тут... }
Замініть "Ваша_WiFi_Мережа" та "Ваш_WiFi_Пароль" на реальні дані вашої Wi-Fi мережі перед завантаженням скетчу.

7.2. Створення власної точки доступу

#include #include // Налаштування точки доступу const char* ap_ssid = "NodeMCU_AP"; const char* ap_password = "12345678"; // Мінімум 8 символів ESP8266WebServer server(80); // Веб-сервер на порту 80 void setup() { Serial.begin(115200); Serial.println(); // Налаштування точки доступу Serial.print("Налаштування точки доступу... "); WiFi.softAP(ap_ssid, ap_password); IPAddress myIP = WiFi.softAPIP(); Serial.println("Готово"); Serial.print("IP-адреса точки доступу: "); Serial.println(myIP); // Налаштування веб-сервера server.on("/", handleRoot); server.begin(); Serial.println("Веб-сервер запущено"); } void loop() { server.handleClient(); // Обробка запитів клієнтів }
Після завантаження цього скетчу ви можете підключитися до Wi-Fi мережі "NodeMCU_AP" з паролем "12345678", а потім відкрити веб-браузер та перейти за адресою 192.168.4.1 для перегляду веб-сторінки, що обслуговується NodeMCU.

8. Підключення популярних компонентів

8.1. Підключення датчика DHT11/DHT22 (температура і вологість)

DHT11/DHT22 NodeMCU ESP8266
VCC 3V3
DATA D4 (GPIO2)
GND GND
#include #define DHTPIN D4 // Пін, до якого підключено датчик #define DHTTYPE DHT11 // Тип датчика (DHT11 або DHT22) DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(115200); Serial.println("Тест DHT датчика"); dht.begin(); } void loop() { // Зачекайте пару секунд між вимірюваннями delay(2000); // Зчитування вологості float h = dht.readHumidity(); // Зчитування температури в градусах Цельсія float t = dht.readTemperature(); // Перевірка, чи не сталася помилка if (isnan(h) || isnan(t)) { Serial.println("Помилка зчитування з DHT датчика!"); return; } Serial.print("Вологість: "); Serial.print(h); Serial.print("% Температура: "); Serial.print(t); Serial.println("°C"); }

8.2. Підключення OLED дисплея (I2C)

OLED Дисплей NodeMCU ESP8266
VCC 3V3
GND GND
SCL D1 (GPIO5)
SDA D2 (GPIO4)
#include #include #include #define SCREEN_WIDTH 128 // Ширина OLED в пікселях #define SCREEN_HEIGHT 64 // Висота OLED в пікселях // Ініціалізація дисплея Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); void setup() { Serial.begin(115200); // Ініціалізація дисплея if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println("Помилка ініціалізації SSD1306"); for(;;); // Нескінченний цикл } // Очищення дисплея display.clearDisplay(); // Налаштування тексту display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); // Виведення тексту display.println("NodeMCU ESP8266"); display.println("OLED Test"); display.println(""); display.println("Display initialized!"); // Оновлення дисплея display.display(); } void loop() { // Динамічне оновлення дисплея кожні 2 секунди display.clearDisplay(); display.setCursor(0, 0); display.println("NodeMCU ESP8266"); display.println("Running time:"); display.print(millis() / 1000); display.println(" seconds"); display.display(); delay(2000); }

8.3. Підключення реле

Модуль реле NodeMCU ESP8266
VCC 3V3
GND GND
IN D1 (GPIO5)
// Пін для керування реле const int relayPin = D1; // GPIO5 void setup() { Serial.begin(115200); // Налаштування піна реле як виходу pinMode(relayPin, OUTPUT); // Початкове значення - вимкнено (HIGH для реле з активним низьким рівнем) digitalWrite(relayPin, HIGH); Serial.println("Тест модуля реле"); Serial.println("Введіть '1' для увімкнення або '0' для вимкнення"); } void loop() { // Перевірка, чи є дані в серійному порті if (Serial.available() > 0) { char input = Serial.read(); if (input == '1') { // Увімкнути реле (LOW для реле з активним низьким рівнем) digitalWrite(relayPin, LOW); Serial.println("Реле увімкнено"); } else if (input == '0') { // Вимкнути реле digitalWrite(relayPin, HIGH); Serial.println("Реле вимкнено"); } } }
Більшість модулів реле мають активний низький рівень (LOW для увімкнення, HIGH для вимкнення). Переконайтеся, що ви правильно налаштували логіку керування для вашого конкретного модуля.

9. Веб-сервер для керування пристроями

#include #include // Налаштування Wi-Fi const char* ssid = "Ваша_WiFi_Мережа"; const char* password = "Ваш_WiFi_Пароль"; // Пін для керування пристроєм (наприклад, світлодіодом або реле) const int devicePin = D1; // GPIO5 // Створення веб-сервера на порту 80 ESP8266WebServer server(80); // Змінна для зберігання стану пристрою bool deviceState = false; void setup() { Serial.begin(115200); // Налаштування піна пристрою pinMode(devicePin, OUTPUT); digitalWrite(devicePin, LOW); // Початковий стан - вимкнено // Підключення до Wi-Fi WiFi.begin(ssid, password); Serial.print("Підключення до WiFi"); // Очікування підключення while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("Wi-Fi підключено"); Serial.print("IP-адреса: "); Serial.println(WiFi.localIP()); // Налаштування обробників для веб-сервера server.on("/", handleRoot); server.on("/on", handleOn); server.on("/off", handleOff); server.on("/toggle", handleToggle); server.onNotFound(handleNotFound); // Запуск веб-сервера server.begin(); Serial.println("Веб-сервер запущено"); } void loop() { // Обробка запитів клієнтів server.handleClient(); }

// Головна сторінка
void handleRoot() {
  String html = "";
  html += "";
  html += "";
  html += "NodeMCU Керування";
  html += "";
  html += "

NodeMCU ESP8266 Веб-сервер

"; html += "
Стан пристрою: "; html += deviceState ? "УВІМКНЕНО" : "ВИМКНЕНО"; html += "
"; html += "УВІМКНУТИ"; html += "ВИМКНУТИ"; html += "ПЕРЕМИКНУТИ"; html += ""; server.send(200, "text/html", html); }
// Обробник для увімкнення void handleOn() { deviceState = true; digitalWrite(devicePin, HIGH); Serial.println("Пристрій увімкнено"); server.sendHeader("Location", "/"); server.send(303); } // Обробник для вимкнення void handleOff() { deviceState = false; digitalWrite(devicePin, LOW); Serial.println("Пристрій вимкнено"); server.sendHeader("Location", "/"); server.send(303); } // Обробник для перемикання стану void handleToggle() { deviceState = !deviceState; digitalWrite(devicePin, deviceState ? HIGH : LOW); Serial.print("Пристрій "); Serial.println(deviceState ? "увімкнено" : "вимкнено"); server.sendHeader("Location", "/"); server.send(303); } // Обробник для сторінки не знайдено void handleNotFound() { server.send(404, "text/plain", "Сторінку не знайдено"); }
Після завантаження цього скетчу ви можете керувати пристроєм (LED, реле тощо) через веб-браузер, переходячи за IP-адресою вашого NodeMCU.

10. Використання режиму глибокого сну (Deep Sleep)

flowchart TD
    A["Запуск модуля"] --> B["Налаштування (setup())"]
    B --> C["Виконання операцій
(зчитування датчиків, відправка даних)"] C --> D["ESP.deepSleep(timeInMicroSeconds)"] D --> E["Модуль у режимі
глибокого сну
(~20μA)"] E --> |"Після закінчення часу сну"| A classDef sleep fill:#f9d5e5,stroke:#333,stroke-width:2px class D,E sleep

Для використання режиму глибокого сну (Deep Sleep) необхідно з'єднати пін D0 (GPIO16) з пінами RST. Це дозволяє таймеру глибокого сну перезавантажити модуль після закінчення заданого часу сну.

// Простий приклад використання режиму глибокого сну #include // Час сну в мікросекундах (наприклад, 10 секунд = 10e6) #define SLEEP_TIME_USEC 10e6 // 10 секунд void setup() { Serial.begin(115200); Serial.println(); Serial.println("NodeMCU прокинувся!"); // Виведення залишкового часу глибокого сну (для діагностики) Serial.print("Залишковий час сну: "); Serial.println(ESP.getResetReason()); // Ваш код тут: зчитування датчиків, відправка даних і т.д. Serial.println("Виконання операцій..."); delay(3000); // Імітація роботи Serial.println("Перехід у режим глибокого сну на 10 секунд..."); Serial.flush(); // Чекаємо, поки всі дані будуть відправлені через Serial // Переходимо в режим глибокого сну ESP.deepSleep(SLEEP_TIME_USEC); // Цей код ніколи не виконається після виклику deepSleep Serial.println("Цей текст ніколи не буде видно."); } void loop() { // Пустий loop(), оскільки модуль перезавантажиться після виходу з режиму сну }
Після виклику ESP.deepSleep(), модуль переходить у сплячий режим, а після його завершення перезавантажується (виконується скидання). Це означає, що код у функції loop() ніколи не буде виконаний, якщо deepSleep викликається в setup().

11.1. Обмеження

  • Аналогові входи: Лише один аналоговий вхід (A0) з обмеженим діапазоном напруги.
  • Обмежене живлення: Виводи 3.3В можуть забезпечити обмежений струм, тому для потужних пристроїв (серводвигуни, багато світлодіодів) потрібне зовнішнє живлення.
  • Special GPIO: Деякі піни мають особливі функції під час завантаження (GPIO0, GPIO2, GPIO15), тому їх використання може потребувати додаткових резисторів.
  • Wi-Fi потужність: При активній передачі Wi-Fi споживання струму може зростати до 300мА, що може спричинити нестабільну роботу при живленні від слабких джерел.

12. Практичні поради та рекомендації

12.1. Стабільність і надійність

  • Якісний кабель: Використовуйте якісний USB-кабель для стабільного живлення та надійного з'єднання з комп'ютером.
  • Зовнішнє живлення: Для проєктів з високим енергоспоживанням використовуйте вхід Vin з окремим джерелом живлення 5-12В.
  • Контроль перевантаження: Уникайте одночасного використання багатьох енергоємних компонентів.
  • Watch Dog Timer: Використовуйте ESP.wdtDisable() та ESP.wdtEnable() для керування сторожовим таймером у тривалих операціях.

12.2. Оптимізація коду

  • WiFi.persistent(false): Додайте цей виклик перед WiFi.begin() для зменшення зносу флеш-пам'яті.
  • Уникайте delay(): Для неблокуючого коду використовуйте millis() замість delay().
  • PROGMEM: Зберігайте великі рядки в пам'яті програм за допомогою F() макроса, наприклад: Serial.println(F("Текст у програмній пам'яті")).
  • Очищення Wi-Fi буферів: Періодично викликайте yield() у довгих циклах для обробки Wi-Fi подій.

12.3. Розширення можливостей

  • OTA оновлення: Реалізуйте Over-The-Air оновлення для зручного оновлення прошивки без фізичного доступу до пристрою.
  • MQTT: Використовуйте протокол MQTT для ефективного зв'язку між IoT пристроями.
  • WebSocket: Реалізуйте двосторонній зв'язок у реальному часі з веб-інтерфейсом через WebSocket.
  • SPIFFS/LittleFS: Використовуйте файлову систему для зберігання конфігурацій, логів та веб-сторінок.
  • Багатозадачність: Використовуйте ESP8266 Task Scheduler для організації кількох завдань без блокування основного циклу.
  • Датчики: Підключайте різноманітні датчики через I2C/SPI для розширення функціональності (акселерометри, барометри, RTC тощо).
NodeMCU ESP8266 ідеально підходить для проєктів IoT, домашньої автоматизації, збору даних з датчиків, керування пристроями через Інтернет та багатьох інших застосувань, де потрібні компактність, низька вартість та вбудований Wi-Fi.

13. Популярні проєкти для NodeMCU ESP8266

13.1. Метеостанція з веб-інтерфейсом

  • Компоненти: NodeMCU, DHT22 (температура і вологість), BMP280 (атмосферний тиск), OLED дисплей
  • Функціональність: збір даних про погоду, відображення на OLED дисплеї та веб-сторінці, історія змін, сповіщення про зміни
  • Можливості розширення: прогноз погоди на основі тенденцій, запис даних у хмарні сервіси

13.2. Система розумного дому

  • Компоненти: NodeMCU, модулі реле, датчики руху PIR, датчики відкриття дверей
  • Функціональність: віддалене керування освітленням та електроприладами, моніторинг стану дверей і вікон, сповіщення про рух
  • Можливості розширення: інтеграція з Amazon Alexa, Google Home або HomeKit, керування через Telegram бота

13.3. Система моніторингу рослин

  • Компоненти: NodeMCU, датчик вологості ґрунту, датчик освітленості, DHT22, реле для помпи
  • Функціональність: моніторинг умов вирощування, автоматичний полив, надсилання сповіщень
  • Можливості розширення: графіки росту, керування за розкладом, камера для спостереження за ростом
flowchart LR
    subgraph Projects["Популярні проєкти"]
      Weather["Метеостанція"] --> |"Датчики
Дисплей"| NodeMCU SmartHome["Розумний
дім"] --> |"Реле
Датчики"| NodeMCU Plants["Догляд за
рослинами"] --> |"Датчики
Помпа"| NodeMCU end NodeMCU --> |"Wi-Fi"| Cloud["Хмарні
сервіси"] NodeMCU --> |"Веб-сервер"| Mobile["Мобільний
додаток / Браузер"] classDef node fill:#b3e0ff,stroke:#333,stroke-width:2px classDef proj fill:#d5f5e3,stroke:#333,stroke-width:2px classDef cloud fill:#fdebd0,stroke:#333,stroke-width:2px class NodeMCU node class Weather,SmartHome,Plants proj class Cloud,Mobile cloud

14. Усунення типових проблем

14.1. Проблеми з підключенням до комп'ютера

Проблема Можливі причини Вирішення
Плата не визначається в Arduino IDE Не встановлено драйвер CH340 Встановіть правильний драйвер для вашої ОС
Помилка при завантаженні скетчу Неправильно вибрано плату або порт Перевірте налаштування в меню Інструменти → Плата та Інструменти → Порт
Нестабільне підключення Неякісний USB-кабель або порт Спробуйте інший кабель або USB-порт
Плата перезавантажується Недостатнє живлення Використовуйте USB-порт з більшим струмом або зовнішнє живлення

14.2. Проблеми з Wi-Fi

Проблема Можливі причини Вирішення
Не підключається до Wi-Fi Неправильний SSID або пароль Перевірте правильність даних підключення
Часті відключення від Wi-Fi Слабкий сигнал або нестабільне живлення Розмістіть пристрій ближче до роутера або забезпечте стабільне живлення
Повільний відгук веб-сервера Блокуючі функції (delay) у коді Використовуйте неблокуючі методи з millis()
Не працює в деяких мережах Проблеми з сумісністю (5GHz, корпоративний WPA) ESP8266 підтримує лише 2.4GHz Wi-Fi та обмежені типи аутентифікації

14.3. Проблеми з пам'яттю

  • Помилка "Out of memory": Зменшіть розмір рядків (використовуйте PROGMEM), уникайте великих масивів.
  • Нестабільна робота: Може бути спричинена витоками пам'яті. Використовуйте ESP.getFreeHeap() для моніторингу доступної пам'яті.
  • Переповнення стеку: Уникайте глибокої рекурсії та дуже великих локальних змінних у функціях.
  • Фрагментація пам'яті: Після тривалої роботи можуть виникати збої через фрагментацію. Регулярно перезавантажуйте пристрій.

15. Ресурси для подальшого вивчення

15.1. Офіційна документація

15.2. Корисні бібліотеки

  • ESPAsyncWebServer — асинхронний веб-сервер для неблокуючої роботи.
  • ArduinoJson — робота з JSON даними.
  • PubSubClient — клієнт MQTT протоколу для IoT.
  • TaskScheduler — планувальник задач для псевдопаралельного виконання.
  • ESP8266WiFiMesh — створення сітки з пристроїв ESP8266.

15.3. Онлайн спільноти та форуми

  • Розділ ESP8266 на форумі Arduino.
  • Спільнота ESP8266 на Reddit (r/esp8266).
  • Канали та групи в Discord та Telegram, присвячені розробці для ESP.
Завжди перевіряйте версію бібліотек та приклади, оскільки API часто змінюється між версіями. Рекомендується підтримувати Arduino IDE та бібліотеки ESP8266 в актуальному стані.
Важливе зауваження: Ми доклали зусиль, щоб ця інструкція була точною та корисною. Однак, ця інструкція надається як довідковий матеріал. Електронні компоненти можуть мати варіації, а схеми підключення залежать від конкретних умов та вашого обладнання. Ця інформація надається "як є", без гарантій повноти чи безпомилковості. Наполегливо рекомендуємо перевіряти специфікації вашого модуля (datasheet), звірятися з іншими джерелами та, за найменших сумнівів, звертатися до кваліфікованих фахівців, особливо при роботі з напругою 220В.

FAQ (часті запитання)

Рекомендовані статті
Розумний годинник без жодної кнопки
Розумний годинник без жодної кнопки
Блог, Інструкції Підключення та Огляди
17.09.2024
Розумний нічник на ESP8266 та WS2812 з управлінням через веб-сервер
Розумний нічник на ESP8266 та WS2812 з управлінням через веб-сервер
Блог, Інструкції Підключення та Огляди
18.09.2024
Використання ESP8266 для управління реле через Telegram-бот
Використання ESP8266 для управління реле через Telegram-бот
Блог, Інструкції Підключення та Огляди
20.09.2024
Еволюція мікроконтролерів
Еволюція мікроконтролерів
Блог, Цікаве та Корисне
01.02.2025
ESP8266 CH340 - Питання та вирішення найчастіших проблем
ESP8266 CH340 - Питання та вирішення найчастіших проблем
Блог, Інструкції Підключення та Огляди
12.03.2025