Bonjour j'ai fait un programme pour un capteur de température et je l'affiche sur un écran LCD munit de bouton et le problème c'est que quand je l'affiche en °C ,Kelvin ou fahrenheit elle est pas actualiser en temps réel ''c'est une ancienne valeur'' je suis obligé de re appuyer sur le bouton pour l'actualiser et sa indéfiniment. Auriez vous une solution merci d'avance ![]()
#include <Wire.h>
#include <Adafruit_RGBLCDShield.h>
Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield();
#define WHITE 0x7
int temperatureC=0 ;
int temperature=0 ;
int temperatureK=0 ;
int temperatureF=0 ;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setBacklight(WHITE);
lcd.print("Capteur De");
lcd.setCursor(0,1);
lcd.print("Temperature");
delay(1000);
lcd.clear();
}
uint8_t i=0;
void loop() {
lcd.setCursor(0, 1);
temperature = analogRead(A0);
temperatureC = temperature/2.048-273;
temperatureK = temperature/2.048;
temperatureF = temperatureC*1.8+32 ;
Serial.println("Temperature(ºC): ");
Serial.println(temperatureC);
Serial.println(" Temperature(ºK): ");
Serial.println(temperatureK);
Serial.println(" Temperature(ºF): ");
Serial.println(temperatureF);
uint8_t buttons = lcd.readButtons();
if (buttons) {
lcd.clear();
lcd.setCursor(0,0);
if (buttons & BUTTON_UP) {
lcd.print(temperatureF);
lcd.setBacklight(WHITE);
}
if (buttons & BUTTON_DOWN) {
lcd.print("DOWN ");
lcd.setBacklight(WHITE);
}
if (buttons & BUTTON_LEFT) {
lcd.print(temperatureC);
lcd.setBacklight(WHITE);
}
if (buttons & BUTTON_RIGHT) {
lcd.print(temperatureK);
lcd.setBacklight(WHITE);
}
if (buttons & BUTTON_SELECT) {
lcd.setBacklight(WHITE);
}
}
}