В данной статье мы рассмотрим пример подключения датчика температуры DS18B20 и LCD дисплея к плате Arduino UNO и вывод значений температуры на дисплей в режиме реального времени.
DS18B20 — это цифровой температурный датчик с интерфейсом 1-Wire от Maxim IC. На выходе мы получаем информацию в Цельсиях с точностью от 9 до 12 бит, от -55 до 125 (+/- 0,5). Каждый датчик имеет уникальный 64-разрядный серийный номер, что позволяет использовать огромное количество датчиков на одной шине данных.
Характеристики DS18B20
Для работы с датчиком можно пользоваться библиотекой OneWhire, но для упрощения работы с датчиком предлагается использовать библиотеку DS18B20, которая существенно упрощает работу с датчиками данного типа.
внешний вид датчика температуры
Жидкокристаллический дисплей (Liquid Crystal Display) сокращенно LCD построен на технологии жидких кристаллов. Самый распространенный LCD дисплей на рынке является дисплей LCD 1602A, который может отображать ASCII символа в 2 строки (16 знаков в 1 строке) каждый символ в виде матрицы 5х7 пикселей.
Характеристики дисплея 1602:
В данном примере будем использовать LCD дисплей 1602A оборудованным последовательной шиной I2C. I2C — это последовательная асимметричная шина для связи между интегральными схемами внутри электронных приборов. Использует две двунаправленные линии связи (SDA и SCL), применяется для соединения низкоскоростных периферийных компонентов с процессорами и микроконтроллерами.
внешний вид платы дисплея
Жидкокристаллический дисплей 1602 с I2C модулем подключается к плате Ардуино всего 4 проводами — 2 провода данных и 2 провода питания. Подключение проводится стандартно для шины I2C:
Для вывода температуры на LCD дисплей с датчика DS18b20, будем использовать плату Arduino UNO. Собираем схему, которая показана ниже. Для получения стабильных значений с датчика температуры лучше всего подключить резистор номиналом 4,7кОм между выводам 2 и 3 датчика.
схема подключения
В скетче используется две стандартные библиотеки Ардуино это 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. Так же используя датчик температуры вы можете автоматизировать процессы основанные на контролировании температуры.
Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…
В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…
Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…
Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…
Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…
В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…