Salve a tutti, quello che vorrei fare è: una volta che entro nella funzione
void Avviocontrollo() {
lcd.clear();
lcd.setCursor(0,0);
lcd.print( "Menu " );
lcd.setCursor(0,1);
lcd.print( "Avvio controllo" );
delay( SETMODETIME );
lcd.clear();
lcd.setCursor(0,0);
lcd.print( "Avvio controllo" );
lcd.setCursor(0, 1);
lcd.print("valori settaggio");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp.:");
lcd.setCursor(10,0);
lcd.print(DHT11.temperature,DEC);
lcd.setCursor(0,1);
lcd.print("Umid.:");
lcd.setCursor(10,1);
lcd.print(DHT11.humidity,DEC);
delay(5000);
int chk;
chk=DHT11.read(DHT11PIN);
if(DHT11.temperature >= TmpSett + 1){
for(a=0;a<150;a++){
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
}
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp.:");
lcd.setCursor(10,0);
lcd.print(DHT11.temperature, DEC);
lcd.setCursor(0,1);
lcd.print("Umid.:");
lcd.setCursor(10,1);
lcd.print(DHT11.humidity, DEC );
if(DHT11.temperature >= TmpSett + 2){
for(a=0;a<150;a++){
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
}
}
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp.:");
lcd.setCursor(10,0);
lcd.print(DHT11.temperature, DEC);
lcd.setCursor(0,1);
lcd.print("Umid.:");
lcd.setCursor(10,1);
lcd.print(DHT11.humidity, DEC );
if(DHT11.temperature >= TmpSett + 3){
while(DHT11.temperature > 28){
pinMode(50,OUTPUT);
digitalWrite(50,LOW);
}
}
}
if(DHT11.temperature < 26){
for(c=0;c<150;c++){
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
}
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp.:");
lcd.setCursor(10,0);
lcd.print(DHT11.temperature, DEC);
lcd.setCursor(0,1);
lcd.print("Umid.:");
lcd.setCursor(10,1);
lcd.print(DHT11.humidity, DEC );
if(DHT11.temperature < 26){
for(c=0;c<150;c++){
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
delay(delayTime);
}
}
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp.:");
lcd.setCursor(10,0);
lcd.print(DHT11.temperature, DEC);
lcd.setCursor(0,1);
lcd.print("Umid.:");
lcd.setCursor(10,1);
lcd.print(DHT11.humidity, DEC );
if(DHT11.temperature < 24){
while(DHT11.temperature < 24){
pinMode(50,OUTPUT);
digitalWrite(50,LOW);
}
}
}
delay(2000);
}
alla pressione di uno dei pulsanti della mia display shield uscire da questa funzione ed entrare in un altra funzione. Non so come fare, grazie