#define red 7 //присваиваем переменной red значение 7
#define yellow 6 //присваиваем переменной yellow значение 6
#define green 5 //присваиваем переменной green значение 5
const float BETA = 3950; //коэффициент из справочника
void setup() {
pinMode(red, OUTPUT); //конфигурация 7 пина на выход
pinMode(yellow, OUTPUT); //конфигурация 6 пина на выход
pinMode(green, OUTPUT); //конфигурация 5 пина на выход
Serial.begin(115200); //инициализация порта, в скобках указывается скорость
}
void loop() {
int analogValue = analogRead(A0); //Записываем в переменную analogValue значение с датчика в коде АЦП
float celsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15; //Пресчет значени кода АЦП в значение температуры
if (celsius < 0){ //условие, если температура меньше 0 градусов, зажигается красный светодиод и отключаются остальные
digitalWrite(red, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(green, LOW);
}
else if (celsius >= 0 && celsius < 10) { //условие, если температура от 0 до 10 градусов, зажигается желтый светодиод и отключаются остальные
digitalWrite(red, LOW);
digitalWrite(yellow, HIGH);
digitalWrite(green, LOW);
}
else{ //условие, если температура от 10 градусов, зажигается зеленый светодиод и отключаются остальные
digitalWrite(red, LOW);
digitalWrite(yellow, LOW);
digitalWrite(green, HIGH);
}
Serial.println(celsius); //Выводим показания датчика в последовательный порт
delay(1000); //Ждем 1 секунду
}