Étape 3: Le CODE
Voici le code nécessaire pour programmer votre thermostat :
Vous pouvez copier ce code dans un programme Arduino et il devrait fonctionner très bien :
int cel ;
int loin ;
laisse de char ;
FC booléenne ;
int desC ;
desF int ;
int inputDes ;
int temp ;
int changeTime = 2 ;
tension de Floating ;
#include
Innovente lcd (12, 11, 5, 4, 3, 2) ;
void setup() {}
LCD.Begin (16, 2) ;
pinMode (8 entrées) ;
pinMode (sortie 9) ;
}
void loop() {}
tension = getVoltage(0) ; initialiseurs de
desC = (getVoltage(5) / 10) * 100 ;
desF = Far(desC) + 20 ;
inputDes = (analogRead(5) / 20,5) ;
cel = (tension - 0.5) * 100 ;
loin = ((cel * 9) / 5) + 32 ;
lcd.setCursor (0, 0) ; Code d’écran LCD
LCD.Print("Temperature:") ;
lcd.setCursor (13, 0) ;
LCD.Print(temp) ;
lcd.setCursor (15, 0) ;
LCD.Print(Let) ; Affichage
lcd.setCursor (0, 1) ;
LCD.Print("desired:") ;
lcd.setCursor(9,1) ;
Si (cf == true) {}
LCD.Print(Desf) ;
lcd.setCursor(11,1) ;
} else {}
LCD.Print(desC) ;
lcd.setCursor(11,1) ;
Si {(desC < 10)
LCD.Print("") ;
lcd.setCursor(10,1) ;
}
}
LCD.Print(Let) ;
Si (cf) {//Temp Toggle
Laissez = « F » ;
Temp = loin ;
} else {}
Laissez = « C » ;
Temp = cel ;
}
Si (cel > desC) {}
digitalWrite (8, HIGH) ;
} else {}
digitalWrite (8, 0) ;
}
changeTime--;
Si (analogRead(4) > 1000 & & changeTime < 0) {//temp bascule entrée
CF =! cf ;
changeTime = 2 ;
}
Delay(150) ;
}
flotteur Far (float a) {//farenheit conversion
float b = (a * (9 / 5)) + 32 ;
Retour à b ;
}
float getVoltage (float a) {}
float b = (analogRead(a) * 0.004882814) ;
Retour à b ;
}