Ciao a tutti!
Ho un Arduino Uno, e sono un neofita nel programmarlo, il problema che vi pongo è questo:
Sto progettando una piccola serra, dove i valori massimi di umidità e temperatura, sono "tenuti a bada" da una singola ventola... Giusto per compicare un po' le cose la ventola non deve entrare in conflitto con il riscaldatore! Cioè se il riscaldatore è acceso, indipendentemente dai dati che rileva la sonda, la ventola potrà partire solo quando questo si sarà spento!
Ho buttato giù due righe di codice:
//se la temperatura/umidità supera... accendi ventola (pin10)
if (t>25 or h>55){
digitalWrite(ventola,HIGH);
}
else if (t<24 or h<50){
digitalWrite(ventola,LOW);
}
// se la temperatura scende sotto... accendi riscaldatori (pin9)
if (t<23) {
digitalWrite(riscaldatori,HIGH);
}
else if (t>24){
digitalWrite(riscaldatori,LOW);
}
Ho omesso la parte di creazione delle variabili "riscaldatori" e "ventola".
Come dico alla ventola "non accenderti se il riscaldatore risulta acceso" ? Ho provato con:
void loop() {
delay(500);
// sensore umidità e temperatura
int t = dht.readTemperature();
int h = dht.readHumidity();
// layout display
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temperatura " +String(t) + char(0xDF)+ "C"); // prima riga lcd
lcd.setCursor(0,1);
lcd.print("Umidita' "+ String(h)+ "%"); //seconda riga lcd
//se la temperatura e umidità supera... accendi ventola (pin10)
if (t>25 or h>55){
digitalWrite(ventola,HIGH);
}
else if (t<24 or h<50){
digitalWrite(ventola,LOW);
}
if(riscaldatori == HIGH){
digitalWrite(ventola,LOW);
}
// se la temperatura scende sotto... accendi riscaldatori (pin9)
if (t<23) {
digitalWrite(riscaldatori,HIGH);
}
else if (t>24){
digitalWrite(riscaldatori,LOW);
}
Putroppo però l'effeto non è quello voluto.. Arduino controlla i valori, permettendo a ventola e riscaldatori di lavorare in contemporanea...
Non so, avete consigli da darmi? Temo che lavorando in contemporanea entrino in conflitto, con il risultato di non avere mai il valore richiesto di temperatura/umidità, in quando la ventola raffredda il riscaldatore che cerca di scaldare, bloccandosi in una reazione a catena infinita !!
Grazie in anticipo,
Emanuele.