Метеостанция на ардуино с дисплеем 1602: Метеостанция (Arduino pro mini, BME280, LCD1602) / Хабр

Содержание

LCD Keypad Shield для Arduino

Популярная плата расширения для Arduino, с не менее популярным текстовым экраном Wh2602A и несколькими кнопками.

Характеристики:

  • Текстовый LCD экран Wh2602A с возможностью регулировки контрастности и яркости подсветки.
  • Резистивная клавиатура из пяти кнопок и кнопка Reset.
  • Дополнительные «штырьки» для подключение периферии, разъем ICSP.

Подключение:

Совместим со всеми arduino совместимыми платами,которые имеют стандартное для arduino подключение шилдов, за одним небольшим исключением, разъем ICSP на шилде не дублирует ICSP платы, а соединен с 11, 12 и 13 цифровыми выходами, работать он будет с платами серии UNO.

Резистивная клавиатура подключена к аналоговому входу А0, клавиатура представляет собой делитель напряжения с группой резисторов, сопротивление делителя и напряжение на входе А0 зависит от нажатой кнопки. Более подробно на схеме ниже.

Регулировка яркости подсветки экрана осуществляется ШИМ сигналом с 10 цифрового выхода ардуино, также можно полностью выключить подсветку подав на 10 выход логическую единицу.

Все задействованные выходы, включая выходы LCD экрана указаны в таблице ниже.

Пин Функция
A0 Резистивная клавиатура, кнопки select, up, right, down and left
D4 LCD 1602 — DB4
D5 LCD 1602 — DB5
D6 LCD 1602 — DB6
D7 LCD 1602 — DB7
D8 LCD 1602 — RS
D9 LCD 1602 — Enable
D10 Управление подсветкой LCD 1602

Основные элементы шилда:

Дополнительные штырьки для подключения периферии, обычно не распаяны.

 


Софт:

Пример для работы с шилдом от производителя:

Код примера

//Sample using LiquidCrystal library
#include <
LiquidCrystal
.h> /*******************************************************This program will test the LCD panel and the buttonsMark Bramwell, July 2010********************************************************/ // select the pins used on the LCD panel LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // define some values used by the panel and buttons int lcd_key     = 0; int adc_key_in  = 0; #define btnRIGHT  0 #define btnUP     1 #define btnDOWN   2 #define btnLEFT   3 #define btnSELECT 4 #define btnNONE   5 // read the buttons int read_LCD_buttons() { adc_key_in = analogRead(0);      // read the value from the sensor // my buttons when read are centered at these valies: 0, 144, 329, 504, 741 // we add approx 50 to those values and check to see if we are close if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result // For V1.
1 us this threshold if (adc_key_in < 50)   return btnRIGHT;   if (adc_key_in < 250)  return btnUP; if (adc_key_in < 450)  return btnDOWN; if (adc_key_in < 650)  return btnLEFT; if (adc_key_in < 850)  return btnSELECT;   // For V1.0 comment the other threshold and use the one below: /* if (adc_key_in < 50)   return btnRIGHT;   if (adc_key_in < 195)  return btnUP; if (adc_key_in < 380)  return btnDOWN; if (adc_key_in < 555)  return btnLEFT; if (adc_key_in < 790)  return btnSELECT;   */ return btnNONE;  // when all others fail, return this... } void setup() { lcd.begin(16, 2);              // start the library lcd.setCursor(0,0); lcd.print("Push the buttons"); // print a simple message } void loop() { lcd.setCursor(9,1);            // move cursor to second line "1" and 9 spaces over lcd.print(millis()/1000);      // display seconds elapsed since power-up lcd.
setCursor(0,1);            // move to the begining of the second line lcd_key = read_LCD_buttons();  // read the buttons switch (lcd_key)               // depending on which button was pushed, we perform an action {   case btnRIGHT:     {     lcd.print("RIGHT ");     break;     }   case btnLEFT:     {     lcd.print("LEFT   ");     break;     }   case btnUP:     {     lcd.print("UP    ");     break;     }   case btnDOWN:     {     lcd.print("DOWN  ");     break;     }   case btnSELECT:     {     lcd.print("SELECT");     break;     }     case btnNONE:     {     lcd.print("NONE  ");     break;     } } }

