Метеостанции на Arduino с использованием дисплея DWIN и датчика BME280

В этой статье создадим компактную метеостанцию, используя контроллер Arduino UNO и датчиком BME280 (в прошлых подробно рассказывал о данном датчике). С помощью BME280 можно получать показатели атмосферного давления, температуры воздуха и уровня влажности. Дополнительно BME280 позволяет вычислять высоту относительно уровня моря, но в статье его не будет. Все полученные измерения будут отображены на экране дисплея DWIN.

Необходимые детали

  • Контроллер Arduino UNO R3  x 1 шт.
  • Провода DuPont, 2,54 мм, 20 см x 1 шт.
  • Датчик атмосферного давления, влажности и температуры BME280 x 1 шт.
  • Дисплей DWIN 7 дюймов x 1 шт.
  • Блок питания (сетевой адаптер) универсальный 5В 5А, штекер 5.5 х 2.5 x 1 шт.

Описание

В данном проекте мы рассмотрим процесс взаимодействия микроконтроллера Arduino UNO с датчиком температуры, влажности и атмосферного давления BME280, а также передачу полученных данных на графический дисплей DWIN. Данный проект является отличным примером того, как современные устройства позволяют собирать важные показатели окружающей среды и отображать их удобным образом.

Подключение

Схема подключения не сложная, сначала подключаем питание датчика, выводы VCC и GND присоединяется к выводам 5V и GND платы Arduino UNO, затем выводы SCL и SDA модуля подключаем к выводам A5 и A4 Arduino UNO. Теперь осталось подключить дисплей DWIN, для модуля необходимо отдельный блок питания на 5В выводы VCC и GND присоединяется к выводам 5V и GND, затем выводы RX и TX подключаем к контактам D3 и D2 и не забываем объединить землю между дисплеем и Arduino. Для удобства вывел схему подключения ниже.

Скетч можно изменить и использовать не программный последовательный порт, а железный D0 и D1 но при прошивке Arduino необходимо отключать выводы D0 и D1 от дисплея иначе прошить не получится.

Установка библиотеки

Для работы с датчиком BME280 необходимо установить библиотеку Adafruit BME280. Проще всего это сделать, используя интегрированную среду разработки Arduino IDE, для этого откройте Скетч → Подключение библиотеки → Менеджер библиотек

Откроется новое окно нажмите скачать все

Программа

Запустите программу Arduino IDE, вставьте приведенный ниже код и загрузите его на вашу плату Arduino UNO.

Если все правильно сделали при открытия мониторинга порта увидим показания с датчика BME280

Описание скетча

Сначала подключаются необходимые библиотеки для работы с датчиком BME280 (Adafruit_BME280) и сенсорами вообще (Adafruit_Sensor).

Для работы с дисплеем DWIN будем использовать программный последовательный порт, для этого подключаем библиотеку SoftwareSerial и указываем в каким портам подключен дисплей.

Создается объект для работы с датчиком BME280.

Создаем три массива для передачи температуры, влажности и давления, в котором указываем адрес отображения, в моем случае это 0x10, 0x20 и 0x30

В функции setup, инициализируем два последовательного порта со скорость 115200 бит/с. и производится проверка доступности датчика BME280. Если датчик не найден, выводится сообщение об ошибке.

Следующая командами считываем показания температуры, влажность и атмосферного давления с датчика BME280.

Далее поочередно отправляем данные температуры, влажности и давления на дисплей DWIN и дублируем данные на последовательный порт, в конце делаем небольшую задержку в 1 секунду.

Настройка дисплея DWIN

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

Подготовка дисплея

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

При установленной перемычке устанавливается режим TTL/UART (то есть 0-5В), тогда как разомкнутый контакт соответствует режиму RS232 (-12В — +12В). Дисплеи поступают с завода без установленной перемычки, следовательно, её потребуется соединить самостоятельно, например, путём пайки либо установки SMD-резистора сопротивлением 0 Ом.

Подготовка файлов для прошивки

В предыдущей статье писал о начальных этапах работы с дисплеем, настоятельно рекомендую ознакомиться с ней перед продолжением, так как полностью не буду описывать создание проекта. Для продолжения настройки, добавляем главную страницу.

Чтобы отображать необходимую информацию, воспользуемся инструментом — «Data variables».

Указываем место где будет отображаться температура, далее в поле «VP (0x)» задаем адрес «1000», в поле «Show colour» задаем цвет «FFFFF» (белый), в поле «Variable tyre» задаем «int (2 bytes)» и в последнем поле «integer digits» значение «2».

Указываем место где будет отображаться влажность, далее в поле «VP (0x)» задаем адрес «2000», в поле «Show colour» задаем цвет «FFFFF» (белый), в поле «Variable tyre» задаем «int (2 bytes)» и в последнем поле «integer digits» значение «2».

Указываем место где будет отображаться давление, далее в поле «VP (0x)» задаем адрес «3000», в поле «Show colour» задаем цвет «FFFFF» (белый), в поле «Variable tyre» задаем «int (2 bytes)» и в последнем поле «integer digits» значение «2».

Подготовка SD карты

Для прошивки дисплея DWIN необходимо SD-карта объемом от 1 гигабайта до 16 гигабайт. Использование карт большей емкости, например, на 32 гигабайта, приведет к невозможности загрузки прошивки.Первым делом необходимо отформатировать флешку, откройте раздел «Мой компьютер». Затем щелкните правой кнопкой мыши по пункту «SD карта» и выберите опцию «Форматировать…».

Далее установите файловую систему FAT32 и укажите размер кластера 4096 байт, затем нажмите кнопку «Начать».

Скопируйте ваш проект DWIN_SET на флешку.

Установите SD-карту и подключите питание.

Появится синий экран с надписями. Дождитесь появления строки «SD Card Process… END!» на дисплее. При успешной загрузке вы увидите такую информацию.

Подаем питание, если все правильно сделано, на дисплее отобразится информация температуры, влажности и давления.

Полезные ссылки

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *