Индикатор температуры на датчике LM35 и Arduino
#define L1 0 // Зеленый светодиод
#define L2 1 // Зеленый светодиод
#define L3 2 // Жолный светодиод
#define L4 3 // Оранжевый светодиод
#define L5 4 // Красный светодиод
#define L6 5 // Красный светодиод
#define sensor_temp 0 // Сенсор температуры A0 de Arduino (analogico)
int temperatura = 0; // Переменная для хранения температуры в градусах
int valor_sensor = 0; // Переменные для хранения необработанного значения датчика температуры (0 - 1024)
void setup() {
Serial.begin(9600); // Запуск последовательной порта с компьютером
// Назначаем входные и выходные порты
pinMode(L1,OUTPUT); pinMode(L2,OUTPUT); pinMode(L3,OUTPUT); pinMode(L4,OUTPUT); pinMode(L5,OUTPUT); pinMode(L6,OUTPUT); pinMode(sensor_temp,INPUT);}
void loop ()
{ valor_sensor = analogRead(sensor_temp); // Читаем значения датчика (значения 0 - 1024)
temperatura = (5.0 * valor_sensor * 100.0)/1024.0; // Вычислить температуру в формуле -C (Цельсия)
Serial.print(temperatura); // Выводим значения температуры в серийный порт
Serial.println("C"); // Выводим символ С в серийный порт
delay(300); // делаем задержку
// интенсивность света пропорциональна температуре
if (temperatura <= 20) // если температура меньше или равна 20, то Светится L1
{digitalWrite (L1, HIGH);digitalWrite (L2, LOW);digitalWrite (L3, LOW); digitalWrite (L4, LOW); digitalWrite (L5, LOW); digitalWrite (L6, LOW); }
if (temperatura > 20 && temperatura <= 40) // если температура меньше или равна 40 L1 + L2 светится
{digitalWrite (L1, HIGH); digitalWrite (L2, HIGH); digitalWrite (L3, LOW); digitalWrite (L4, LOW); digitalWrite (L5, LOW); digitalWrite (L6, LOW); }
if (temperatura > 40 && temperatura <= 60) //Если температура меньше или равна 60 L1 + L2 + L3 светится
{digitalWrite (L1, HIGH); digitalWrite (L2, HIGH); digitalWrite (L3, HIGH);digitalWrite (L4, LOW); digitalWrite (L5, LOW);digitalWrite (L6, LOW);}
if (temperatura > 60 && temperatura <= 80) // Если температура меньше или равна 80 L1+L2+L3+L4 светится
{digitalWrite (L1, HIGH); digitalWrite (L2, HIGH);digitalWrite (L3, HIGH); digitalWrite (L4, HIGH); digitalWrite (L5, LOW); digitalWrite (L6, LOW); }
if (temperatura > 80 && temperatura <= 100) //Если температура меньше или равна 100 L1+L2+L3+L4+L5 светится
{digitalWrite (L1, HIGH); digitalWrite (L2, HIGH); digitalWrite (L3, HIGH); digitalWrite (L4, HIGH); digitalWrite (L5, HIGH); digitalWrite (L6, LOW); }
if (temperatura > 100 && temperatura <= 120) // Если температура меньше или равна 120 L1+L2+L3+L4+L5+L6 светится
{digitalWrite (L1, HIGH); digitalWrite (L2, HIGH); digitalWrite (L3, HIGH); digitalWrite (L4, HIGH); digitalWrite (L5, HIGH); digitalWrite (L6, HIGH); }
}