Пример использования TFT Nextion NX3224T024 с Arduino Leonardo
Что же собой представляет дисплей некстион ?
Описание
Интеллектуальный TFT сенсорный экран со SCADA-системой начального уровня.
Этот экран позволяет при помощи специальной родной программы спроектировать (нарисовать) весь интерфейс пользователя, а при помощи UART интерфейса получать от внешнего устройства (платы контроллера) команды на изменение свойств большинства элементов нарисованного интерфейса. Такими командами может быть:
изменить значение барграфа на определённую цифру;
изменить значение поля для отображения числа;
показать в поле отображения картинок другую под определённым номером;
Слот SD карты используется только для загрузки программы в экран.
Рекомендуемый источник питания 5 В 500 мА
Размеры платы 74,4 х 42,9 мм
Пример использования TFT Nextion NX3224T024 с Arduino Leonardo
В этом примере попробуем отобразить две координаты положения джойстика, подключённого к Arduino, на этом экране в виде двух полей для отображения чисел, а так же в виде графика с двумя перьями.
Для начала запускаем программу Arduino IDE. Скачиваем и подгружаем библиотеку
Arduino_Nextion
Вставляем текст программы:
#include "Nextion.h" //подключение библиотеки int sensorPin1 = A0; //номер первого аналогового входа для координаты Х int sensorPin2 = A1; //номер второго аналогового входа для координаты Y int sensorValue1 = 0; //переменная для хранения координаты Х int sensorValue2 = 0; //переменная для хранения координаты Y NexWaveform s0 = NexWaveform(0, 1, "s0"); //адресация элемента "тренд" id страницы =0, id тренда =1, имя тренда n0 NexNumber n0 = NexNumber(0, 4, "n0"); //адресация первого элемента "номер" id страницы =0, id элемента =2, имя элемента n0 NexNumber n1 = NexNumber(0, 5, "n1"); //адресация второго элемента "номер" id страницы =0, id элемента =3, имя элемента n1 void setup() { nexInit(); //инициализация класса Nextion } void loop() { sensorValue1 = 22+analogRead(sensorPin1)/10; //считывание и масштабирование аналогового входа А0 sensorValue2 = 22+analogRead(sensorPin2)/10; //считывание и масштабирование аналогового входа А1 s0.addValue(0, sensorValue1); //передача тренду текущей координаты Х джойстика s0.addValue(1, sensorValue2); //передача тренду текущей координаты Y джойстика n0.setValue(sensorValue1); //передача первому полю для отображения цифры текущей координаты Х джойстика n1.setValue(sensorValue2); //передача второму полю для отображения цифры текущей координаты Y джойстика delay(100); }
Еще очень важный момент: если теперь попытаться откомпилировать скетч, Arduino IDE выдаст ошибку о том, что не может найти Serial2. Дело в том, что в библиотеке прописано, что контроллер будет выводить команды управления экраном в физический UART-порт номер 3, которого у Leonardo и Uno нет. Поэтому необходимо найти в папке библиотеки файл NexConfig.h и с помощью любого текстового редактора исправить строку с текстом Serial2 на Serial1 для Arduino Leonardo или Serial для UNO (у второго контроллера есть только один физический UART, а у первого их 2 шт.). В нашем случае я пишу туда Serial1.
Теперь программа компилируется без вопросов и загружается в контроллер.
Я подключаю джойстик следующим образом:
GND -> GND
+5V -> +3.3V
VRX -> A0
VRY -> A1
Потом я подключаю Nextion к UART-преобразователю следующим образом:
Красный провод на +5V
Черный провод на GND
Синий на RXD
Жолтый на TXD
Вставляю преобразователь в USB-порт ноутбука и запускаю программу Nextion Editor V0.35
В программе создаю новый проект, выбирая в настройках модель экрана NX3224T024_011, поворот экрана 90 градусов и кодировку текста iso-8859-5
Далее клацаю Tools -> Font Generator. Выбираю высоту шрифта 24 и шрифт Times New Roman. Если этого не сделать то не будут работать ни поля с текстом, ни поля для чисел. Нужно чтобы хоть один шрифт был сконфигурирован.
Вставляю элемент WaveForm на рабочий стол экрана и растягиваю его так, чтобы он был растянут на весь экран по ширине, но по высоте оставалось место для остальных элементов. В настройках WaveForm выбираю два пера (ch -> 2) из 4-х возможных.
Далее вставляю два текстовых поля Text для подписей и два поля для цифр Number для отображения текущих координат джойстика.
Кнопкой Upload загружаю проект в TFT-экран выбирая COM-порт или не выбирая - программа сама найдёт на каком порте висит экран. При этом Nextion на белом фоне красным шрифтом пишет прогресс загрузки проекта. В конце загрузки проект автоматически открывается на выполнение.
Отключаю UART-преобразователь от мониторчика и подключаю последний к контроллеру Arduino Leonardo. Два провода питания +5V и GND, а так же TX мониторчика к пину 0 и RX мониторчика к пину 1 контроллера.
Подав питание на контроллер, вижу прорисовку графиков и цифровое отображение средних положений джойстика. А вращая джойстик вижу как графики оживают.
Это демонстрация малой части из того, что можно вытворять с этим монстром человекомашинного интерфейса. Здесь можно делать переходы по разным страничкам, использовать ввод информации через тачскрин, использовать кнопки, отображать дискретные события с контроллера (по дискретному сигналу можно менять картинки). Вообщем это очень разумная покупка - всем рекомендую!
Заказывал я себе на Aliexpress - лучшая цена
TFT Nextion NX3224T024 - кликабельно
Arduino Leonardo -кликабельно
Так же не забываем о экономии при покупке товаров на Алиєкспресс с помощью кэшбэка
Для веб администраторов и владельцев пабликов главная страница ePN
Для пользователей покупающих на Алиэкспресс с быстрым выводом % главная страница ePN Cashback
Похожие статьи
Солнечный трекер на ардуино и сервоприводе (+код для DIY)
Сегодня мы рассмотрим схему и код для создания солнечного трекера
- Любая плата Arduino (Uno на данном примере)
- Конструкция поворотного трекера
- 2 x 4.7K подтягивающие резисторы
- 2 x фоторезисторы
- Сервопривод SG -90
Серводвигатель MG995 и Arduino ,подключение,распиновка + код
Серводвигатель MG995 и Arduino
Серводвигатель MG995 поставляется с проводом длиной 30 см и 3-мя ‘S’ контактами типа мама. Выходной вал сервопривода поворачивается приблизительно на 120 градусов (60 градусов в каждом направлении). Для управления сервами MG995 можно использовать любые контроллеры с питанием логики 5 В, в том числе и Arduino.
Сервомашинка изготавливается в пластиковом корпусе. На выходе стоит редуктор с металлическими шестернями. В комплекте поставляются пластиковые качалки различных форм-факторов.
Сенсорная кнопка и Arduino
Подобные кнопки/датчики используют ваше тело как часть электрической цепи. Когда вы касаетесь чувствительной поверхности сенсорной кнопки, емкость цепи изменяется и фиксируется. Изменение емкости приводит к изменению выходного сигнала.
Вероятно, многим может показаться, что использовать подобный модуль непросто и периодически придется иметь дело с неожиданным результатом. Что ж, оказывается, что все не так. Сенсорная кнопка отлично справляется с поставленными задачами и не преподносит никаких сюрпризов, хотя стоимость и настораживает.
Подключение электроники для 3д принтера rapms 1.4 и arduino mega 2560 Graber i3 принтер из фанеры
Сборка 3д принтера , а в особенности одна из самых важных частей , подключение всех компонентов к плате ардуино мега и рампс 1.4 .RAMPS 1.4 это шилд (надстройка) для Arduino Mega 2560. Ардуино преобразует G-коды в сигналы и управляет 3D принтером посредством силовой части - RAMPS 1.4.
Теги: Пример, использования, TFT Nextion, NX3224T024, с Arduino Leonardo, ардуино