Paso 4: El código
El código es bastante simple y es fácil de entender.
Primero son necesarios biblioteca y dirección variables globales.
#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;
Después de es hora de construir la instalación de vacío.
Esto es necesario en cualquier programa.
En la configuración hay comienzo de la serie y de la pantalla LCD. También se aplica aquí la tarjeta SD.
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 respiración de vacío se realiza aquí. Éste tiene la capacidad de desvanecer el color cuando cambia.
void breath(unsigned char color){
para (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); para (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); }
}
Void loop también es necesaria en cualquier programa.
Esto es donde se pone todo el programa. El bucle significa que el programa continuará para siempre.
void loop() {si (temperatura > 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 (temperatura < 25) {breath(REG_GREEN); File dataFile = SD.open("Temperatures.txt", FILE_WRITE); Si (temperatura < 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 ("error al abrir datalog.txt");