Уроки

Урок 1. FastLED. Установка и первое подключение ESP32, ESP8266, WS2812B.

Перед тем как мы начнем, давайте ответим на важный вопрос: почему именно FastLED? Библиотека FastLED — это не просто способ управлять светодиодами, это один из самых мощных и популярных инструментов для этого. Вот её ключевые преимущества:

  • Высокая производительность: FastLED оптимизирована для быстрой работы и минимального использования ресурсов микроконтроллера, что позволяет создавать сложные анимации без "тормозов".
  • Расширенное управление цветом: Библиотека включает инструменты для коррекции цвета, настройки яркости и температуры, а также плавных переходов, что делает визуальные эффекты гораздо качественнее.
  • Богатый набор инструментов: В FastLED встроены готовые функции для генерации шума, работы с палитрами и математические утилиты, которые значительно упрощают создание красивых анимаций.
  • Широкая совместимость: Она поддерживает огромное количество различных типов светодиодных лент и платформ (Arduino, ESP32, ESP8266, Teensy и др.), что делает ваш код легко переносимым между проектами.

Именно поэтому FastLED является стандартом де-факто для серьезных проектов со светодиодными лентами.

Цель урока: После завершения урока вы сможете самостоятельно: установить библиотеку FastLED, правильно подключить адресную светодиодную ленту к ESP32/ESP8266 и загрузить свою первую программу, которая зальет всю ленту сплошным синим цветом.

1 октября 2025 40
KY-023 – модуль джойстика (Dual Axis Joystick). Подключение к Arduino.

В этом уроке мы познакомимся с одним из самых популярных модулей для создания интерактивных проектов — модулем джойстика KY-023. Этот модуль, основанный на джойстике от игрового контроллера PS2, позволяет легко считывать перемещения по двум осям (X и Y) и регистрировать нажатие на сам стик.

Модуль KY-023 представляет собой два перпендикулярно расположенных потенциометра и тактовую кнопку. При смещении стика меняется сопротивление потенциометров, что позволяет нам определять его положение. Нажатие на стик сверху вниз замыкает контакты кнопки. Это простое и универсальное устройство для ввода данных в ваши проекты.

Области применения:

  • Управление роботами и машинками: Создание пульта для управления движением RC-моделей.
  • ...
22 сентября 2025 45
Управление ШИМ (PWM) на ESP32: Полное руководство от основ до практики.

Широтно-импульсная модуляция (ШИМ), или Pulse Width Modulation (PWM), является фундаментальной технологией в современной цифровой электронике. Она позволяет эффективно управлять мощностью, подаваемой на нагрузку, путем изменения длительности импульсов при постоянной частоте сигнала. Микроконтроллер ESP32, известный своей высокой производительностью и богатым набором периферийных устройств, предлагает расширенные возможности для генерации ШИМ-сигналов по сравнению с более простыми платформами, такими как Arduino Uno. Ключевое отличие ESP32 заключается в использовании канальной системы управления ШИМ, реализованной через специализированные периферийные модули. Вместо прямого управления ШИМ на конкретном выводе GPIO, как в analogWrite() на Arduino, в ESP32 необходимо сначала настроить канал ШИМ (с его частотой и разрешением), а затем привязать один или несколько выводов GPIO к этому каналу. Управление скважностью (яркостью, скоростью) осуществляется путем изменения параметров настроенного канала. Данный подход обеспечивает большую гибкость и производительность. В этом урокуе мы подробно рассмотрим особенности ШИМ на ESP32, уделив основное внимание периферийному модулю LEDC, и приведем практические примеры его использования.

5 мая 2025 157
Клиент-сервер NTP на ESP32: Получение даты и времени.

МикроконтроллерESP32, благодаря встроенным возможностям Wi-Fi, является популярной платформой для проектов Интернета вещей (IoT). Во многих таких приложениях, особенно связанных с регистрацией данных (data logging) или планированием задач, требуется точная синхронизация времени. Получение актуальной даты и времени необходимо для присвоения временных меток событиям или измерениям. Одним из наиболее распространенных и эффективных методов синхронизации времени для устройств, подключенных к сети, является использование протокола сетевого времени (NTP - Network Time Protocol).

Данный урок демонстрирует процесс настройки ESP32 в качестве NTP-клиента для запроса точного времени с публичных NTP-серверов с использованием среды разработки Arduino IDE. Преимущество этого подхода заключается в отсутствии необходимости использования дополнительных аппаратных модулей, таких как часы реального времени (RTC), при условии наличия у ESP32 активного интернет-соединения.

Перед выполнением инструкций, изложенных в данном руководстве, убедитесь, что в вашей среде Arduino IDE установлено дополнение для поддержки плат ESP32. Инструкции по установке можно найти в официальной документации или соответствующих руководствах:

31 марта 2025 95
Сравнение: delay() против millis() в ESP32.

Микроконтроллер ESP32, благодаря своей производительности и встроенным модулям Wi-Fi и Bluetooth, стал популярной платформой для разработки проектов Интернета вещей (IoT) и встраиваемых систем. Одной из первых задач, с которой сталкиваются начинающие разработчики, является управление светодиодом – классическая программа "Blink". Простейший способ – использовать функцию delay(). Однако она полностью блокирует выполнение программы на заданное время. Для простых задач это приемлемо, но если нужно одновременно выполнять другие операции (опрашивать датчики, проверять кнопки, обмениваться данными по сети), delay() становится непригодной.

