Подключение DHT11 к Arduino и Вывод на LCD 1602 I2C: Схема и Скетч

Содержание

Вступление

DHT11 — это цифровой датчик температуры и влажности, который часто используется в проектах на базе Arduino. LCD 1602 — это популярный дисплей, который позволяет отображать информацию в формате 16×2 символов. В этой статье мы рассмотрим, как подключить DHT11 к Arduino и вывести данные на дисплей LCD 1602 с интерфейсом I2C. Скетч подходит для всех типов Arduino.

Краткое описание DHT11 и LCD 1602

DHT11 измеряет влажность в диапазоне от 20% до 90% и температуру от 0°C до 50°C. LCD 1602 позволяет отображать до 32 символов, что делает его удобным для вывода данных с различных датчиков.

Схема подключения DHT11 к Arduino и Arduino к LCD 1602

Для подключения DHT11 и LCD 1602 I2C к Arduino вам понадобятся следующие компоненты:

  • Arduino (например, Uno)
  • Датчик DHT11
  • Резистор 10 кОм
  • Дисплей LCD 1602 с модулем I2C
  • Провода для соединений
Таблица 1. Схема подключения DHT11 и Arduino
DHT11Arduino
1VCC5V
2GNDGND
3DATAD2

Установите резистор 10 кОм между выводами VCC и DATA на DHT11.

Таблица 2. Схема подключения LCD 1602 и Arduino
LCD 1602Arduino
1VCC5V
2GNDGND
3SDAA4
4SCLA5

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

  1. DHT-sensor-library: Библиотека для работы с датчиком DHT11.
  2. Adafruit Unified Sensor: Библиотека для работы с различными датчиками.
  3. LiquidCrystal I2C: Библиотека для работы с LCD 1602 через интерфейс I2C.

Код взаимодействия DHT11 и Arduino с выводом на LCD 1602

Код на языках C/C++ считывает температуру и влажность с датчика DHT11 каждые 2 секунды. Значения обновляются на экране дисплея LCD 1602.
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <DHT.h> #include <Adafruit_Sensor.h> // Определите пин, к которому подключен DHT11 #define DHTPIN 2 // Определите тип используемого DHT датчика #define DHTTYPE DHT11 // Создайте экземпляр класса DHT DHT dht(DHTPIN, DHTTYPE); // Создайте экземпляр класса LiquidCrystal_I2C с адресом 0x27 LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { // Инициализируйте последовательный порт для вывода данных Serial.begin(9600); Serial.println("DHT11 датчик температуры и влажности и LCD1602"); // Инициализируйте DHT11 dht.begin(); // Инициализируйте LCD1602 lcd.begin(); lcd.backlight(); lcd.print("DHT11 & LCD1602"); delay(2000); lcd.clear(); } void loop() { // Подождите 2 секунды между измерениями delay(2000); // Считайте данные с DHT11 float humidity = dht.readHumidity(); float temperature = dht.readTemperature(); // Проверьте, произошла ли ошибка при чтении данных if (isnan(humidity) || isnan(temperature)) { Serial.println("Ошибка при чтении данных с DHT11"); lcd.setCursor(0, 0); lcd.print("Ошибка DHT11"); return; } // Вывод данных в Serial Monitor Serial.print("Влажность: "); Serial.print(humidity); Serial.print(" %\t"); Serial.print("Температура: "); Serial.print(temperature); Serial.println(" *C"); // Вывод данных на LCD1602 lcd.setCursor(0, 0); lcd.print("Влажность: "); lcd.print(humidity); lcd.print(" %"); lcd.setCursor(0, 1); lcd.print("Темп: "); lcd.print(temperature); lcd.print(" C"); }

Заключение

Подключение DHT11 и LCD 1602 к Arduino позволяет создавать простые и функциональные системы мониторинга температуры и влажности. Используя предоставленные схемы подключения и пример кода, вы сможете быстро реализовать свой проект и отобразить данные на дисплее.

FAQ

1. Какие компоненты нужны для подключения DHT11 и LCD 1602 к Arduino?
Вам понадобятся Arduino, датчик DHT11, резистор 10 кОм, дисплей LCD 1602 с модулем I2C и соединительные провода.

2. Какие библиотеки нужны для работы с DHT11 и LCD 1602?
Используйте библиотеки DHT-sensor-library, Adafruit Unified Sensor и LiquidCrystal I2C.

3. Как часто можно считывать данные с DHT11?
Рекомендуется делать замеры каждые 2 секунды для обеспечения точности данных и предотвращения перегрева датчика.

4. Какой адрес используется для модуля I2C дисплея LCD 1602?
Обычно используется адрес 0x27, но он может отличаться в зависимости от конкретного модуля.