Engineer Notes
  • Главная
  • Заметки
    • Градусник
      • Вывод информации на дисплей (семи сегмент)
      • Вывод информации на ЖК дисплей
      • Градусник DS18B20
    • Работа с датчиком освещенности
      • Работа с реле
      • Создание удлинителя, который работает только в темноте
    • Перехват кодов с пульта управления (IR)
      • Передача сигнала
    • Серво привод
    • Разбираемся с мотором
    • Подключение гироскопа
    • Сохраним файлы на SD карту
    • Часы реального времени
    • Контроллер ATTINY85
    • Доступ к датчикам через Web
  • Проекты
Powered by GitBook
On this page
  • Нужные элементы
  • Схема подключения
  • Написание кода

Was this helpful?

  1. Заметки
  2. Градусник

Вывод информации на ЖК дисплей

PreviousВывод информации на дисплей (семи сегмент)NextГрадусник DS18B20

Last updated 5 years ago

Was this helpful?

Нужные элементы

Датчики:

Дисплей:

Рекомендую сразу брать дисплей с уже припаянным I2C модулей, выйдет дешевле и не надо будет паять

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

Как работать с датчиками DHT-NN разбирались в .

Для подключения дисплея будем использовать подключение по , для тех кому википедии не достаточно, то есть

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

Наименование платы

SDA

SCL

Arduino Uno

A4

A5

Arduino Nano

A4

A5

Arduino Micro

2

3

Arduino Mega 2560

20

21

Arduino Leonardo

2

3

Arduino Due

20

21

ESP-12E (8266)

D2

D1

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

Написание кода

lib_deps =
https://github.com/johnrickman/LiquidCrystal_I2C.git

Теперь пришло время доработать наш код и добавить отображение температуры на дисплей

#include <Arduino.h>

#include <DHT.h>
#include <LiquidCrystal_I2C.h>

DHT dht(2, DHT11);
LiquidCrystal_I2C lcd(0x27,16,2);

byte tempChar[] = {0x07,0x05,0x07,0x00,0x00,0x00,0x00,0x00};

void setup() {
    Serial.begin(9600);
    dht.begin();

    lcd.init();
    lcd.backlight();
    lcd.createChar(0, tempChar);
}

void loop() {
    delay(1000);

    float h = dht.readHumidity();
    float t = dht.readTemperature();
    if (isnan(h) || isnan(t)) {
        Serial.println("Не удается считать показания");
        return;
    }

    //Выводим показания на дисплей
    lcd.setCursor(0,0);
    lcd.print("Humidity: " + String(h) + "%");
    lcd.setCursor(0,1);
    lcd.print("Temp: "+ String(t) + " C");
    lcd.setCursor(12, 1);
    lcd.write(0);

    Serial.print("Влажность: ");
    Serial.print(h);
    Serial.print("%\tТемпература: ");
    Serial.print(t);
    Serial.println(" °C");
}

Загружаем прошивку на плату и проверяем работу. Примерно вот так это выглядит у меня

Для работы с LCD дисплеем нам потребуется библиотека , можно установить аналогичным способом или при использовании PlatformIO можно добавить в файл platformio.ini зависимость от данной библиотеки и она будет скачена в автоматическом режиме.

DHT-11
DHT-11 в готовом модуле
DHT-22
LCD дисплей 2x16
LCD дисплей 4x20
I2C модуль для дисплея
статье чуть ранее
I2C
видео
LiquidCrystal_I2C
Схема подключения
Termometer photo with lcd display