Сайт «Ардуино технологии» является продолжением проекта Портал ПК. Вернее Проект Портал ПК разделился на два самостоятельных сайта «Ардуино технологии» и «ЧПУ технологии». В дальнейшем тематик будет больше. Проект Портал ПК был начат еще в 2006 году и за это время на нем появилось огромное количество различной информации, касающейся программирования, конструирования, 3D-печати.
Для чего понадобились разделение проекта и новый сайт? Сайт Portal-PK.ru за свое существование был несколько раз переписан, изменен дизайн сайта, и дальнейшая доработка сайта уже не возможна. Поэтому было принято решение сделать новые сайты с более понятной и простой навигацией. Но это еще не все! На сайтах будут обновлённые Arduino уроки. Больше новых и интересных Arduino проектов, в том числе проекты на arduino uno, arduino nano, arduino mini pro, arduino mega, NodeMcu, ESP8266, DigiSpark, ESP-01, ESP32 и других микроконтроллерах.
Технологии начинаются с простого!
Вы уже, наверное, в курсе, что Easy HMI получил поддержку беспроводной связи по UDP. Если нет, то ознакомьтесь с новыми возможностями тут. А так как есть беспроводной интерфейс, неплохо было бы сделать удаленное управление реле. Что, в свою очередь, позволит управлять светом, вытяжкой, вентилятором, чайником, кофемашиной, обогревателем и другими устройствами и приборами. Для реализации данной идеи можно использовать готовые модули на базе ESP32 и/или ESP8266. Я уже рассказывал про модуль ESP12F Relay X4 (LC-Relay-ESP12-4R-MV – по даташиту). Сегодня напишем код для управления данным модулем и также посмотрим, как можно управлять по UDP 2, 3, 5, 10 и даже 12 группами реле с одного сенсорного дисплея. Думаете, это невозможно реализовать? Давайте разберемся!
Создаем интерфейс управления реле по UDP в среде разработки Easy HMI.
Широтно-импульсная модуляция (ШИМ), или Pulse Width Modulation (PWM),
является фундаментальной технологией в современной цифровой
электронике. Она позволяет эффективно управлять мощностью, подаваемой на
нагрузку, путем изменения длительности импульсов при постоянной частоте
сигнала. Микроконтроллер ESP32,
известный своей высокой производительностью и богатым набором
периферийных устройств, предлагает расширенные возможности для генерации
ШИМ-сигналов по сравнению с более простыми платформами, такими как Arduino Uno. Ключевое отличие ESP32 заключается в использовании канальной системы управления ШИМ, реализованной через специализированные периферийные модули. Вместо прямого управления ШИМ на конкретном выводе GPIO, как в analogWrite()
на Arduino, в ESP32 необходимо сначала настроить канал ШИМ (с его частотой и разрешением), а затем привязать
один или несколько выводов GPIO к этому каналу. Управление скважностью
(яркостью, скоростью) осуществляется путем изменения параметров
настроенного канала. Данный подход обеспечивает большую гибкость и
производительность. В этом урокуе мы подробно рассмотрим особенности ШИМ
на ESP32, уделив основное внимание периферийному модулю LEDC, и
приведем практические примеры его использования.
Ранее я уже создавал проекты по управлению реле с использованием сенсорных дисплеев DWIN и Nextion. Реализация этих проектов не представляет большой сложности. Для этого требуется отрисовывать графику, правильно её нарезать и предварительно изучить недружелюбную документацию, в случае DWIN. С помощью программы Easy HMI это можно сделать гораздо быстрее. Создать проект можно минут за 20–30. Также для данного проекта я написал максимально простой код с минимумом массивов и циклов, что позволит новичку изменять и расширять проект. Также я написал второй, более сложный вариант кода с управлением двумя группами реле. Все настройки вынес в начало кода. Но обо всем по порядку.
Создаем интерфейс управления реле для дисплея в среде разработки Easy HMI.
Работа по беспроводной сети планировалась при старте разработки Easy HMI и дисплеев AT HMI. В первых версиях также была заложена работа по беспроводной сети с использованием собственного протокола. Однако обучение новому протоколу оказалось гораздо сложнее, чем предоставление возможности работать с уже знакомым протоколом передачи данных. Поэтому было принято решение сделать реализацию общения по протоколу UDP. Также в новой версии программы добавлены некоторые настройки для дисплеев, что расширяет возможности и спектр их применения в различных проектах, начиная от простых панелей для управления светом или подсветкой и заканчивая интеграцией в систему умного дома.
Поддержка UDP в Easy HMI.
В прошлой статье я рассказывал о настройке работы дисплея ESP32-2432S028 с программой Easy HMI. Поддерживаемых дисплеев было немного, и настройка была не самой простой. Сейчас я расширил спектр поддерживаемых дисплеев от 2,4 до 3,5 дюймов с поддержкой резистивного и емкостного сенсора. Загрузка прошивки осуществляется из программы Easy HMI. Процесс максимально упрощен.
В предыдущем уроке мы познакомились с созданием виджета «Кнопка» и добавили кнопки в проект. Кроме функций, которые были рассмотрены в прошлом уроке, у кнопок есть дополнительные функции, которые можно изменить и настроить при создании или редактировании проекта. В этом уроке мы настроим переходы между страницами интерфейса и управление выводами GPIO с помощью кнопок.
Дополнительные возможности кнопки в Easy HMI.
Давайте откроем предыдущий созданный проект. Выделим любую кнопку, и в свойствах увидим, что у кнопки есть такие параметры как: