#include "DHT.h"
#define PIN_LED 2
#define PIN_PHOTO_SENSOR A0
#define DHTPIN 9// Тот самый номер пина, о котором упоминалось выше
// Одна из следующих строк закоментирована. Снимите комментарий, если подключаете датчик DHT11 к arduino
DHT dht(DHTPIN, DHT22); //Инициация датчика
//DHT dht(DHTPIN, DHT11);
const int led1=13;
const int led2=12;
const int led3=11;
const int red1=5;
const int red=4;
const int var=0;
void setup() {
pinMode(PIN_LED, OUTPUT);
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(red, OUTPUT);
pinMode(red1, OUTPUT);
dht.begin();
}
void loop() {
float h = dht.readHumidity(); //Измеряем влажность
float t = dht.readTemperature(); //Измеряем температуру
if (isnan(h) || isnan(t)) { // Проверка. Если не удается считать показания, выводится «Ошибка считывания», и программа завершает работу
Serial.println("Ошибка считывания");
return;
}
int val = analogRead(PIN_PHOTO_SENSOR);
if (val < 300) {
// Светло, выключаем реле
for(int j=0;j<2;j++){
pinMode(j, OUTPUT);
digitalWrite(red, HIGH);
delay(500);
digitalWrite(red, LOW);
delay(500);
digitalWrite(red1, HIGH); delay(500);
digitalWrite(red1, LOW); delay(500);
}
}
if (h>40){
for(int i=0;i<2;i++){ // Конструкция «3 в одном»
pinMode(i, OUTPUT);
digitalWrite(led1, HIGH);
delay(1000);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(1000);
digitalWrite(led2, LOW);
delay(100);
digitalWrite(led3, HIGH);
delay(1000);
digitalWrite(led3, LOW);
}}}