Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Компоненты и материалы

Arduino Nano R3×1
Датчик BME280 (SparkFun Atmospheric Sensor Breakout)×1
Nextion NX8048T070 — 7" HMI TFT сенсорный дисплей (Itead)×1
USB-UART преобразователь FT232RL (SparkFun)×1

Приложения и онлайн-сервисы

О проекте

Существует много вариантов дисплеев для добавления графического интерфейса к Arduino. Большинство из них требуют много памяти и процессорного времени, не подходят для плат с ограниченными ресурсами — Arduino UNO или Arduino Nano. Когда память ограничена, а нужен продвинутый UI, популярным выбором становятся умные программируемые последовательные дисплеи Nextion. Компания Itead предлагает бесплатный Nextion Editor для проектирования интерфейса.

BME280 — высокоточный комбинированный датчик температуры, влажности и барометрического давления. Подключается по I2C или SPI.

Visuino имеет полную поддержку Nextion, и я давно планировал туториал по этой теме. Также хотел сделать туториал по BME280. Решил объединить — один урок: вывод температуры, влажности и давления с BME280 на 3 канала компонента Scope (Waveform) на Nextion-дисплее.

Шаг 1: Компоненты

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Шаг 2: Подключение Nextion к USB-UART модулю

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Для прошивки Nextion через Nextion Editor нужен USB-TTL преобразователь:

Шаг 3: Запуск Nextion Editor, выбор типа дисплея и ориентации

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Шаг 4: В Nextion Editor — добавление и настройка компонента Waveform (Scope)

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Нужен компонент Scope с 3 каналами для Температуры, Давления, Влажности:

Шаг 5: Загрузка проекта в Nextion

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Шаг 6: Запуск Visuino, выбор типа Arduino

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

У Arduino Nano только один Serial-порт, он нужен для прошивки Arduino. Поэтому Arduino нужно прошить до подключения Nextion.

Нужен установленный Arduino IDE (https://www.arduino.cc/). В Arduino IDE 1.6.6 критические баги — ставьте 1.6.7 или выше, иначе туториал не заработает!

Visuino: https://www.visuino.com — тоже установите.

Шаг 7: В Visuino — добавление компонента Nextion Display и элемента Scope

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Шаг 8: В Visuino — 3 канала для Scope и подключение Nextion

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Шаг 9: В Visuino — 3 компонента Map Range

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Каналы Nextion Scope принимают значения 0.0–1.0. Для отображения температуры, влажности, давления — конвертируем в этот диапазон через Map Range:

Шаг 10: В Visuino — подключение Map Range к каналам Nextion

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Шаг 11: В Visuino — добавление и подключение BME280

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Шаг 12: В Visuino — добавление, настройка и подключение Clock Generator

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Проект будет работать и так, но Scope обновляется слишком часто. Лучше — 10 раз в секунду. Добавим тактовый генератор для тактирования чтения сенсора и обновления Scope.

Шаг 13: Генерация, компиляция и загрузка кода Arduino

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Шаг 14: Подключение BME280 к Arduino

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Шаг 15: Подключение Nextion к Arduino

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Шаг 16: Играемся...

Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion

Поздравляю! Проект завершён.

Фото 1 — собранный и включённый проект. На фото и в видео видно, как Scope на Nextion рисует Давление, Температуру и Влажность с BME280.

Фото 2 — полная диаграмма Visuino.

Прилагается Visuino-проект для этого туториала. Скачайте и откройте в Visuino: https://www.visuino.com

В том же архиве — проект Nextion Editor для дисплея.

Файл: FJE6Y04IWE4O3H6.zip

Производственный процесс

  1. Бесшовный мониторинг температуры и влажности на Raspberry Pi с EzTemp
  2. Создание сетевой лабораторной метеостанции на Raspberry Pi
  3. Логгер температуры и влажности на Arduino с DHT11 и Ethernet Shield
  4. Монитор температуры и реальные часы на Arduino Due с TFT-дисплеем 3.2"
  5. Интерактивный HMI-проект на Nextion с Arduino Mega и датчиками
  6. Сборка вольтметра на Arduino с дисплеем Nokia 5110 — Пошаговое руководство
  7. Измерение расстояния в реальном времени: Ардуино-сонар с визуализацией в Processing
  8. Чтение температуры и влажности DHT11 через Blynk — пошаговый урок для Arduino
  9. Создание приложения Fridgeye с дисплеем Nextion: пошаговое руководство
  10. Проект Arduino GPS и TFT-сенсорного экрана: отображение местоположения в реальном времени