OLED термометр и гигрометр на HTU21D
В предыдущих статьях рассказывал о датчике температуры и влажности HTU21D, так же, показывал пример подключения его к ESP8266. Сегодня приведу пример подключения датчика HTU21D к Arduino UNO с отображением показаний на OLED дисплей.
В предыдущих статьях рассказывал о датчике температуры и влажности HTU21D, так же, показывал пример подключения его к ESP8266. Сегодня приведу пример подключения датчика HTU21D к Arduino UNO с отображением показаний на OLED дисплей.
Необходимые детали:
► Контроллер Arduino UNO R3 на CH340G x 1 шт.
► Провода DuPont, 2,54 мм, 20 см x 1 шт.
► Датчика температуры и влажности HTU21D x 1 шт.
► OLED-дисплей 0.96,128х64, 3.3-5B, SPI, IIC, синий x 1 шт.
Описание:
В данном примере с помощью контроллера Arduino UNO будем считывать показания с датчика HTU21D, полученные данные (температура и влажность) отобразим, последовательно на OLED дисплеи, так же будем дублировать данные в «Последовательный порт»
Подключение:
Подключение не сложное, так как датчик HTU21D и OLED дисплей работают по шине I2C, подключение будет к одним выводам Arduino UNO. Теперь подключаем интерфейс I2C, выводы A4 и A5 (Arduino UNO) подключаем к выводам DA и CL (HTU21D), затем к этим же выводам подключаем OLED дисплей, вывод SDA и SCL. Далее, осталось подключить питание, выводы с HTU21D (VCC и GND) и выводы OLED дисплея (V3V и GND), подключаем к Arduino UNO (3.3V и GND). Вот и все, для удобства приведу сеху подключения.
Установка библиотеки:
В данном примере используются две библиотеки «SparkFunHTU21D» и «OLED_I2C» скачать ее можно с «Менеджер библиотек» или в конце статьи, на 20.09.2021 версия 1.0.5.
В строке поиска вводим «HTU21D» находим библиотеку «SparkFunHTU21D» и устанавливаем ее.
Библиотеку «OLED_I2C» скачиваем файлом в конце статьи.
Программа:
Теперь, у нас все готово, копируем скетч в Arduino IDE или скачайте готовый файл и загружаем его в Arduino IТеперь, у нас все готово, копируем скетч в Arduino IDE или скачайте готовый файл и загружаем его в NodeMCU, незабываем указать свои данные сети.UNO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
/* Тестировалось на Arduino IDE 1.8.5 Дата тестирования 19.09.2021г. */ #include <Wire.h> // Подключаем библиотеку Wire #include <OLED_I2C.h> // Подключение библиотеки OLED_I2C OLED myOLED(SDA, SCL, 8); #include "SparkFunHTU21D.h" // Подключаем библиотеку SparkFunHTU21D HTU21D myHumidity; // Создаем объект для работы с датчиком extern uint8_t MegaNumbers[]; // Подключение больших шрифтов extern uint8_t SmallFont[]; // Подключение маленьких void setup() { Serial.begin(9600); // Открытие последовательного порта на скорости 9600 Serial.println("HTU21D Example!"); // Отправка сообщения в последовательного порт myOLED.begin(); // Инициализация OLED myHumidity.begin(); // Инициализация HTU21D } void loop() { float humd = myHumidity.readHumidity(); // Считываем влажность float temp = myHumidity.readTemperature(); // Считываем температуру myOLED.clrScr(); // Очищаем экран myOLED.setFont(MegaNumbers); // Включаем большой шрифт myOLED.print(String(myHumidity.readTemperature() , 1), CENTER, 12); myOLED.setFont(SmallFont); // Включаем маленький шрифт myOLED.print("Temperature", CENTER, 57); // Отображение надписи myOLED.update(); // Обновляем информацию на дисплее delay(1000); myOLED.clrScr(); // Очищаем экран myOLED.setFont(MegaNumbers); // Включаем большой шрифт myOLED.print(String(myHumidity.readHumidity() , 1), CENTER, 12); myOLED.setFont(SmallFont); // Включаем маленький шрифт myOLED.print("Humidity", CENTER, 57); // Отображение надписи myOLED.update(); // Обновляем информацию на дисплее delay(1000); Serial.print("Temperature:"); // Отправка сообщения Serial.print(temp, 1); // Отправка температуры Serial.print("C"); // Отправка сообщения Serial.print(" Humidity:"); // Отправка сообщения Serial.print(humd, 1); // Отправка влажности Serial.print("%"); // Отправка сообщения Serial.println(); // Отправка сообщения delay(1000); // Пауза } |
Открываем «Мониторинг порта«, где можно увидеть показания температуры и влажности.
Ссылки
Библиотека OLED_I2C
Библиотека SparkFunHTU21D
Купить на Aliexpress
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Провода DuPont, 2,54 мм, 20 см
OLED-дисплей 0.96,128х64, белый, DC 3.3-5B, SPI, IIC
Датчика температуры и влажности HTU21D
Купить в Самаре и области
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Провода DuPont, 2,54 мм, 20 см
OLED-дисплей 0.96,128х64, 3.3-5B, SPI, IIC, белый
Датчика температуры и влажности HTU21D
Здравствуйте! У меня не отображается минусовая температура. Что может быть?