Купить:

на али



Запись опубликована автором admin в рубрике Обзоры с метками LCD, lcd keypad shield.

Решил сделать метеостацию на Ардуино в программе XOD, выкладываю инструкцию: шаг за шагом | Электрик по-жизни

Привет, друзья!

Если вы думаете, что я перестал писать статьи о программировании Arduino, то сильно ошиблись.

Я решил продолжить серию статей о программировании микроконтроллеров, и сегодня статья из цикла «Программируем в XOD».

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

Как я же сказал, сегодня программируем в программе XOD. Скачайте, установите, если хотите попробовать то, о чем пойдет речь в статье.

Сегодня речь пойдет о измерение температуры и влажности с помощью Arduino и датчика #DHT11.

Скриншот с сайта https://aliexpress.ru/ Распиновка датчика DHT 11 на плате CNT 5

Скриншот с сайта https://aliexpress.ru/

Будьте внимательны!
Распиновка датчиков DHT11 в зависимости от платы на которой он распаен, разная, смотри фото в галерее.

Вывод данных с датчика будет осуществляться на дисплей LCD 1602 по I2C соединению, такое соединение дает возможность дает возможность освободить до 6 пинов на микроконтроллере, которые как вы знаете на #Arduino лишними не бывают.

Для реализации данного проекта нам потребуется:

  • Плита Arduino Uno;
  • Дисплей LCD 1602 по I2C;
  • Датчика измерения температуры и влажности DHT11;
  • Макетную плату;
  • Провода для соединения.

Схема соединения компонентов будет следующая:

Измерение температуры и влажности с помощью Arduino и датчика DHT11

Измерение температуры и влажности с помощью Arduino и датчика DHT11

Листинг программы #XOD будет выглядеть следующим образом.

Листинг программы измерения температуры и влажности с помощью датчика DHT11

Листинг программы измерения температуры и влажности с помощью датчика DHT11

Если вы не разу не программировали в XOD, советую прочитать статьи здесь, если программа вам уже знакома, объясняю значение расположенных в ней блоков, которые в XODe называются #ноды

  • Датчик DHT 11 в программе представлен нодой dht11-hygrometer, именно с помощью этой ноды ведется опрос датчика подключенного к цифровому пину 7 платы Arduino Uno.
  • Чтобы установить ноду в рабочее поле можно найти нужную ноду в столбце Project Browser или двойным кликом на рабочем поле открыть строку поиск и вписать в строку нужную ноду.
Двойной щелчек по рабочему полю открывает строку поискав которую можно написать название ноды

Двойной щелчек по рабочему полю открывает строку поискав которую можно написать название ноды

  • Нода clock задает интервал опроса датчика с периодичностью в 3 секунды.
  • Сигнал с ноды dht11-hygrometer с числового канала Тс передается сразу на ноду concat для передачи данных в первую строку дисплея LCD 1602 #I2C представленного в листинге нодой text-lcd-i2c-16×2.
  • Сигнал с числового канала RH ноды dht11-hygrometer предается на ноду to-percent для преобразования в проценты и передачи на ноду concat, а с нее опять в первую строчку дисплея.
  • Таким образом данные с датчика DHT11 выводятся на дисплей LCD 1602.
  • Ноду concat с помощью специальной перетяжки можно изменить в размерах для добавления необходимых данных.
Как увеличивать ноду concat и вносить в нее дополнительные данные

Как увеличивать ноду concat и вносить в нее дополнительные данные

Дополнительные данные написания можно вносить в инспекторе нода concat (дисплей, поддерживает только написание латиницей).

