Модуль 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 относится к первому устройству на проводе
}



