В общем я только начинаю программирование на ардуино, прошу проверить правильность кода, можно ли его как то сократить? Жду советов, критики тоже.
Основной код:
#include <DHT.h> // подключаем библиотеку для датчика
DHT dht(2, DHT11); // сообщаем на каком порту будет датчик
int LDRpin = 0;
int analogValue =0;
void setup() {
dht.begin(); // запускаем датчик DHT11
Serial.begin(9600); // подключаем монитор порта
}
void loop() {
int val = analogRead(A0);
// считываем температуру (t) и влажность (h)
float h = dht.readHumidity();
float t = dht.readTemperature();
// выводим температуру (t) и влажность (h) на монитор порта
Serial.print("Temperature: ");
Serial.println(t);
Serial.print(" ");
Serial.print("Humidity: ");
Serial.println(h);
analogValue = analogRead(LDRpin); //считывание данных с фоторезистора
Serial.print("Light: "); //вывожу данные на порт
Serial.println(analogValue);
if (t <= 20) { //если температура меньше 20 гр по цельсию то загорается желтый светодиод на пине 11
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
} else if (t < 28 && t > 21) { //если температура датчика от 21 до 28 то включаю зеленый светодиод на пине 10
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
} else if (t > 29) { //если выше 29 то включаю красный светодиод на пине 9
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
}
if (val < 600) { //если значение света больше 600 то включаю красный светодиод (порт 3)
digitalWrite(3, LOW);
} else {
digitalWrite(3, HIGH);
}
delay(450); //задержка 450млс
}
Серийный порт(выход):
Temperature: 23.00
Humidity: 52.00
Light: 782