Вот такой получился проект для измерения температуры и влажности.

Напрашивается вопрос, почему я использовал только верхнюю строчку дисплея.

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

Проект «Метеостанция» на макетной плате

Проект «Метеостанция» на макетной плате

Скачать файл проекта «Метеостанция» можно здесь

Купить датчик DHT11, о так же другие компоненты можете на Joom.

Подписывайтесь на канал и узнавайте первыми о новых опубликованных материалах.

ЕСЛИ СЧИТАЕТЕ СТАТЬЮ ПОЛЕЗНОЙ,

НЕ ЛЕНИТЕСЬ СТАВИТЬ ЛАЙКИ И ДЕЛИТЬСЯ С ДРУЗЬЯМИ

Миниатюрный дисплей 1602

Это обзор снова для самоделкиных. Сегодня я расскажу о миниатюрных LCD дисплеях. Недорогие экранчики на микросхеме Hitachi HD44780 (и их клонах) в 90-е годы практически завоевали рынок недорогих устройств отображения информации.
Их ставили в принтеры, факсы, копиры, различное сетевое оборудование и в бытовую технику. Позднее эти дисплеи стали вытеснятся устройствами с последовательным интерфейсом I2C и SPI, а также цветными графическими дисплеями, но до сих пор они пользуются большой популярностью среди радиолюбителей благодаря низкой цене.
Дешевые модули «для Ардуино», прадающиеся во всех магазинах, имеют довольно большие габариты.
При размере области цифр 58 x 10 мм габариты платы такого модуля 80 x 36 мм, при толщине в 1 см. При встраивании в миниатюрные корпуса такие модули не всегда удобны. Как то наткнулся на интересные индикаторы от Microtips Technology — MTC-S16208XFYHSGY. О них и будет этот обзор

Нашел такие модули на ТАОБАО по $1.3. Стоимость доставки варьируется от общего объема посылки. У меня стоимость одного дисплея с доставкой составила около $2.5.

На Алиэкспресс нашел немного похожие по размеру индикаторы. Но цена, ИМХО, великовата.

Компания Microtips Technology Inc производит целую линейку миниатюрных текстовых дисплеев

Заказанные мной MTC-S16208XFYHSGY — монохромные дисплеи с желто-зеленой подсветкой экрана 16 символов на 2 строки очень компактного размера.



При размере цифр 47 x 10 мм габаритный размер 59 x 29 мм, а толщина всего 5 мм



В сравнении с «обычными» 1602 эти дисплеи очень маленькие


Напрягает только 15-контактный разъем с шагом 1.27мм, довольно сложный для макетирования. К счастью, как раз для таких случаев прикуплена «гребенка» с шагом 1.27мм

Для тестирования экранчика подпаиваюсь проводочками к «гребенке» и вставляю ее в разъем дисплея


Контакты как и у «взрослого 1602»: 8 разрядная шина данных (достаточно использовать только 4 старших разряда), три управляющих сигнала, питания, земля и аналоговый вход контрастности дисплея. Вместо двух выводов подсветки один контакт, который при подтягивании к земле включает подсветку. К микроконтроллерам данный дисплей подключается как и все, использующие Hitachi HD44780.

Схему подключение и описание работы можно взять с сайта arduino.cc

Библиотеку для Ардуино Adafruit_LiquidCrystal на github

После подключения и выставления пинов Ардуино в библиотеке получаем работающий такой вот работающий экранчик.



Переменным резистором выставляется нужная контрастность

Подтягиванием первой ноги к земле включаем подсветку. Никто не мешает подключить этот вход к любому цифровому выход микроконтроллера и включать/отключать подсветку из программы.

Подсветка желто-зеленая и довольно равномерная, хотя и не идеальная, но гораздо лучше чем во многих дешевых дисплеях.

Потребление дисплея с отключенной подсветкой — 1 мА

С включенной — порядка 22 мА

Очень хорошие показатели для использования в приборах на батарейках, где подсветку можно включать/отключать.

Проверка встроенных шрифтов чуда не принесла — европейские и кириллические шрифты данное устройство не поддерживает, как и большинство 1602 дисплеев, продающихся в Китае




Расширенная таблица символов такая

Загрузить свой знакогенератор в HD44780 полностью нельзя. Но есть восемь пользовательских символов с кодами 0-7, которые помогают организовать интерфейс в большинстве случаев

Код для загрузки своих символов можно взять у меня в блоге

Данный дисплей можно подключить по последовательному интерфейсу через микросхему-расширитель портов. К сожалению, обычная платка на PCF8574 не подойдет по контактам. Там разведена стандартная «гребенка» на 16 контактов 2.54мм. Но всегда можно сделать свою плату

Из обрезков тектолита быстро утюгом изготовил платку-переходник

Даже без расширителя портов по шести выводам данный дисплей можно напрямую подключить к тому же ESP8266. Я задействовал для подключения GPIO4,5,12,13,14,16. При этом, остается еще 3 свободных GPIO, аналоговый вход и последовательный интерфейс — более чем достаточно для подключения различных реле и датчиков.

Подведем итог

Достоинства дисплея
  • Весьма скромная стоимость
  • Компактный размер
  • Равномерная подсветка
  • Удобное управление подсветкой одним выводом
Недостатки неудобства
  • Разъемы 1.27мм неудобные для макетирования
  • Отсутствие последовательного интерфейса
Конкретное применение данный дисплейчик очень скоро найдет в переносной метеостанции, которую планирую брать с собой в походы.
Об этом я напишу на страницах своего блога

Традиции, традиции …

«Посмотрим что там за дисплейчик …»

«Ну что такой маленький то?»

«Давай лучше эти VFD обозревать!»

Но VFD — это уже совсем другая история

Полезные ссылки

Подключение датчиков DHT11 и DHT22 к Arduino

/*

  *********************************

  * Интернет-магазин Arduinka.Pro *

  *********************************

Вывод значений влажности и температуры

на LCD 1602 I2C с датчика DHT11 или DHT22

*/

// подключение библиотек

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include «DHT.h»

 

// назначение PIN и выбор типа датчика DHT

#define DHTPIN 2 //

// раскомментировать нужную строку

#define DHTTYPE DHT11 // DHT 11

//#define DHTTYPE DHT22 // DHT 22 (AM2302)

//#define DHTTYPE DHT21 // DHT 21 (AM2301)

 

DHT dht(DHTPIN, DHTTYPE);   // инициализация сенсора DHT

LiquidCrystal_I2C lcd(0x27,16,2);  // инициализация дисплея

 

byte symb_grad[8] =      // кодирование символа градуса

{

B00111,

B00101,

B00111,

B00000,

B00000,

B00000,

B00000,

};

 

void setup()

{

lcd. init();  // инициализация lcd

lcd.createChar(1, symb_grad);  // регистрируем собственный символ с кодом 1

Serial.begin(9600);   // запуск передачи данных

dht.begin();  //  запуск датчика DHT

}

 

void loop()

{

// добавляем паузы в 2 секунды между измерениями

delay(2000);

 

float h = dht.readHumidity();   // считывание влажности

float t = dht.readTemperature();   // считывание температуры

 

// Выводим показания влажности и температуры

lcd.clear();  // очистка экрана

lcd.setCursor(0, 0);  //  установка курсора в начало 1 строки

lcd.print(«Humidity:      %»);  // вывод текста

lcd.setCursor(10, 0);  // установка курсора на 10 позицию

lcd.print(h, 1);  // вывод на экран значения влажности

lcd.setCursor(0, 1);  // установка курсора в начало 2 строки

lcd.print(«Temperat:      C»);  // вывод текста

lcd.setCursor(14, 1);  // установка курсора на 14 позицию

lcd. print(«\1»);   // вывод символа градуса

lcd.setCursor(10, 1);  // установка курсора на 10 позицию

lcd.print(t,1);  // вывод значения температуры

}

Как сделать простую метеостанцию ​​

Видео

Как сделать простую метеостанцию ​​

Здравствуйте, ребята, в этом видео я покажу вам, как сделать простую метеостанцию ​​для измерения температуры и влажности с помощью датчика DHT11

Расходные материалы:

Список деталей : -Arduino UNO -16 × 2 ЖК-МОДУЛЬ-Соединительный кабель -DHT 11 —

Шаг 1: О датчике DHT11

DHT11 — это датчик влажности и температуры. Его можно использовать как датчик влажности, а также как датчик температуры. На рынке вы можете найти датчик dht11 двух типов.Один с 4 контактами, а другой с 3 контактами. В 3-х контактный датчик dht11 уже добавлен резистор 10 кОм внутри модуля. Рабочее напряжение этого модуля составляет 3,3 В. Выход этого датчика цифровой.

Шаг 1: О DHT11 SensorDHT11 — это датчик влажности и температуры. Его можно использовать как датчик влажности, а также как датчик температуры. На рынке вы можете найти датчик dht11 двух типов. Один с 4 контактами, а другой с 3 контактами. В 3-х контактный датчик dht11 уже добавлен резистор 10 кОм внутри модуля.Рабочее напряжение этого модуля составляет 3,3 В. Выход этого датчика цифровой.

Шаг 2: Подключение DHT11 к Arduino

Подключите DHT 11 к Arduino UNO

DHT11 ARDUINO UNO

GND TO GND

VCC TO 3.3V

OUTPIN TO D11

Connecting Step

Добавить TipAsk DHT11 с Arduino Подключите DHT 11 к Arduino UNO DHT11 ARDUINO UNOGND TO GNDVCC TO 3.3VOUTPIN TO D11Add TipAsk QuestionCommentDownload

Шаг 3: I2C LCD Display

Это ЖК-дисплей 16×2 с интерфейсом I2C.Он может отображать символы 16×2 в 2 строки, белые символы на синем фоне.

Обычно проекты ЖК-дисплеев Arduino быстро исчерпывают ресурсы контактов, особенно с Arduino Uno. А еще очень сложно с пайкой и подключением проводов. Этот ЖК-экран I2C 16×2 Arduino использует интерфейс связи I2C. Это означает, что для ЖК-дисплея требуется всего 4 контакта: VCC, GND, SDA, SCL. Это сэкономит минимум 4 цифровых / аналоговых контакта на Arduino. Все разъемы стандартные Хх3.54 (макетного типа). Вы можете подключиться напрямую с помощью перемычки.

Шаг 3: ЖК-дисплей I2C Это ЖК-экран 16×2 с интерфейсом I2C. Он может отображать символы 16×2 в 2 строках, белые символы на синем фоне. Обычно проекты ЖК-дисплеев Arduino легко исчерпывают ресурсы контактов, особенно с Arduino Uno. А еще очень сложно с пайкой и подключением проводов. Этот ЖК-экран I2C 16×2 Arduino использует интерфейс связи I2C. Это означает, что для ЖК-дисплея требуется всего 4 контакта: VCC, GND, SDA, SCL.Это сэкономит минимум 4 цифровых / аналоговых контакта на Arduino. Все разъемы стандартные Xh3.54 (макетного типа). Вы можете подключиться напрямую с помощью перемычки.

Шаг 4: Подключение ЖК-дисплея I2C к Arduino

ЖК-дисплей I2C Arduino

GND <---> GND

VCC <---> 5V

SDA <---> A4

SCL <---> A5

Шаг 4: Подключение ЖК-дисплея I2C к ArduinoI2C LCD ArduinoGND <---> GNDVCC <---> 5VSDA <---> A4SCL <---> A5

Шаг 5: Код

Код

Шаг 6 : Завершить создание и работу

Видео

Мне нравится, делиться и подписываться Мой канал

Добавить Подсказка Задать вопрос КомментарийЗагрузить

Шаг 6: Завершить создание и работать с видео Как, поделиться и подписаться на мой канал

Шаг 7: Спонсор NEXTPCB

Если вы этого не сделаете Не делайте свои печатные платы самостоятельно, где вы их делаете? Лично у меня нет ни места, ни смелости (ни навыков), чтобы делать их самому. Что касается SF, я обращаюсь к Util-Pocket, потому что считаю, что качество отличное по цене. Что касается DF (с металлическими отверстиями), я пробовал несколько компаний, все из которых делают хорошую работу, но стоит дорого. На этот раз я обратился к себе здесь. Мне нужно было сделать 3 схемы общей площадью 49 см2. Когда я увидел, что минимальное количество для заказа составляет 5 печатных плат, я продолжил заказ из любопытства, просто чтобы увидеть предложение. И когда я увидел запрашиваемую цену, Я разместил заказ.NEXTPCB

Добавить TipAsk QuestionCommentDownload

e Вы их делаете? Лично у меня нет ни места, ни смелости (ни навыков), чтобы сделать их самому.Что касается SF, я обращаюсь к Util-Pocket, потому что считаю, что качество отличное по цене. Что касается DF (с металлическими отверстиями), я пробовал несколько компаний, все из которых делают хорошую работу, но стоит дорого. На этот раз я обратился к себе здесь. Мне нужно было сделать 3 схемы общей площадью 49 см2. Когда я увидел, что минимальное количество для заказа составляет 5 печатных плат, я продолжил заказ из любопытства, просто чтобы увидеть предложение. И когда я увидел запрашиваемую цену, Я разместил заказ. Влажность на ЖК-дисплее

*******

Посетите https: // proteshea.com / display-temp-and-влажность-on-lcd-with-arduino-uno / для получения полного списка материалов, необходимых для этого проекта.

*******

Введение

В этом проекте мы собираемся подключить датчик температуры и влажности DHT11 и отобразить данные на ЖК-дисплее 16×2. Если вы не читали Project 9 для Arduino Uno Rev3, сначала прочтите его, потому что в нем рассказывается, как взаимодействовать с ЖК-дисплеем 16×2 символов в 4-битном режиме. Затем мы заменим ЖК-дисплей 16×2 ЖК-дисплеем 20×4, чтобы отображать влажность и температуру в градусах Цельсия, Фаренгейта и Кельвина.Датчик DHT11 можно использовать для метеостанции, метеозонда, дрона или теплицы.

По соображениям конфиденциальности YouTube требуется ваше разрешение для загрузки. Для получения дополнительной информации, пожалуйста, ознакомьтесь с нашей Политикой конфиденциальности. Я принимаю

Основным ингредиентом / деталями, которые будут использоваться в этом руководстве, является датчик температуры и влажности DHT11. Датчик способен измерять температуру и влажность окружающей среды в определенной области. DHT11 — это базовый сверхдорогой цифровой датчик температуры и влажности. Он использует емкостной датчик влажности и термистор для измерения окружающего воздуха и выдает цифровой сигнал на вывод данных (выводы аналогового ввода не требуются).Он довольно прост в использовании, но требует аккуратного выбора времени для сбора данных. Единственным реальным недостатком этого датчика является то, что вы можете получать от него новые данные только раз в 2 секунды.

DHT11 Датчик температуры и влажности

некоторые функции датчика перечислены ниже;

  • Низкая стоимость
  • Питание от 3 до 5 В и ввод / вывод
  • Максимальный ток 2,5 мА, используемый во время преобразования (при запросе данных)
  • Подходит для измерения влажности 20-80% с точностью 5%
  • Подходит для измерения температуры 0-50 ° C с точностью ± 2 ° C
  • Частота дискретизации не более 1 Гц (раз в секунду)

