Датчик температуры DS18B20 и LCD дисплей

В этой статье, доработаю показанный ранее пример с датчиком DS18B20+, вывод температуры через последовательный монитор порта, является полезным, но мало практичным. В примере будем выводить температуру на LCD-дисплей работающий по протоколу I2C.

Датчик температуры DS18B20 и LCD дисплей

Датчик температуры DS18B20 и LCD дисплей

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► LCD-дисплей 1602A (2×16, 5V, Синий) x 1 шт.
► Интерфейсный модуль IIC, I2C, TWI для LCD x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
► Датчик температуры DS18b20+ x 1 шт.
► Резистор 4.7 кОм x 1 шт.
► Макетная плата MB-102 (Breadboard) x 1 шт.

Подключение:
Для вывода температуры на LCD дисплей с датчика DS18b20, будем использовать плату Arduino UNO. Собираем схему, которая показана ниже, для удобства дополнительно нарисовал таблицу подключения.

Датчик температуры DS18B20 и LCD дисплей

Таблица подключение

Датчик температуры DS18B20 и LCD дисплей

В примере используется три дополнительных библиотеки LiquidCrystal_I2C, DallasTempature и OneWire, необходимо скачать их и установить, без них скетч не заработает. Далее, скачиванием скетч и запускаем среду разработки IDE, если все правильно сделали, на дисплее отобразится температура.

  Скачать скетч

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

Ссылки
  
Скачать библиотеку DallasTemperature
  Скачать библиотеку OneWire v.2.2
  Скачать библиотеку LiquidCrystal_I2C
  Документация к LCD1602A

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Датчик температуры DS18b20
  LCD-дисплей 1602A

Купить в Самаре и области
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Датчик температуры DS18b20
  LCD-дисплей 1602A

Читайте также:

комментариев 27

  1. алекс:

    Символ «градуса» можно не создавать. Он есть в синем дисплее.

  2. Серёга:

    подскажите пожалуйста в чём проблема? скетч загрузил, подключил. на экране информация:
    TEMP -127. C
    http://www.rchip.ru
    температура не изменяется. датчик DS18B20 модуль

    • GAD909:

      На картинке вверху есть некоторая путаница по полярности подключения датчика. Ориентируйтесь строго на даташит DS18B20. Вчера собрал эту схему и пока не разобрался с распиновкой, тоже показывало -127.

  3. Александр:

    Братцы, если есть возможность, помогите плиз в такой проблеме.
    Решил я тут недавно слегка автоматизировать процесс самогоноварения.))) чем давно и плодотворно занимаюсь. точнее, не то чтобы автоматизировать, а обезопасить процесс в случае всяко-разных нештатных ситуаций. а именно: 1. отключение подачи воды на холодильник самогонного аппарата , 2. заполнение готовым продуктом «до верха» емкости, в которую он льется. имеется: Arduino UNO, реле, датчик температуры ds18b20, датчик уровня жидкости, жк-дисплей, аналогичный рассмотренному в примере выше. вопрос в следующем. поскольку я кодить давно разучился, да и кодил исключительно на машинах типа Искра-1256 (прошу не ржать!), подскажите, как прикрутить к коду приведенного примера: а.)управление на отключение нагрева перегонного куда (индукционная плита) посредством управляющего реле, выдача звукового сигнала, когда емкость с самогоном (ням-ням) заполнена доверху, т.е. датчик уровня жидкости отсигналил об этом.
    Буду очень признателен, если поможете, добрые люди.))

    • Юрец:

      Тоже хочу сделать подобное чудо.
      + хочу сделать полную автономку. т.е. регулировку температуры атоматом.

  4. Эдуард:

    Ктож скоро казенку пить будет? Тоже варю-гоню. Ни как у меня компиляция не проходит. Библиотеки DallasTemperature и LiquidCrystal_I2C не видит.

    • vip.sergey.mir:

      Добрый день, проверьте расположение библиотек DallasTemperature и LiquidCrystal_I2C в каталоге C:\Users\ваш профиль\Documents\Arduino\libraries

  5. Эдуард:

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

  6. Руслан:

    Всё проверил. Сначала не работало, а потом понял, что на схеме резистор не в питание вставлен, а в землю 🙂
    Спасибо за статью, очень помог!

  7. Илья Павлович:

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

    • Сергей Мир:

      Здравствуйте, среда разработки Arduino IDE, скачать можно бесплатно с официального сайта arduino.cc

      • Илья Павлович:

        Спасибо, очень вам признателен за столь быстрый ответ =)

      • Илья Павлович:

        Сергей, можно ли с вами как-то связаться?
        Или, возможно, в обсуждении к данной статье удастся решить следующих вопрос — при загрузке программы в Arduino Nano высвечивается следующая ошибка:
        «avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3a»
        И так до десяти попыток, потом загрузка прерывается, значение после «resp=0x» часто меняется
        Возможно вы знаете как это исправить? Все параметры и порты указал в IDE правильно, пробовал выставлять разные программаторы в инструментах, но результат один
        Хочу прошить ARDUINO NANO V3 AVR ATM328P-20AU CH340
        Разумеется, буду безумно вам признателен, если поможете решить мою проблему

        • Сергей Мир:

          Добрый день, пищите на почту или в вайбер, телефон на странице контакты.

          • Илья Павлович:

            Нашёл решение проблемы, оказалось, что для записи программы в клон Нано необходимо установить следующий Драйвер — CH341SER, без него Arduino IDE работает только с оригинальными платами =)

  8. Александр:

    Здравствуйте, Сергей. Вы занимаетесь программированием на МК? Меня интересует схема 2-х канального термометра на МК. Я ищу любителя-программиста, с которым я бы смог воплотить в жизнь свою задумку. Немного расширить функционал термометра, использовать более крупный ЖК дисплей, добавить некоторые модуля. Если в принципе согласны, то можно пообщаться далее. А заодно скажите пожалуйста почту для общения и передачи файлов.

    • Сергей:

      Здравствуйте, Александр.
      Напишите мне на почту info@robotchip.ru

      • Александр:

        Здравствуйте, Сергей! Непонятно, получили ли вы от меня сообщение по поводу 2-х канального термометра на МК?Если получили и вас это не заинтересовало, отпишитесь пожалуйста, я тогда буду искать дальше.

  9. Денис:

    Можно ли сделать этот проект с датчиком DHT11 и со всеми 16 контактами дисплея.

  10. Владимир:

    Подскажите пожалуйста как правильно выводить температуру без цифр после точки (целое значение без десятых)?

  11. Виктор:

    Здравствуйте! Может подскажете, ну или помочь. А можно ли во второй строке дисплея вывести адрес подключаемого датчика? Хочу собрать устройство для тестирования датчиков Dallas.

  12. Алексей:

    Добрый день! Только начал заниматься ардуино. Хотел сделать этот проект, но при проверке программы возникла ошибка:

    exit status 1
    Ошибка компиляции для платы Arduino/Genuino Uno.

    Может кто-то подсказать как решить?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *