Панель управления подсветкой на дисплее DWIN.

Для реализации красивой подсветки я использую адресные светодиоды WS2812. На данный момент у меня дома сделано 3 различных подсветки длиной до 5 метров. Для управления я использую сенсорную кнопку и приложение для телефона. Но моему сыну данные варианты управления не очень нравятся, поэтому я решил сделать пульт управления подсветкой на дисплее DWIN.


Если вам нравится данный проект, и вы хотели бы, чтобы я сделал версию с круговым выбором статического цвета, с выбором времени автоматического переключения режимов и, конечно же, добавил новые световые эффекты, пишите ваши пожелания в комментариях. Чем больше будет откликов, тем скорее я сделаю вторую версию управления подсветкой. Если вы не понимаете, о чём идёт речь, читайте статью дальше.

решил сделать пульт управления подсветкой на дисплее DWIN.

Приобрести дисплей можно в официальном магазине DWIN Technology на AliExpress. Например, 7-дюймовый дисплей с резистивным сенсором можно купить от 2500 рублей. С ёмкостным сенсором от 3000 руб. (Цена указана с учётом доставки, действительна на момент публикации статьи).

Подготовка дисплея DWIN для прошивки.

Первое, что нужно сделать — это уделить внимание малозаметной перемычке. Она есть на большинстве дисплеев и отвечает за режим работы serial порта.

Подготовка дисплея DWIN для прошивки.

Если перемычка замкнута/спаяна - режим TTL/UART. Если перемычка разъединена - режим RS232.С завода дисплеи идут без перемычки, поэтому её нужно замкнуть, можно просто спаять или припаять smd резистор номиналом 0 Ом.

Затем нужно подготовить карту памяти. Про этот этап у меня есть отдельная статья, в которой всё подробно расписано.

После этого можно приступить к прошивке дисплея.

Прошивка дисплея компании DWIN.

Для загрузки примера нужна прошивка, которую можно скачать внизу статьи в разделе «Файлы для скачивания». Пример сделал для дисплеев разрешением 800x480 px. Соответственно, он подойдёт для дисплеев 5 и 7 дюймов с данным разрешением экрана, но не ко всем. Смотрите разрешение своего дисплея в даташите к нему. Если разрешение дисплея больше, чем 800x480 px, то по краям вы увидите чёрные полосы.

В архиве проекта нужно скопировать папку DWIN_SET на карту памяти. Файлы должны располагаться на карте по пути: «/DWIN_SET/».

Вставляем SD карту в HMI модуль. Подайте питание.

Вставляем SD карту в HMI модуль. Подайте питание.

Вставляем SD карту в HMI модуль. Подайте питание.

Вы увидите синий экран с надписями. Необходимо дождаться пока не появится строчка с надписью «SD Card Process... END!».

Вы увидите синий экран с надписями. Необходимо дождаться пока не появится строчка с надписью «SD Card Process... END!».

Если загрузка прошла успешно, вы увидите следующую информацию. Если что-то пошло не так, то информация на дисплее будет следующая.

Если что-то пошло не так, то информация на дисплее будет следующая. В этом случае рекомендую вернуться к статье про подготовку SD карты.

Делаем прошивку для дисплея DWIN.

В предыдущем проекте я подробно рассказал про создание прошивки дисплея в среде разработки DGUS. Сегодня не буду подробно останавливаться на мелочах. Про тонкости работы с элементами среды разработки буду рассказывать в уроках. Там же вы можете задать вопрос в комментариях, если у вас возникнет сложность по работе с тем или иным инструментом.

Для управления нам понадобиться создать 2 фоновых изображения и набор иконок,

Для управления нам понадобиться создать 2 фоновых изображения и набор иконок, в который входит переключатель, бегунок для слайдера и название всех эффектов. Да, название эффектов буду выводить костыльным методом, но при этом реализовать данный вывод можно достаточно просто. При данной реализации есть возможность оформить надписи более красиво. (Конечно не в моём случае. Мои знания по работе с графикой оставляют желать лучшего!)

Управление режимами подсветки.

