Модуль цифрового датчика температуры использует NTC термистор для измерения температуры воздуха. Полученные данные можно считать с аналогового выхода (A0) датчика. Термисторы с типом NTC имеют отрицательный температурный коэффициент что означает, что сопротивление датчика будет уменьшаться при повышении температуры.
Термистор соединен последовательно с резистором 10 КОм, делителем напряжения. Когда термистор нагревается, сопротивление уменьшается, и данные отображаются в виде напряжения от 0 до 5 вольт на аналоговом выходе. С помощью подстроечного резистора можно выставить опорное напряжение на компараторе, значение которого будет равно пороговому значению температуры. В зависимости от текущего напряжения, компаратор формирует логическое значение (1 или 0) цифрового сигнала, которое появляется на выводе D0. Таким образом можно создать простейшую систему климат-контроля, если цифровой выход датчика подключить к управляющему контакту реле.
Диапазон измеряемой температуры варьируется в пределах от -55 до +125°C с погрешностью 0.5%. Плата питается от входного напряжения номиналом 3.3…5В, а максимальный потребляемый ток менее 7 мА. При подаче питания на модуле загорается красный светодиод LED1.
Технические характеристики:
Входное напряжение: 3.3 / 5 В
Ток потребления: до 7 мА
Диапазон измеряемых температур: -55…+125°C (+/- 0,5°C)
Размеры модуля: 36 х 15 мм
Распиновка:
Схема подключения:
Программный код:
Если температура выше порогового значения, то зажигается встроенный светодиод L
int led = 13; // define the LED pin
int digitalPin = 2; // KY-028 digital interface
int analogPin = A0; // KY-028 analog interface
int digitalVal; // digital readings
int analogVal; //analog readings
void setup()
{
pinMode(led, OUTPUT);
pinMode(digitalPin, INPUT);
//pinMode(analogPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
// Read the digital interface
digitalVal = digitalRead(digitalPin);
if(digitalVal == HIGH) // if temperature threshold reached
{
digitalWrite(led, HIGH); // turn ON Arduino's LED
}
else
{
digitalWrite(led, LOW); // turn OFF Arduino's LED
}
// Read the analog interface
analogVal = analogRead(analogPin);
Serial.println(analogVal); // print analog value to serial
delay(100);
}