Модуль KY-001 представляет из себя цифровой датчик температуры и позволяет измерять температуру окружающей среды. Данные передаются на микроконтроллер с помощью цифровой последовательной шины. К одной и той же шине можно подключить более одного модуля.
Модуль совместим с популярными электронными платами, такими как Arduino, Raspberry Pi и ESP 32.
Технические характеристики KY-001
В состав модуля входят: цифровой датчик температуры DS18B20, светодиод, резистор и 3 штыревых контакта.
Рабочий диапазон напряжений | от 3,0 В до 5,5 В |
Диапазон измерения температуры | от -55°C до 125°C |
Точность измерения температуры | ±0,5°C |
Размеры платы | 18,5 мм x 15 мм |
Схема подключения модуля KY-001 к Arduino
Модуль KY-001 | Плата Arduino |
---|---|
S | Контакт D2 |
Средний контакт | +5В |
– | GND |
- Подключить питание датчика (средний контакт) на модуле к 5V на Arduino.
- Подключить землю (–) к контакту GND на плате Arduino.
- Подключить сигнальный контакт (S) к контакту 2 на Arduino.
Скетч для ардуино
Следующий скетч Arduino будет использовать библиотеку OneWire для последовательной связи с модулем и библиотеку DallasTemperature для преобразования полученных данных в температуру.
Ссылки на необходимые библиотеки
Скетч Ардуино для модуля KY-001
#include <OneWire.h> #include <DallasTemperature.h> // Провод данных подключен к контакту 2 на Arduino #define ONE_WIRE_BUS 2 // Настройка экземпляра OneWire для связи с любыми устройствами OneWire (не только с микросхемами Maxim/Dallas temperature) OneWire oneWire(ONE_WIRE_BUS); // Передача ссылки экземпляра OneWire для создания экземпляра DallasTemperature. DallasTemperature sensors(&oneWire); void setup(void) { // Запуск последовательного порта Serial.begin(9600); Serial.println("Dallas Temperature IC Control Library Demo"); // Инициализация библиотеки DallasTemperature sensors.begin(); } void loop(void) { // вызвать sensors.requestTemperatures() для отправки глобального запроса температуры всем устройствам на шине Serial.print("Requesting temperatures..."); sensors.requestTemperatures(); // Отправка команды для получения температуры Serial.println("DONE"); Serial.print("Temperature for Device 1 is: "); Serial.print(sensors.getTempCByIndex(0)); На одной шине может быть несколько устройств. 0 относится к первому устройству на проводе }