#include <Servo.h>
#include <dht.h>
#include <Wire.h>
#define DHT22_PIN 3
dht DHT;
Servo myservo;
Servo myservo1;
#define led1 4
#define led2 5
int potpin = 0;
int val;
int pos = 0;
void setup() {
Serial.begin(9600);
pinMode(2, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
myservo.attach(9);
myservo1.attach(10);
}
void loggingDHT22 (){
int temp = DHT.temperature;
int hum = DHT.humidity;
if (temp <= 25 && hum <= 50){
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
myservo1.write(pos);
delay(5); // waits 15ms for the servo to reach the position
}
}
else{
for (pos = 0; pos >= 0; pos -= 1){
myservo.write(pos); // tell servo to go to position in variable 'pos'
myservo1.write(pos);
delay(1000);
}
delay(1000);
}
}
void loop() {
int chk = DHT.read22(DHT22_PIN);
if(digitalRead(2)== HIGH){
myservo.write(0);
myservo1.write(0);
loggingDHT22();
Serial.print("Temperature = ");
Serial.println(DHT.temperature, 1);
Serial.print("Humidity = ");
Serial.println(DHT.humidity, 1);
digitalWrite(led2,HIGH);
delay(500);
}
else{
digitalWrite(led2,LOW);
}
if(digitalRead(2)== LOW){
val = analogRead(potpin);
val = map(val, 0, 1023, 0, 180);
myservo.write(val);
myservo1.write(val);
digitalWrite(led1,HIGH);
delay(15);
}
else{
digitalWrite(led1,LOW);
}
}