Как подключить DHT11 DHT22 к ардуино и вывести через I2C дисплей 16х2

Измерение температуры и влажности с помощью Arduino и DHT22, или DHT11, и выводом этой информации на дисплей
Программа для заливки скетчей www.arduino.cc/en/Main/Software
Плата Arduino UNO ali.pub/jdov9 или NANO ali.pub/m1yes
DHT11 с резистором ali.pub/0kerx без ali.pub/l7kuv
DHT22 с резистором ali.pub/xlvi9 без ali.pub/b0ydo
Резисторы 10 кОм ali.pub/c15ve
Провода ali.pub/j7wy3
Дисплей 16х2 с I2C модулем ali.pub/1hir4
Блок 5 вольт ali.pub/oitnv
I2C сканер doc-18769153_438790310
Скетч doc-18769153_438790358
Группа вк makchip
Библиотека DHT doc-18769153_438790507
Библиотека LiquidCrystal-I2C doc-18769153_438790487

Пікірлер: 73

  • @natalivykhodtseva8031
    @natalivykhodtseva80316 жыл бұрын

    Спасибо за видео! Все получилось без особых проблем!

  • @user-js3bs6ln9q
    @user-js3bs6ln9q6 жыл бұрын

    Огромное спасибо самое информативное видео!!!!!!!

  • @Balthazar_lien
    @Balthazar_lien6 жыл бұрын

    хотелось увидеть проект с добавлением датчика давления bmp180, в инете таких проектов нет.

  • @Balthazar_lien
    @Balthazar_lien3 жыл бұрын

    ура.. я нашёл твою работу спустя 3 года... скачиваю

  • @Makchip

    @Makchip

    3 жыл бұрын

    Пожалуйста)

  • @Balthazar_lien

    @Balthazar_lien

    3 жыл бұрын

    @@Makchip собрал её на arduino uno, но она громоздка, потом искал этот скетч и сборку и вот только сегодня нашёл.. теперь соберу на arduino pro, и можно будет её с собой носить или встроить куда нибудь...

  • @user-nj3yn6ez7s

    @user-nj3yn6ez7s

    3 жыл бұрын

    @@Makchip если не сложно,можно где 9 пин,выключить и вписать без 9 пмна

  • @user-js2tu5gf5z
    @user-js2tu5gf5z6 жыл бұрын

    подскажите как добавить реле для влажности вентилятором.

  • @user-tx8op6kz6e
    @user-tx8op6kz6e5 жыл бұрын

    А этот скеч подойдёт к матрице max 7219 если нет то не могли бы вы написать её для 4 штук в горизонталь а то я так и немогу научиться. Заранее спасибо

  • @gerc0g
    @gerc0g7 жыл бұрын

    я можно мерять температуру с трёх датчиков и выводить в интернет, чтоб можно было включить подогрев так же дистанционно?

  • @user-ep1lm9yo4t
    @user-ep1lm9yo4t3 жыл бұрын

    Всё работает Спасибо!!!!

  • @user-fb1im9gg7f
    @user-fb1im9gg7f5 жыл бұрын

    А можно ли сделать часы на ws2812b c датчиком dht11 и модулем времени ds3231. Я сделал просто часы но немогу датчик dht11 , датчик освещенности , датчик движения и кнопки для настройки времени приладить. Согласен что много хочу но всё-таки))))

  • @seemak43
    @seemak437 жыл бұрын

    привет,полезное видео,всё подробно и ясно. а как к этой схеме подключить реле?чтобы с помощью датчика Dht22 при определённой влажности и температуре срабатывало подключённое реле(с вентилятором например), и показания выводились на дисплей. я недавно начал изучать ардуино и со скетчами пока не очень)

  • @Makchip

    @Makchip

    2 жыл бұрын

    Чуть переписать код надо)

  • @user-ze1nm5uz5d
    @user-ze1nm5uz5d6 жыл бұрын

    Здравствуйте, а я хочу подключить два датчика и что бы на дисплеи 16×2 i2c отображалось показаниЯ температуры и влажности сразу от двух датчиков

  • @stanislawshabranskiy6949

    @stanislawshabranskiy6949

    2 жыл бұрын

    Просто подключаешь 2 датчика и выводишь их на дисплей в разном месте

  • @anatoliybutylkyn4248
    @anatoliybutylkyn42487 жыл бұрын

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

  • @myhome24

    @myhome24

    Жыл бұрын

    Через loop

  • @00Deniska0000
    @00Deniska00007 жыл бұрын

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

  • @Makchip

    @Makchip

    7 жыл бұрын

    Проблема в самих датчиках, они неточные, особенно DHT11

  • @user-in8tk1gt4n
    @user-in8tk1gt4n7 жыл бұрын

    Привет! не подскажешь, как подключить I2C дисплей 128х64 ?

  • @Makchip

    @Makchip

    7 жыл бұрын

    Привет! Еще не добрался до такого дисплея, но думаю что смысл такой же только библиотека другая.

  • @azret1912
    @azret19127 жыл бұрын

    привет вы не подскажите почему на Инициализация выдает ошибку lcd.begin(); // Инициализация lcd

  • @user-hi8ul2wo5t

    @user-hi8ul2wo5t

    6 жыл бұрын

    измени бегин на lcd.init()

  • @MrCans94
    @MrCans944 жыл бұрын

    Не могу нигде найти информацию, как подключить и вывести два dht датчика?

  • @Makchip

    @Makchip

    4 жыл бұрын

    Просто прописывание пин на второй датчик , и добавляете на дисплей в любое удобное место. Либо можно несколько датчиков подключить по I2C

  • @contrl7415
    @contrl74154 ай бұрын

    У меня проблема😢показывает влажность 11 Температура 54 Когда у мен дома влажносоь 40 Температура 23

  • @StoneTL
    @StoneTL6 жыл бұрын

    почему так? exit status 1 Error compiling for board Arduino/Genuino Uno.

  • @Makchip

    @Makchip

    3 жыл бұрын

    Если используется китайская ардуинка, то нужно драйвер ch30 установить.

  • @MyLife-ec3sc
    @MyLife-ec3sc3 жыл бұрын

    Все работает, кроме подсветки. Почему она не горит?

  • @Makchip

    @Makchip

    3 жыл бұрын

    нужно поставить перемычку на самом дисплее если нужна 100% яркость, либо прописать яркость в скетче

  • @den48rus
    @den48rus7 жыл бұрын

    Не сказал что надо подключить дисплей к ардуино, земля к земле, а питание к 5 вольтам, скетч не работает, ругается на строчку: "lcd.begin(); // Инициализация lcd" , с скобки надо поставить: "16, 2". И даже после этого, скетч в плату загружает, но экран ничего не показывает. Дисплей светится, но ничего не показывает...

  • @Makchip

    @Makchip

    7 жыл бұрын

    Посмотрите вписали ли здесь >> LiquidCrystal_I2C lcd(0x27, 16, 2);

  • @den48rus

    @den48rus

    7 жыл бұрын

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

  • @user-hi8ul2wo5t

    @user-hi8ul2wo5t

    6 жыл бұрын

    lcd.begin() меняй на lcd.init();

  • @user-lf4nr4rx7g

    @user-lf4nr4rx7g

    5 жыл бұрын

    менял я lcd.begin() меняй на lcd.init();,не помагает

  • @ALADDIN_68

    @ALADDIN_68

    5 жыл бұрын

    @@Makchip Такая же история. на дисплее нижняя строка квадратики светятся. Ошибок в скетче не показывает ро и показаний с датчика нет.

  • @user-nd4mf9vb7r
    @user-nd4mf9vb7r3 жыл бұрын

    Здраствуйте, мне пишет "Ошибка компиляции для плат Arduino Uno", что делать?

  • @user-ep1lm9yo4t

    @user-ep1lm9yo4t

    3 жыл бұрын

    попробуйте вместо инициализация lcd где написано "begin" написать "init"

  • @user-ru7jf9ip3y
    @user-ru7jf9ip3y6 жыл бұрын

    А как это этот дисплей отображает кириллицу?

  • @Balthazar_lien

    @Balthazar_lien

    6 жыл бұрын

    реально отображает, не из таблицы контроллера lcd а из скетча набор из точек пикселей отображающих знак который там введён.

  • @OleglipskiyDn
    @OleglipskiyDn5 жыл бұрын

    Не хватает еще команды на включение подсветки lcd.backlight() после строки lcd.init(). Иначе не загорается подсветка и ничего не видно на дисплее. После чего крутим подстроечный резистор и ловим нормальное изображение.

  • @metodogringo6100

    @metodogringo6100

    Жыл бұрын

    Спасибо. Благодаря вам у меня заработало.

  • @reimanflex5403
    @reimanflex540310 ай бұрын

    #include // Добавляем необходимые библиотеки #include #include "DHT.h" #define DHTPIN 5 // пин для сигнала поступающего с датчика #define DHTTYPE DHT22 // DHT 11 DHT dht(DHTPIN, DHTTYPE); const int SVET = 9; byte degree[8] = // кодируем символ градуса { B00111, B00101, B00111, B00000, B00000, B00000, B00000, }; byte U[8] = // буква У { B10001, B10001, B10001, B10001, B01111, B10001, B01110, }; byte P[8] = // буква П { B11111, B10001, B10001, B10001, B10001, B10001, B10001, }; byte L[8] = // буква Л { B00111, B01001, B10001, B10001, B10001, B10001, B10001, }; byte J[8] = // буква Ж { B10101, B10101, B10101, B01110, B10101, B10101, B10101, }; byte MZ[8] = // Ь { B10000, B10000, B10000, B11110, B10001, B10001, B11110, }; LiquidCrystal_I2C lcd(0x27, 16, 2); // Задаем адрес и размерность дисплея Здесь адрес вписываете свой! void setup() { lcd.begin(); // Инициализация lcd lcd.createChar(5, degree); lcd.createChar(6, P); lcd.createChar(2, L); lcd.createChar(3, J); lcd.createChar(7, MZ); lcd.createChar(8, U); pinMode (SVET, OUTPUT); analogWrite(SVET, 255); Serial.begin(9600); dht.begin(); } void loop() { analogWrite(SVET, 100); // Wait a few seconds between measurements. delay(2000); // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius float t = dht.readTemperature(); // Read temperature as Fahrenheit // Выводим показания влажности и температуры lcd.setCursor(8, 0); lcd.write((byte)7); lcd.setCursor(7, 0); lcd.print("T"); lcd.setCursor(6, 0); lcd.print("C"); lcd.setCursor(5, 0); lcd.print("O"); lcd.setCursor(4, 0); lcd.print("H"); lcd.setCursor(3, 0); lcd.write((byte)3); lcd.setCursor(2, 0); lcd.print("A"); lcd.setCursor(0, 0); lcd.print("B"); lcd.setCursor(1, 0); lcd.write((byte)2); lcd.setCursor(13, 0); // Устанавливаем курсор на 13 символ lcd.print(h,1); lcd.setCursor(15, 0); lcd.print("%"); lcd.setCursor(0, 1); lcd.print("TEM EPAT PA"); lcd.setCursor(3, 1); lcd.write((byte)6); lcd.setCursor(8, 1); lcd.write((byte)8);

  • @exposed01
    @exposed01 Жыл бұрын

    Влажность: na% Температура: 0. C как исправить?

  • @user-tn1yn3ol9m
    @user-tn1yn3ol9m6 жыл бұрын

    Здраствуйте, у меня выйдет на экране 1602 только первый цифр валжности и температуры и после этого точка и выйдет процент и знак градуса. Как можно показать два цифры

  • @vityndra0074
    @vityndra00747 жыл бұрын

    а где брать i2c_scan

  • @Makchip

    @Makchip

    7 жыл бұрын

    крот с киркой это просто скетч

  • @usergoogle9339
    @usergoogle93396 жыл бұрын

    float h = dht.readHumidity(); ошибка этой строчки

  • @metodogringo6100
    @metodogringo6100 Жыл бұрын

    У платы конвертера на обороте есть подстроечник можно выставить подсветку сколько нужно. Строку lcd.begin(); меняем на lcd.init(); следующая строка lcd.backlight(); И будет вам счастье.

  • @starfun3291
    @starfun32915 жыл бұрын

    можно скетч

  • @Makchip

    @Makchip

    5 жыл бұрын

    vk.com/docs-18769153

  • @CEPO3A
    @CEPO3A7 жыл бұрын

    а можно скетч с модулем часов? за ранее благодарен. serghttp@yandex.ru

  • @user-is1st2ob5g

    @user-is1st2ob5g

    7 жыл бұрын

    Присоединяюсь к пожеланию. Допустим основной экран - это часы (DS3231) и c интервалом в 1 мин с задержкой на 5 сек. выводить данные с DHT11. К примеру на каждой 50 секунде выводить данные на экран на 5 секунд.

  • @CEPO3A

    @CEPO3A

    7 жыл бұрын

    а как это программно сделать?

  • @maksiLo1
    @maksiLo17 жыл бұрын

    При запуске мониторинга порта в I2C Sacn пишет ерунду prntscr.com/e9jzu7

  • @user-lf4nr4rx7g
    @user-lf4nr4rx7g5 жыл бұрын

    'lcd' does not name a type-у меня вот что выдает((

  • @user-lf4nr4rx7g

    @user-lf4nr4rx7g

    5 жыл бұрын

    короче не пашет все перепробовал

  • @VladimirMakarov66

    @VladimirMakarov66

    5 жыл бұрын

    Возможно ошибка в коде, дисплей через I2C подключен?

  • @user-lf4nr4rx7g

    @user-lf4nr4rx7g

    5 жыл бұрын

    Vladimir -уже разобрался,нашел програмку где можно писать скетч с помощью блок схем-FLProg называется ,потратил где то пол часа,и все заработал без изменения подключения через I2C

  • @user-nb7hv8cw1c
    @user-nb7hv8cw1c7 жыл бұрын

    а где скетч

  • @Makchip

    @Makchip

    7 жыл бұрын

    В описании к видео есть ссылка!

  • @user-cv3vl4mq2k
    @user-cv3vl4mq2k7 жыл бұрын

    У меня вообще подсветки дисплеея нет. информацию выводит, а подсветки нет

  • @user-cv3vl4mq2k

    @user-cv3vl4mq2k

    7 жыл бұрын

    победил. заменил строчку. lcd.begin(); на lcd.init(); // Инициализация lcd и добавил lcd.backlight(); //включаем подсветку lcd зарвботало.

  • @DaniusLengvinasDLL

    @DaniusLengvinasDLL

    6 жыл бұрын

    уже работает lcd.init(); // Инициализация lcd lcd.backlight(); //включаем подсветку lcd

  • @user-bt3ev9hc4o

    @user-bt3ev9hc4o

    4 жыл бұрын

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

  • @user-db4re5ux1d
    @user-db4re5ux1d2 жыл бұрын

    ошибка компиляции платы

  • @Makchip

    @Makchip

    2 жыл бұрын

    Драйвер устанавливали для arduino китайского?

  • @nikolaytalakolnik4800

    @nikolaytalakolnik4800

    2 жыл бұрын

    @@Makchip все разобрался , только подсветки нет вообще и перемычку ставил все так же и остаётся не светится

  • @FoziGames
    @FoziGames Жыл бұрын

    у меня фигню показывает 87 градусов

  • @user-nm4br2ut6c

    @user-nm4br2ut6c

    Жыл бұрын

    #define DHTTYPE DHT11 // DHT22 установи свой датчик, который используешь.

  • @FreeZLO
    @FreeZLO7 жыл бұрын

    Даже дизлайка жалко.

  • @nikolaytalakolnik4800
    @nikolaytalakolnik48002 жыл бұрын

    Не библиотек нечего не объяснил как к чему

Келесі