Arduino. Подключение датчика температуры DS18B20 и вывод температуры на LCD дисплей 1602

В данной статье мы рассмотрим пример подключения датчика температуры DS18B20 и LCD дисплея к плате Arduino UNO и вывод значений температуры на дисплей в режиме реального времени.

Датчик температуры DS18B20

DS18B20 — это цифровой температурный датчик с интерфейсом 1-Wire от Maxim IC. На выходе мы получаем информацию в Цельсиях с точностью от 9 до 12 бит, от -55 до 125 (+/- 0,5). Каждый датчик имеет уникальный 64-разрядный серийный номер, что позволяет использовать огромное количество датчиков на одной шине данных.

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

  • диапазон измеряемой температуры: −55… 125 °C
  • напряжение питания: от 3 В до 5,5 В
  • точность: ±0,5°C (в пределах −10… 85 °C)
  • потребляемый ток при опросе: 1 мА

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

внешний вид датчика температуры

LCD дисплей 1602

Жидкокристаллический дисплей (Liquid Crystal Display) сокращенно LCD построен на технологии жидких кристаллов. Самый распространенный LCD дисплей на рынке является дисплей LCD 1602A, который может отображать ASCII символа в 2 строки (16 знаков в 1 строке) каждый символ в виде матрицы 5х7 пикселей.

Характеристики дисплея 1602:

  • напряжение питания: 5 В
  • размер дисплея: 2.6 дюйма
  • тип дисплея: 2 строки по 16 символов
  • цвет подсветки: синий
  • цвет символов: белый
  • габаритные: 80мм x 35мм x 11мм

В данном примере будем использовать LCD дисплей 1602A оборудованным последовательной шиной I2C. I2C — это последовательная асимметричная шина для связи между интегральными схемами внутри электронных приборов. Использует две двунаправленные линии связи (SDA и SCL), применяется для соединения низкоскоростных периферийных компонентов с процессорами и микроконтроллерами.

внешний вид платы дисплея

Жидкокристаллический дисплей 1602 с I2C модулем подключается к плате Ардуино всего 4 проводами — 2 провода данных и 2 провода питания. Подключение проводится стандартно для шины I2C:

  • вывод SDA подключается к порту A4;
  • вывод SCL подключается к порту A5;
  • вывод Vcc LCD дисплея осуществляется к разъему +5V платы Arduino UNO;
  • вывод GND дисплея осуществляется к разъему GND платы Arduino UNO;

Схема подключения

Для вывода температуры на LCD дисплей с датчика DS18b20, будем использовать плату Arduino UNO. Собираем схему, которая показана ниже. Для получения стабильных значений с датчика температуры лучше всего подключить резистор номиналом 4,7кОм между выводам 2 и 3 датчика.

схема подключения

Скетч Arduino

В скетче используется две стандартные библиотеки Ардуино это DS18B20 и LiquidCrystal_I2C. Данные библиотеки вы можете найти в менеджере библиотек в меню Arduino IDE (см. Инструменты -> Управлять библиотеками). Так же данные дополнительно выводятся в последовательный порт, эти данные вы можете посмотреть используя стандартный монитор порта Arduino IDE (см. Инструменты -> Монитор порта). Не забудьте установить скорость порта равную 9600 бод/сек.

Пример скетча:

// Подключение библиотек необходимых для работы скетча#include <DS18B20.h>#include <LiquidCrystal_I2C.h>     // Провод данных подключен к контакту 2 на Arduino#define SENSOR_PIN 2DS18B20 ds(SENSOR_PIN);LiquidCrystal_I2C lcd(0x27,16,2); void setup(void){  // Старт серийного порта  Serial.begin(9600);  // Инициализация lcd      lcd.init();                                  // Включаем подсветку  lcd.backlight();                             Serial.println("Start..."); }void loop(void){  if (ds.selectNext()) {    // Выводим в последовательный порт    Serial.print(ds.getTempC());    Serial.println(" C");        // Выводим на lcd дисплей данные    lcd.setCursor(0, 0);    lcd.print(ds.getTempC());     lcd.print(" *C");  }  // Задержка 1 сек.  delay(1000);}

Вывод

Используя lcd 1602 и схему подключения lcd 1602 к Ардуино по I2C вы сможете применять данный LCD дисплей в различных примерах основанных на Arduino. Так же используя датчик температуры вы можете автоматизировать процессы основанные на контролировании температуры.

admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

3 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

3 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

3 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

3 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

3 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

3 месяца ago