В этом уроке мы рассмотрим самый популярный датчик температуры DHT11. Научимся считывать показания датчика и выводить на LCD 1602 I2C дисплей.

Нам понадобится:
- Arduino
- Перемычки или Набор проводов для макетирования 65 шт.
- Провода Папа-Мама
- Breadboard
- Резисторы
- DHT11 цифровой датчик температуры и влажности
- Символьный дисплей голубая подсветка LCD1602 IIC/I2C или Символьный дисплей зеленая подсветка LCD1602 IIC/I2C
Для реализации проекта нам необходимо установить библиотеки:
Схема подключения:
Этом уроке к arduino uno будет подключено два модуля, датчик температуры и влажности DHT11 и символьный дисплей LCD1602 IIC/I2.
1) Датчик DHT11 с помощью которого будем получать данные о температуре и влажности окружающей среды, подключается следующим образом.

Описание подключения DHT11 к Arduino:
| DHT11 | Arduino |
|---|---|
| 1 контакт | 5V |
| 2 контакт | Pin 2 |
| 3 контакт | Через резистор 10 kOm к 5V |
| 4 контакт | GND |
2) Теперь подключаем символьный дисплей LCD1602 IIC/I2C к Arduino uno, на который будет выводиться информация о температуре и влажности.

Описание подключения LCD1602 IIC/I2C к Arduino:
| Arduino | LCD1602 IIC/I2C | Цвет проводов на фото |
| GND | GND | Черный |
| 5V | VCC | Красный |
| A4 | SDA | Коричневый |
| A5 | SCL | Серый |
Скетч:
Не забудьте установить библиотеки указанные в начале урока.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <iarduino_DHT.h>
#define DHT11PIN 2
LiquidCrystal_I2C lcd(0x27, 16, 2);
iarduino_DHT sensor(DHT11PIN);
byte degree[8] = // кодируем символ градуса
{
B00111,
B00101,
B00111,
B00000,
B00000,
B00000,
B00000,
};
void setup()
{
lcd.init();
lcd.backlight();
lcd.createChar(1, degree); // Создаем символ под номером 1
}
void loop()
{
int chk = sensor.read();
lcd.setCursor(0, 0);
lcd.print("Hum: %");
lcd.setCursor(11, 0);
lcd.print(sensor.hum);
lcd.setCursor(0, 1);
lcd.print("temp: 1C");
lcd.setCursor(11, 1);
lcd.print(sensor.tem);
delay(2000);
}
Демонстрация работы:

Обсуждение