Для управления и вывода информации о режимах подсветки будем использовать следующие инструменты: «VAR Icon», «Incremental Adjustment», «Data variables».

Управление режимами подсветки.

С «Incremental Adjustment» мы уже знакомы. В данном случае его нужно настроить следующим образом.

С «Incremental Adjustment» мы уже знакомы. В данном случае его нужно настроить следующим образом.

Для кнопки увеличения значений режима настройки аналогичные, только изменяем параметр «Adjust method» на «++». Т.е. увеличение значения на 1 при нажатии на кнопку.

Для кнопки увеличения значений режима настройки аналогичные,

Для вывода целочисленных значений будем использовать инструмент «Data variables».

Для вывода целочисленных значений будем использовать инструмент «Data variables».

Тут, я думаю, ни чего сложного нет.

Далее переходим к выводу названий эффектов. Для этого будем использовать иконки с названием эффектов. Как подгружать иконки в проект, я рассказал в прошлый раз.

Далее переходим к выводу названий эффектов. Для этого будем использовать иконки с названием эффектов.

Иконки нужно изменять в заданном диапазоне, в этом нам поможет «VAR Icon».

Иконки нужно изменять в заданном диапазоне, в этом нам поможет «VAR Icon».

Здесь нужно выбрать ICL-файл иконок. В моём случае это «46.icl». Минимальное и максимальное значение — это количество эффектов, у меня их 18. Также нужно указать диапазон id иконок.

Добавляем переключатели в проект.

Как добавлять переключатели, я подробно рассмотрел в прошлом уроке. В данном проекте будет 2 переключателя. Один включает автоматическое переключение режимов подсветки. Второй включает управление статическим цветом. Для реализации переключателей будем использовать инструменты «Incremental Adjustment» и «Bit icon».

Добавляем переключатели в проект.

Настройки «Bit icon» будут следующие.

Настройки «Bit icon» будут следующие.

Параметры настройки «Incremental Adjustment».

Параметры настройки «Incremental Adjustment».

Добавляем слайдеры в проект.

Для создания слайдера нужно использовать два инструмента «Slider Display» и «Drag Adjustment».

Добавляем слайдеры в проект.

Зачем нужно использовать 2 инструмента?

Например, в Nextion Editor используется один элемент. Почему тут нужно 2? Да, у меня возникли такие же вопросы. Но на самом деле всё очень просто. Один элемент «Slider Display» выводит графическую часть, и с его помощью можно сделать прогресс бар. А второй «Drag Adjustment» работает с тачскрином и передаёт первому элементу значения, что мы провели пальцем по дисплею. Данная информация будет передана в элемент «Slider Display» и бегунок слайдера переместиться.

Настраиваем «Slider Display» следующим образом.

Настраиваем «Slider Display» следующим образом.

Настроек у инструмента «Drag Adjustment» мало, и они выглядят следующим образам.

Настроек у инструмента «Drag Adjustment» мало, и они выглядят следующим образам.

Вывод значения яркости.

Для управления яркостью используется слайдер. Настраивается по тому принципу, о котором я рассказывал ранее.

Вывод значения яркости.

Только одна особенность — это цифровое значение яркости. Как вывести данное значение, будет вам домашним заданием. Тем более инструмент для этого «Data variables» мы уже рассмотрели.

Схема подключения Arduino, дисплея DWIN и адресных светодиодов WS2812.

Схема подключения Arduino, дисплея DWIN и адресных светодиодов WS2812.

Схема подключения ESP32, дисплея DWIN и адресных светодиодов WS2812.

Схема подключения ESP32, дисплея DWIN и адресных светодиодов WS2812.

Установить нужно библиотеку FastLED.

Установить нужно всего одну дополнительную библиотеку FastLED.

ВНИМАНИЕ! Версия библиотеки должна быть не ниже версии FastLED 3.1. В противном случае при компиляции вы увидите предупреждение «warning "Requires FastLED 3.1 or later; check github for latest code.», а загрузка кода будет приостановлена.

Установить библиотеку можно через менеджер библиотек.

Установить библиотеку можно через менеджер библиотек. В таком случае у вас установится последняя версия и всё будет работать как надо. Если у вас уже установлена данная библиотека, то её нужно обновить. Для этого вам необходимо выбрать версию больше 3,1 из списка доступных версий и обновить.

как установить библиотеку с помощью менеджера библиотек

Если вы не знаете, как установить библиотеку с помощью менеджера библиотек, можете скачать библиотеку внизу статьи в разделе «файлы для скачивания» и установить её, переместив в папку с библиотеками, которая располагается тут: «Документы\Arduino\libraries».

Скетч для Arduino UNO (NANO) управление подсветкой с сенсорного дисплея DWIN.

За основу взял код из моего предыдущего проекта «Светодиодный ночник с управлением по Wi-Fi».

Скетч для Arduino UNO (NANO) управление подсветкой с сенсорного дисплея DWIN.

Как и в предыдущем примере, я вынес переменные, которые можно поменять:

  • DEBUG – режим отладки: 1- включен, 0 – отключен.
  • DATA_PIN – пин Arduino, к которому подключена лента.
  • TIMER_MS – время длительности одного эффекта в секундах. Используется для переключения эффектов в автоматическом режиме.
  • SPEED – скорость выполнения эффектов. Чем она больше, тем медленнее будут световые эффекты. Применяется ко всем световым эффектам.
  • LED_TYPE – тип светодиодов может быть APA102, WS2801 или WS2812B.
  • GRB – расположение цветов. Если вы выставили красный цвет, а на ленте светит зелёный, значит нужно поменять данный параметр.
  • NUM_LEDS – количество светодиодов в ленте.

Параметров для изменений много, но поменять вам нужно только NUM_LEDS – количество светодиодов в вашей ленте. Остальные параметры можно оставить без изменения.

Скетч для Arduino UNO (NANO) управление подсветкой с сенсорного дисплея DWIN.

Внимание! При загрузке кода в Arduino UNO (NANO) необходимо отключать информационные провода RX и TX подключения дисплея. Иначе среда Ardino IDE выдаст ошибку при загрузке.

Такой проблемы нет при работе с платами, где есть несколько аппаратных UART. Например, Arduino MEGA или ESP32.

Скетч для ESP32 управление подсветкой с сенсорного дисплея DWIN.

Код для ESP32 практически не имеет отличий. Настройки точно такие же, как и для Arduino UNO.

Скетч для ESP32 управление подсветкой с сенсорного дисплея DWIN.

Только одна особенность. Обновить код можно при собранной схеме. Что позволит обновить код, даже если у вас всё уже работает и все проводники припаяны. Хотя ESP32 можно прошить и по воздуху.

 Хотя ESP32 можно прошить и по воздуху.

Подведём итог.

Панель управления подсветкой с использованием дисплея DWIN получается достаточно функциональная, красивая и удобная. Но в ней не хватает световых эффектов, разделения подсветки на зоны, а также красивого кругового управления статическим цветом. Постараюсь сделать вторую версию панели управления подсветкой на адресных светодиодах. Но как скоро вторая версия увидит свет, будет зависеть от вашего интереса. Пишите ваши пожелания и предложения в комментариях, тем самым я пойму, что тема интересная и постараюсь как можно скорее реализовать доработки.


Приобрести дисплей DWIN можно в официальном магазине DWIN Technology на AliExpress.

Понравился проект Панель управления подсветкой на дисплее DWIN? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

Файлы для скачивания

Скетч для ESP32 управление подсветкой с сенсорного дисплея DWIN Скетч для ESP32 управление подсветкой с сенсорного дисплея DWIN.zip6 Kb 577 Скачать
Скетч для Arduino UNO (NANO) управление подсветкой с сенсорного дисплея DWIN Скетч для Arduino UNO (NANO) управление подсветкой с сенсорного дисплея DWIN.zip6 Kb 610 Скачать
библиотека FastLED библиотека FastLED.zip349 Kb 503 Скачать
прошивка для дисплея DWIN прошивка для дисплея DWIN.zip1243 Kb 597 Скачать

Комментарии

Ваше Имя*


Разработка проектов