Данный урок демонстрирует, как реализовать выполнение нескольких задач псевдопараллельно на ESP32, избегая delay(). В качестве примера рассмотрим мигание светодиодом с одновременной проверкой состояния кнопки, используя неблокирующий подход на основе функции millis().

Мы рассмотрим и сравним три подхода:

26 марта 2025 116
Обмен данными между двумя платами ESP32 по шине I2C.

Данное руководство представляет собой техническое описание процесса организации обмена данными между двумя микроконтроллерами ESP32 с использованием протокола I2C (Inter-Integrated Circuit). I2C - это синхронный последовательный протокол, широко применяемый для связи между микроконтроллерами и периферийными устройствами. В данном уроке одна плата ESP32 будет настроена как ведущее устройство (Master), а другая - как ведомое (Slave). Программирование микроконтроллеров будет осуществляться в среде разработки Arduino IDE. Руководство предоставляет подробные инструкции по подключению, настройке и программированию, а также примеры кода для реализации I2C-взаимодействия.

Обзор протокола I2C.

I2C (Inter-Integrated Circuit) – это синхронный, последовательный, полудуплексный протокол связи, разработанный компанией Philips. Он предназначен для соединения микроконтроллеров и различных периферийных устройств, таких как датчики, дисплеи, EEPROM и другие.

20 марта 2025 82
ESP32 Arduino IDE. Подавление дребезга контактов кнопки.

В данном уроке рассматривается проблема дребезга контактов, возникающая при использовании механических кнопок и переключателей с микроконтроллером ESP32. Описаны причины возникновения дребезга, его влияние на работу микроконтроллера и представлены программные методы его устранения. Статья ориентирована на техническую аудиторию и содержит примеры кода на языке C/C++ для среды разработки Arduino IDE. Дребезг контактов это паразатный эффект, усложняющий разработку и отладку проекта.

Проблема дребезга контактов ESP32 Arduino IDE.

При нажатии или отпускании механической кнопки (или переключении тумблера) ее состояние не изменяется мгновенно с LOW на HIGH (или наоборот). Вместо этого, из-за физических свойств материалов и конструкции кнопки, происходит кратковременное многократное замыкание и размыкание контакта. Это явление называется "дребезгом контактов" (chattering). В результате микроконтроллер (например, ESP32) может воспринять одно физическое нажатие как несколько последовательных нажатий, что приводит к некорректной работе устройства.

13 марта 2025 99
ESP32: Управление вводом с помощью кнопок. Типы, схемы, код.

В данном уроке рассматривается подключение и использование кнопок с микроконтроллером ESP32. Кнопки являются фундаментальными элементами ввода в электронных системах, позволяющими пользователю взаимодействовать с устройством. В уроке детально описаны типы кнопок, принципы их работы, схемы подключения к ESP32, а также программные аспекты, включая обработку нажатий.

Кнопки:

1.Кнопки для монтажа на печатную плату (PCB-mount). Такие кнопки обычно имеют четыре вывода, которые внутренне соединены попарно.

2. Кнопки для монтажа на панель (Panel-mount). Такие кнопки, как правило, имеют два вывода.

3. Модули кнопок.

12 марта 2025 112
Установка загрузчика LittleFS в Arduino IDE 2 для загрузки файлов на ESP32, ESP8266, Raspberry Pi Pico.

В этом уроке вы узнаете, как загружать файлы в файловую систему LittleFS на ESP32, используя Arduino IDE 2 (версия 2.2.1 или выше). Мы установим плагин загрузчика, который добавит новое меню в Arduino IDE. Этот плагин также совместим с платами ESP8266 и Raspberry Pi Pico.

Содержимое:

  • Введение в LittleFS
  • Установка плагина загрузчика файловой системы LittleFS
    • Инструкции для Windows
    • Инструкции для Mac OS X
  • Загрузка файлов на ESP32 с помощью загрузчика файловой системы
  • Тестирование загрузчика LittleFS на ESP32
  • Заключение

Если вы все еще используете Arduino 1.9, вы можете следовать другому руководству: ESP32: Файловая система SPIFFS в ESP8266 и ESP32.

10 марта 2025 115
ESP32 - Светодиод  |  LED - Blink.

ESP32 - это мощное встраиваемое устройство с двухъядерным процессором, обладающее возможностями Wi-Fi и Bluetooth. Оно широко используется в различных проектах по автоматизации благодаря множеству портов ввода-вывода, среди которых также находятся аналоговые и цифровые. В данном уроке мы рассмотрим основной пример, демонстрирующий управление светодиодом, подключённым к ESP32. Этот простой урок - отличный способ протестировать возможности контроллера и изучить основы программирования на платформе Arduino IDE.

ESP32 - Светодиод | Руководство по ESP32.

Напряжение цифрового вывода пина ESP32 может быть запрограммировано так, чтобы изменять уровень сигнала VCC или GND. Подсоединив светодиод к цифровому выходу микроконтроллера, мы можем программно управлять состоянием светодиода.

7 марта 2025 126

Читайте также

Мы в соц сетях

Подпишись на канал Telegram
Разработка проектов
EasyHMI
Умный Дом