J'ai besoin d'aide arduino uno tft lcd 2,8" shield touchscreen ili9338 + dht22

a marqué ce sujet comme résolu.

Bonjour en général je ne demande pas d’aide mais je suis coincé

Mon projet est simple : Afficher la température et l’humidité sur un écran tft lcd 2,8"

Matériel :

  • Réplique arduino uno r3
  • Écran 2,8 pouces LCD Tft shield touchscreen ili9338
  • Haljia DHT22 AM2302

J’ai réussi à lire la température et l’humidité dans la console de l’ide mais ça s’arrête la, déjà quelques jour que j’essaye de résoudre le probleme mais rien à faire j’ai aussi un soucis pour la librairie de l’écran ili9338 mais j’arrive quand même à afficher par exemple à changer le fond de l’écran ajouter du texte je ne me suis pas aventuré plus que ça voulant résoudre ce problème, le couleur de fond aussi n’est pas permanent j’ai l’impression qu’il s’enlève quand les données ce mettent à jour ( température et humidité ) au début il m’affiche bien le fond en noir mais après le temps écoulé il m’affiche blanc sauf qu’après essai j’ai réglé le délai de la boucle la dernière ligne de code a delay(100000) pour voir si mon hypothèse était juste mais non il m’affiche une 60 de ligne d’erreur et m’affiche la humidity et la température ( tous ça dans la console de l’ide d’arduino, j’ai toujours le problème pour afficher sur l’écran les données que lis le capteur dht22 )

Je vous remerci d’avance pour votre aide

#include "DHT.h"
#include <ADAFRUIT_GFX.h>
#include <MCUFRIEND_kbv.h>


#define DHTTYPE DHT22
#define DHTPIN 8
DHT dht(DHTPIN, DHTTYPE);

MCUFRIEND_kbv tft;




#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF






void setup(void) {
Serial.begin(9600);
Serial.println("Thor_Controller Capteur DHT22 Initialisation!");

dht.begin();

tft.begin();

}

void loop(void) {


tft.print(h);   // j'ai mis ses ligne de code rien à faire ça ne m'affiche pas l'humidité et la température 
tft.print(t);   //

// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);





// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}




// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);


// Humidité
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
// Température
Serial.print("Temperature: ");
Serial.print(hic); // (hic) permet d'obtenir la temperature avec nombre a virgule sinon (t)
Serial.println(" *C ");

delay(2000);
}
+0 -0

Bonjour ,

Tu pourrais mettre ton message d’erreur ?

Marycha

Bonjour

Je n’est pas de message d’erreur en faite c’est aussi pour ça que je ne comprend pas quand je rajoute tft.print(t); dans void loop pour obtenir la température sur l’écran, ce qu’il ce passe c’est que l’écran affiche blanc en plus d’enlever la couleur de fond de l’écran il ne m’affiche pas la température j’ai aussi fait quelque bidouille j’ai plus de problème sauf le seul problèmes c’est d’afficher la valeur obtenu par le dht22 a l’écran tft lcd mais comment faire ? tft.print(t); n’a pas l’air de fonctionner

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte