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

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

1 месяц ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

1 месяц ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

1 месяц ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

1 месяц ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

1 месяц ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

1 месяц ago