Сегодня в уроке, про дисплей Nextion, рассмотрим такой элемент управления, как кнопка Dual-state. С помощью данной кнопки научимся включать и выключать подсветку, а также менять цвет по умолчанию. Рассмотрим, как работает код для управления элементами на дисплее Nextion, а также научимся отправлять команды на Arduino для управления подсветкой.
Сегодня в уроке Nextion рассмотрим.
В предыдущем уроке мы рассмотрели, как можно сделать графику для дисплея и добавили первое изображение на дисплей. Сегодня будем использовать графические элементы из предыдущего урока. Давайте приступим, а для этого откроем в Nextion Editor заготовку из второго урока.
Рассмотрим подробнее свойства кнопки, а именно свойство «val», данное значение как раз отвечает за состояние кнопок. Если нажмёт на кнопку, значение «val» будет равно 1. При повторном нажатии, значение измениться на 0. И так далее.
Отправим с дисплея Nextion команду на Arduino, о нажатии той или иной кнопки. Для передачи информации по UART используются команды:
Для включения и выключения подсветки отправляем значение «power», и чтобы на стороне Arduino определить конец команды, отправим символы «0d 0a».
Аналогично добавляем команды для переключения цветов. Но нужно помнить, что каждая команда должны быть уникальной.
В первом уроке рассказывал, как установить Arduino IDE, для данного урока нам необходимо установить дополнительные библиотеки. К статье прикреплю необходимые библиотеки. Скачать их можно в разделе «файлы для скачивания». После того как вы загрузите библиотеки, нужно скопировать в папку «Документы\Arduino\libraries».
В папке с библиотеками должны появиться соответствующие папки. После чего нужно перезагрузить программу Arduino IDE. Если она у вас была открыта.
В коде нужно подключить библиотеки. Подключим библиотеку для эмуляции Serial порта «SoftwareSerial». Отвечу на вопрос, который у вас возникнет: «можно ли использовать аппаратный Serial порта?» Да, можно, но вы не сможете вывести отладочную информацию. А также, при подключении к компьютеру, у вам будут помехи передачи данных Serial порта. Для плат, у которых несколько аппаратных UART например ESP32, STM32 можно без проблем использовать аппаратный UART.
Также нужно подключить библиотеку «WS2812FX.h» для работы с адресными светодиодами. После чего указываем количество светодиодов, и к какому пину подключен пин управления лентой.
Затем в блоке setup() открываем последовательный порт и подключаем светодиодную ленту.Тут используются переменные, которые нужно определить в начале кода.
Также 2 переменные нам нужны для работы с полученными данными с дисплея.
В основном цикле loop(). У нас всего 2 строки. Первая строка инициализирует работу с светодиодами. Вторая функция обрабатывает полученные данные с дисплея. Функция ReadSerial() находиться на второй вкладке. Это не отдельный скетч. Просто код разделен на несколько страниц для удобства редактирования.
В функции ReadSerial() мы получаем данные с дисплея, пока не получим символы конца строки.
После чего вызываем функция обработки команд.
Тут проверяем, какую команду получили. Если «power», то мы включаем светодиодную ленту. И меняем значение переменой «flag». Это необходимо делать чтобы знать, включена или нет у нас светодиодная лента на данный момент. Чтобы при следующем нажатии на кнопку выключить светодиоды.
Аналогичным способом обрабатываем команды переключения цвета по умолчанию.
Как подобрать цвет и что за непонятные символы 0x0000FF? Что они значат? Все очень просто согласно цветовой схеме «RGB»:
Что за непонятные значений «FF» - это значение в шестнадцатеричной системе счисления. И FF равняется максимальному значению 255 в десятеричной системе счисления.
Например, 99 ровняется 153. Данные значения можно перевести с помощью инженерного калькулятора или онлайн сервисов.
Комбинируя цвета, мы получаем различные цвета и оттенки. Если вам интересна данная тема и вы хотели бы узнать подробнее, пишите об этом в комментариях.
В документации к дисплею Nextion указаны требования к карте памяти: 10 класса и не больше 16 Gb.
На фото ниже 3 карты microSD различного объема и различных производителей. Из них работают 2. Внимание, вопрос! Какая карта памяти не работает?
И тут ломается вся логика. Одного объема? НЕ! Одного производителя? НЕТ!
Как это работает не понятно. У меня Китайская карта памяти, купленная года 4 назад за копейки, работает нормально. Но 8 Gb купленная у нас в сетевом магазине цифровой техники не работает. А на 16 того же производителя работает нормально.
Поэтому какая карта заработает у вас, точно сказать не смогу. Но у меня есть предположение что нужно брать 10 класса на 16 Гб. Больше шансов что заработает.
Кату памяти нужно отформатировать в формате Fat32. Проверить чтобы на ней не было никаких файлов. У меня при работе в операционной системе Linux постоянно создаётся скрытый файл. Его нужно также удалить.
Для того, чтобы скомпилировать файл для прошивки дисплея в Nextion Editor, переходим в меню «File -> TFT file output»
В открывшемся окне выбираем место сохранения и нажимаем на кнопку «Output».
Копируем файл «Lesson3.tft» на карту памяти.
Отключаем питание дисплея. Ставим карту памяти подаем питание.
Увидим надпись с отчетом времени. После чего начинается процесс загрузки. Вы увидите проценты загрузки на дисплее.
После загрузки на дисплее будет надпись «Check Data… 100%».
Отключаем питание и достаём карту памяти.
После чего можно подать питание, и мы увидим созданный интерфейс на дисплее Nextion.
Сейчас можно подключить светодиодную ленту ws2812, дисплей к Arduino. Предварительно загрузив код в Arduino.
После включения, у нас лента не работает. Это так и задумано. Нужно нажать на дисплее кнопку включения.
Мы можем с помощью дисплея включать и выключать подсветку. А также изменять цвет, и для этого не нужно кучу тактовых кнопок. И подключение всех компонентов достаточно простое.
На этом урок заканчиваю. В следующем уроке рассмотрим, как можно переключать режимы и управлять яркостью подсветки.
Прошивка доступна только для подписчиков на сайте boosty и составляет символическую сумму. За данную подписку вы получите доступ к исходным материалам уроков.
Понравился Урок Кнопка Dual-state - Nextion. Включаем выключаем подсветку, меняем цвет? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Файлы для скачивания
![]() |
Бибиотеки.zip | 962 Kb | 1226 | Скачать |
![]() |
.hex файлы прошивки.zip | 40 Kb | 1073 | Скачать |
![]() |
Lesson3.tft.zip | 85 Kb | 1054 | Скачать |
Nextion уроки
30 марта , 2021
Комментариев:0
Файлов для скачивания:3
Фото:6
Понравилась статья? Нажми
Виджеты для Easy HMI
Читайте также
Мы в соц сетях
Комментарии