вторник, 4 ноября 2025 г.

Создаем метеостанцию на ESP32 с TFT-дисплеем и BMP180

 

Создаем метеостанцию на ESP32 с TFT-дисплеем и BMP180

В этом посте я хочу поделиться опытом сборки компактной, но полнофункциональной метеостанции на основе микроконтроллера ESP32. Устройство отображает температуру, атмосферное давление и высоту над уровнем моря на ярком TFT-экране 1.44 дюйма. Возможность точной калибровки датчика, через монитор порта, для получения правильных данных.


Что нам понадобится?


  • Микроконтроллер: ESP32 DEVKIT V1 (30 pin)
  • Дисплей: TFT 1.44" с разрешением 128x128 пикселей (на чипе ST7735)
  • Датчик: BMP180 (давление и температура)
  • Провода для соединения
  • Среда разработки: Arduino IDE


Схема подключения


Собрать устройство очень просто — нужно соединить компоненты согласно следующим таблицам.


Подключение дисплея TFT 1,44


Дисплей = ESP32

VVC = 3.3V

GND = GND

CS = GPIO5

RESET= GPIO4

AD (DC) = GPIO2

SDA = GPIO23

SCL (SCK) = GPIO18

LED = 3.3V


Подключение датчика BMP180


BMP180= ESP32

VIN = 3.3V

GND = GND

SCL = GPIO22

SDA = GPIO21


Важно: Датчик BMP180 использует шину I2C, поэтому SDA и SCL подключаются к соответствующим пинам ESP32. Дисплей работает по SPI, и его пины подключаются к любым цифровым GPIO, которые мы укажем в коде.


Программная часть


За основу взят код, который не только считывает данные, но и позволяет их калибровать.

Не забудьте подключить библиотеки;

Adafruit_GFX

Adafruit_ST7735

Adafruit_BMP085


Ссылку на папку с кодом можно найти в конце статьи.


Самая важная часть: калибровка


Показания атмосферного давления с датчика BMP180 могут немного "плавать". Чтобы получить точные данные, особенно для расчета высоты, необходима калибровка. В этом проекте она выполняется через монитор порта.


1. Калибровка давления:

  •    Узнайте точное атмосферное давление в вашей местности (например, из приложения погоды).
  •    В Serial-мониторе введите команду: CAL 750.0 (где 750.0 — ваше значение).
  •    Датчик запомнит поправку (offset).

2. Калибровка высоты:

  •    Введите команду: ALT 120.0 (где 120.0 — ваша реальная высота над уровнем моря в метрах).
  •    Прошивка рассчитает точное давление на уровне моря, что критически важно для корректного расчета высоты.


После калибровки данные на дисплее становятся максимально точными.


Как это работает в реальности


На дисплее выводится четыре строки:


  • Temp: Температура в °C.
  • Press: Атмосферное давление в гектопаскалях (hPa) с учетом калибровки.

  • Alt: Высота над уровнем моря в метрах.
  • Time: Время работы устройства в секундах.


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


Итог


В результате мы получили автономную метеостанцию, которая:


  • Отображает актуальные данные о температуре, давлении и высоте.
  • Имеет простую и надежную схему подключения.
  • Позволяет провести точную калибровку для профессионального использования.
  • Основана на популярных и недорогих компонентах.

Ссылка на папку с кодом.

Этот проект — отлично подойдёт новичку, для изучения программирования и сборки устройств на основе Ардуино, esp 32 и других отладочных плат.

Подробнее о теме читайте в моей статье на Дзене ссылка ссылка

Это самый первый пост


EmoticonEmoticon