Необходимые детали и где купить

Компоненты / детали, перечисленные ниже, необходимы для создания этого проекта, и их можно купить по ссылке перед ними.

  1. Arduino Mega: https://educ8s.tv/part/ArduinoMega
  2. Дисплей клавиатуры: https://educ8s.tv/part/KeypadShield
  3. Датчик DHT11: https://educ8s.tv/part/DHT11
  4. OLED-мультиметр
  5. : https://educ8s.tv/part/UsbDoctorOLED
  6. Powerbank: https://educ8s.tv/part/Powerbank
  7. Провода: https://educ8s. tv/part/Wires

Полное раскрытие информации: все приведенные выше ссылки являются партнерскими. Я получаю небольшой процент от каждой продажи, которую они производят.Спасибо за поддержку!

[AdSense]

Схемы

Схема для этого проекта проста, нам нужно только подключить датчик температуры и влажности DHT11, как показано на схемах ниже.

ЖК-дисплей 16 × 2 имеет форму экрана, который упрощает установку дисплея на Arduino.

Код

Код этого проекта довольно прост, как я покажу вам, требуется всего 47 строк кода, включая комментарии и объявления, чтобы проект заработал.

Алгоритм, лежащий в основе кода для проекта, довольно прост, мы начинаем с установления связи с датчиком, после чего запрашиваем у него показания температуры и влажности. Эти показания получаются в градусах Цельсия и Фаренгейта и отображаются на экране ЖК-дисплея 16 × 2.

В этом проекте мы будем использовать две библиотеки: библиотеку DHT. h для упрощения взаимодействия с DHT11 и библиотеку liquidcrystal.h, чтобы упростить взаимодействие с экраном ЖК-дисплея 16 × 2.в то время как библиотека liquidcrystal.h поставляется предварительно собранной с Arduino, библиотека DHT — нет, но ее можно загрузить и установить по этой ссылке (https://github.com/adafruit/DHT-sensor-library)

Чтобы кратко объяснить код этого проекта, мы, как обычно, начнем с включения библиотек, которые будут использоваться (упомянутые выше).

 ///////////////////////////////////////////////// ////////////////
   // Метеостанция Arduino # 1 v1.02 //
  // Получить последнюю версию кода здесь: //
 // https: // education8s.тв / ардуино-метеостанция-1 / //
////////////////////////////////////////////////// ///////////////


#include "DHT.h"
#include 
 

Затем мы определяем выводы Arduino, к которым подключен сигнальный вывод DHT, затем создаем объект как библиотеки DHT, так и библиотеки LCD.

 #define DHTPIN 22 // к какому выводу мы подключены

#define DHTTYPE DHT11

DHT dht (DHTPIN, DHTTYPE);
ЖК-дисплей LiquidCrystal (8,9,4,5,6,7);
 

Далее идет функция void setup (). Мы просто инициализируем ЖК-дисплей и датчик DHT, чтобы начать обмен данными.

 void setup (void) {
  lcd.begin (16, 2);
  lcd.print («Датчик чтения»);
  dht.begin ();
}
 

В рамках функции void loop мы в основном проверяем текущие показания температуры и влажности от датчика, затем преобразуем полученные значения в строки с помощью функции dtostrf и печатаем на дисплее.

 void loop () {

температура поплавка, влажность;

влажность = dht.readHumidity ();
температура = dht.readTemperature ();
задержка (2000);

lcd.clear ();

char tempF [6];
char humF [6];
dtostrf (температура, 5, 1, tempF);
dtostrf (влажность, 2, 0, humF);

lcd.print ("Т:");
lcd.print (tempF);
lcd.print ((char) 223);
lcd.print ("C");
lcd.print ("H:");
lcd.print (humF);
lcd.print ("%");
}
 

Полный код этого проекта можно скачать по ссылке ниже.

——————–

КОД ПРОЕКТА


——————–