#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <DHTesp.h>
#include <Stepper.h>
#define DHTPIN 15
DHTesp dhtSensor;
int conttemp;
int conthum;
const int passiPerGiro = 500;
Stepper myStepper(passiPerGiro, 5, 18, 19, 21);
#define SDA 13
#define SCL 14
#define Am 21
#define Ap 19
#define Bp 18
#define Bm 5
LiquidCrystal_I2C lcd(0x27,20,4);
int str;
int agl;
void setup() {
Serial.begin(115200);
Wire.begin(13, 14);
lcd.begin(13, 14);
lcd.init();
lcd.backlight();
dhtSensor.setup(DHTPIN, DHTesp::DHT22);
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
conttemp= 0;
conthum= 0;
pinMode(Ap ,OUTPUT);
pinMode(Am ,OUTPUT);
pinMode(Bp ,OUTPUT);
pinMode(Bm ,OUTPUT);
pinMode(22, INPUT);
pinMode(23, INPUT);
pinMode(25, OUTPUT);
myStepper.setSpeed(60);
while(true){str= digitalRead(22);
agl= digitalRead(23);
Serial.println(String(str)+" str nel setup");
Serial.println(String(agl)+" agl nel setup");
delay(1000);
if(str==0){
//float h = dhtSensor.readHumidity();
//float t = dhtSensor.readTemperature();
TempAndHumidity data = dhtSensor.getTempAndHumidity();
/*Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");*/
lcd.setCursor(0,0);
lcd.print("Temp");
lcd.setCursor(6,0);
lcd.print(data.temperature);
lcd.setCursor(12,0);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Umid");
lcd.setCursor(6,1);
lcd.print(data.humidity);
lcd.setCursor(12,1);
lcd.print("%");
lcd.setCursor(0, 2);
lcd.print("temp. high");
lcd.setCursor(11, 2);
lcd.print(conttemp);
lcd.setCursor(0, 3);
lcd.print("hum. high");
lcd.setCursor(11, 3);
lcd.print(conthum);
if (data.temperature > 25){
digitalWrite(2, HIGH);
conttemp++;
}
else{
digitalWrite(2, LOW);
};
if (data.humidity > 60){
digitalWrite(4, HIGH);
conthum++;
}
else{
digitalWrite(4, LOW);
}
if ( conttemp > 10 or conthum > 10) {
myStepper.step(passiPerGiro);
delay(500); //delay del motore
}
delay(500);//delay del campionamento di dht22
}
else{
lcd.setCursor(0,1);
lcd.print(" ");
digitalWrite(2, LOW);
digitalWrite(4, LOW);
break;};
}
}
void loop(){
str= digitalRead(22);
agl= digitalRead(23);
Serial.println(String(str)+" str nel loop");
Serial.println(String(agl)+" agl nel loop");
delay(1000);
}