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

Sdílet
Vložit
  • čas přidán 8. 11. 2016
  • Измерение температуры и влажности с помощью 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

Komentáře • 75

  • @natalivykhodtseva8031
    @natalivykhodtseva8031 Před 6 lety

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

  • @user-js3bs6ln9q
    @user-js3bs6ln9q Před 6 lety +1

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

  • @user-ep1lm9yo4t
    @user-ep1lm9yo4t Před 3 lety

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

  • @Balthazar_lien
    @Balthazar_lien Před 3 lety

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

    • @Makchip
      @Makchip  Před 3 lety +1

      Пожалуйста)

    • @Balthazar_lien
      @Balthazar_lien Před 3 lety

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

    • @user-nj3yn6ez7s
      @user-nj3yn6ez7s Před 3 lety

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

  • @Balthazar_lien
    @Balthazar_lien Před 6 lety +1

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

  • @user-js2tu5gf5z
    @user-js2tu5gf5z Před 6 lety

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

  • @user-tx8op6kz6e
    @user-tx8op6kz6e Před 5 lety

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

  • @gerc0g
    @gerc0g Před 7 lety

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

  • @user-fb1im9gg7f
    @user-fb1im9gg7f Před 5 lety

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

  • @seemak43
    @seemak43 Před 7 lety +1

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

    • @Makchip
      @Makchip  Před 2 lety

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

  • @user-ze1nm5uz5d
    @user-ze1nm5uz5d Před 6 lety

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

    • @stanislawshabranskiy6949
      @stanislawshabranskiy6949 Před 3 lety

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

  • @anatoliybutylkyn4248
    @anatoliybutylkyn4248 Před 7 lety

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

  • @00Deniska0000
    @00Deniska0000 Před 7 lety

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

    • @Makchip
      @Makchip  Před 7 lety

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

  • @user-in8tk1gt4n
    @user-in8tk1gt4n Před 7 lety

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

    • @Makchip
      @Makchip  Před 7 lety

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

  • @azret1912
    @azret1912 Před 7 lety

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

  • @MrCans94
    @MrCans94 Před 5 lety +1

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

    • @Makchip
      @Makchip  Před 5 lety +1

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

  • @StoneTL
    @StoneTL Před 6 lety +1

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

    • @Makchip
      @Makchip  Před 3 lety

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

  • @MyLife-ec3sc
    @MyLife-ec3sc Před 4 lety +1

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

    • @Makchip
      @Makchip  Před 3 lety

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

  • @user-ru7jf9ip3y
    @user-ru7jf9ip3y Před 6 lety

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

    • @Balthazar_lien
      @Balthazar_lien Před 6 lety

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

  • @OleglipskiyDn
    @OleglipskiyDn Před 5 lety +3

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

    • @metodogringo6100
      @metodogringo6100 Před rokem

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

  • @user-nd4mf9vb7r
    @user-nd4mf9vb7r Před 3 lety

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

    • @user-ep1lm9yo4t
      @user-ep1lm9yo4t Před 3 lety

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

  • @metodogringo6100
    @metodogringo6100 Před rokem

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

  • @vityndra0074
    @vityndra0074 Před 7 lety

    а где брать i2c_scan

    • @Makchip
      @Makchip  Před 7 lety

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

  • @den48rus
    @den48rus Před 7 lety +4

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

    • @Makchip
      @Makchip  Před 7 lety +1

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

    • @den48rus
      @den48rus Před 7 lety +1

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

    • @user-hi8ul2wo5t
      @user-hi8ul2wo5t Před 6 lety +1

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

    • @user-lf4nr4rx7g
      @user-lf4nr4rx7g Před 6 lety

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

    • @ALADDIN_68
      @ALADDIN_68 Před 5 lety

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

  • @exposed01
    @exposed01 Před rokem

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

  • @starfun3291
    @starfun3291 Před 5 lety +1

    можно скетч

  • @user-tn1yn3ol9m
    @user-tn1yn3ol9m Před 6 lety

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

  • @usergoogle9339
    @usergoogle9339 Před 6 lety

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

  • @reimanflex5403
    @reimanflex5403 Před 11 měsíci

    #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);

  • @user-nb7hv8cw1c
    @user-nb7hv8cw1c Před 7 lety

    а где скетч

    • @Makchip
      @Makchip  Před 7 lety

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

  • @contrl7415
    @contrl7415 Před 5 měsíci

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

    • @user-qr3uc8gj9k
      @user-qr3uc8gj9k Před 18 dny

      тоже самое
      значение температуры очень завышено, а влажность наоборот.. не понял, в чем проблема?

    • @user-qr3uc8gj9k
      @user-qr3uc8gj9k Před 18 dny

      хах, мне помогло в скетче заменить строчку 11. У меня датчик dht 11, а в скетче 22 стоял)

  • @user-lf4nr4rx7g
    @user-lf4nr4rx7g Před 6 lety

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

    • @user-lf4nr4rx7g
      @user-lf4nr4rx7g Před 6 lety

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

    • @VladimirMakarov66
      @VladimirMakarov66 Před 6 lety

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

    • @user-lf4nr4rx7g
      @user-lf4nr4rx7g Před 6 lety

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

  • @CEPO3A
    @CEPO3A Před 7 lety

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

    • @user-is1st2ob5g
      @user-is1st2ob5g Před 7 lety

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

    • @CEPO3A
      @CEPO3A Před 7 lety

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

  • @maksiLo1
    @maksiLo1 Před 7 lety

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

  • @user-db4re5ux1d
    @user-db4re5ux1d Před 2 lety

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

    • @Makchip
      @Makchip  Před 2 lety

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

    • @nikolaytalakolnik4800
      @nikolaytalakolnik4800 Před 2 lety

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

  • @user-cv3vl4mq2k
    @user-cv3vl4mq2k Před 7 lety

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

    • @user-cv3vl4mq2k
      @user-cv3vl4mq2k Před 7 lety +3

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

    • @DaniusLengvinasDLL
      @DaniusLengvinasDLL Před 7 lety

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

    • @user-bt3ev9hc4o
      @user-bt3ev9hc4o Před 4 lety

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

  • @FoziGames
    @FoziGames Před rokem

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

    • @user-nm4br2ut6c
      @user-nm4br2ut6c Před rokem

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

  • @FreeZLO
    @FreeZLO Před 7 lety

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

  • @nikolaytalakolnik4800
    @nikolaytalakolnik4800 Před 2 lety

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