DS12B20 и DHT не выводят показания на lcd1602
- Войдите на сайт для отправки комментариев
Вс, 08/08/2021 - 14:45
Добрый день! Была идея сделать метеостанцию на основе ардуино уно, дисплея 1602 и датчиков DS12B20 и DHT. С первого надо было выводить температуру, со второго - влажность. Написал код, загрузил, но вот беда - на дисплее нету ничего, кроме различных непонятных символов. 1602 подключён верно - проверял на любимом hello world. Прошу о помощи, ибо я шарю в этой теме совсем немного. Код даю ниже.
//Подключение библиотек
#include <LiquidCrystal.h>
#include <DHT.h>
#include <OneWire.h>
#include <DallasTemperature.h>
//Данные передаются на пин 10
#define ONE_WIRE_BUS 10
//Установка переменной oneWire для коммуникации с OneWire устройствами
OneWire oneWire(ONE_WIRE_BUS);
//Передать ссылку oneWire к Dallas Temperature
DallasTemperature sensors(&oneWire);
#define DHTPIN 6 //Определение пина для получения данных
#define DHTTYPE DHT11 //Определение типа датчика
LiquidCrystal lcd(12, 11, 2, 3, 4, 5); //Инициализация дисплея с номерами пинов
String hum = ""; //Переменная для вывода влажности
DHT dht(DHTPIN, DHTTYPE); //Инициализация датчика
void setup()
{
lcd.begin(16, 2); //Установка количества колонок и строк на дисплее
dht.begin(); //Запуск датчика
sensors.begin(); //Инициализация датчика
}
void loop()
{
delay(2000); //Задержка 2 секунды (довольно медленный датчик)
sensors.requestTemperatures(); //Команда для запроса температуры
float h = dht.readHumidity(); //Чтение данных влажности
if (isnan(h)) // Проверка, все ли данные корректны
return; //Возврат, если данные некорректно считались
hum = "Hum: " + String(h) + "%"; //Строка влажности
lcd.setCursor(0, 0);
//Вывод температуры
lcd.print((String)"Temp: " + sensors.getTempCByIndex(0) + " C");
lcd.setCursor(0, 1);
//Вывод влажности
lcd.print(hum);
}
Всё, проблема скрывалась в неправильном подключении 1 провода дисплея
А что такое DS12B20?
https://www.robotistan.com/waterproof-ds12b20-digital-temperature-sensor
А как тода он хелловрлд показывал?
Хелловорды ани паказывают ваще без кода, простатак )))