Étape 4: Le code
Le code est assez simple et il est facile à comprendre.
Tout d’abord inclure des variables globales nécessaires, bibliothèque et adresse.
#include #include "rgb_lcd.h" #include #include const int pinTemp = A0; const int chipSelect = 4; float temperature; int B=3975; float resistance; rgb_lcd lcd;
Après cela est temps de construire la configuration Sub.
Ceci est nécessaire dans n’importe quel programme.
Dans la configuration, il y a début de la série et de l’écran LCD. Aussi, la carte SD est appliquée ici.
void setup(){ Serial.begin(115200); lcd.begin(16, 2); lcd.print("Temperature"); Serial.print("Start write to card.");
if (!SD.begin(chipSelect)) { Serial.println("No card or failure"); return; } Serial.println("Card found");
}
Variable de Sub souffle se fait ici. Celui-ci a la capacité à s’estomper la couleur quand il change.
void breath(unsigned char color){
pour (int i = 0; i < 255; i ++) {lcd.setPWM(color, i) ; delay(5) ; for(int i=0; i<255; i++) { lcd.setPWM(color, i); delay(5); }
Delay(500) ; pour (int i = 254; i > = 0; i--) {lcd.setPWM(color, i) ; delay(5) ; delay(500); for(int i=254; i>=0; i--) { lcd.setPWM(color, i); delay(5); }
}
Boucle de Sub est également nécessaire dans n’importe quel programme.
C’est où l’ensemble du programme définit dans. La boucle signifie que le programme se poursuivra pour toujours.
void loop() {si (température > 25) {breath(REG_RED) ; void loop(){ if (temperature >25){ breath(REG_RED); } if (temperature <25){ breath(REG_GREEN); } if (temperature <20) { breath(REG_BLUE); } lcd.setCursor(5,1); lcd.write(0b11011111); lcd.setCursor(6,1); lcd.print("C"); int val = analogRead(pinTemp); resistance=(float)(1023-val)*10000/val; temperature=1/(log(resistance/10000)/B+1/298.15)-273.15; Serial.println(temperature); lcd.setCursor(0,1); lcd.print(temperature); String dataString = ""; Si (température < 25) {breath(REG_GREEN) ; File dataFile = SD.open("Temperatures.txt", FILE_WRITE); Si (température < 20) {breath(REG_BLUE) ; if (dataFile) { dataFile.println(temperature); dataFile.close(); } else { Serial.println("error opening datalog.txt"); } }
Si (dataFile) {dataFile.println(temperature) ; dataFile.close() ;else {Serial.println ("erreur d’ouverture de datalog.txt") ;