Bonjour à tous je vous explique mon problème.
J'apprends depuis peu à me servir de l'écran TFT.
Tout se passe bien pour le moment sauf que quand j'ai un affichage en "pourcentage" il y a toujours un 0 qui reste devant (ex : 04% )
où il reste il reste affiché trois chiffres (ex : 480 au lieu de 48%) donc c'est illisible..
PS : je suis débutant et je vais composer mon code de jour en jour.
Je ne sais absolument pas où ça va mener, j'essaye d'intégrer un petit peu tout et n'importe quoi c'est histoire de passer le temps et apprendre.
Sinon pour le moment le code fonctionne sur un écran TFT divisé en quatre.
Une fois le problème résolu de l'affichage du pourcentage j'aimerais commencer à apprendre à faire un affichage avec la fonction tactile pour faire des sous menu.
///////////////////////TFT NE PAS TOUCHER ////////////////////////////
#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"
#define TFT_CLK 13
#define TFT_MISO 12
#define TFT_MOSI 11
#define TFT_DC 9
#define TFT_CS 10
#define TFT_RST 8
#define largeur 240
#define longuer 320
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);
///////////////////////TFT NE PAS TOUCHER ////////////////////////////
///////////////////////SONDE 1////////////////////////
const int ValeursecheA0 = 494; //CHANGER de valeur haute humide apres test
const int ValeurhumideA0 = 216; //CHANGER Valeur base seche apres test
int SondeanalogPinA0 = A0; // PIN A0 pour le capteur de l’humidité du sol
int SondedigitalValA0; // Lecture de la sonde
/////////////////////////////////////SONDE 1////////////
//////////////////////SONDE 2////////////////////////
const int ValeursecheA1 = 494; //CHANGER de valeur haute humide apres test
const int ValeurhumideA1 = 216; //CHANGER Valeur base seche apres test
int SondeanalogPinA1 = A1; // PIN A1 pour le capteur de l’humidité du sol
int SondedigitalValA1; // Lecture de la sonde
/////////////////////////////////////SONDE 2////////////
///////////////////////SONDE 3////////////////////////
const int ValeursecheA2 = 498; //CHANGER de valeur haute humide apres test
const int ValeurhumideA2 = 382; //CHANGER Valeur base seche apres test
int SondeanalogPinA2 = A2; // PIN A2 pour le capteur de l’humidité du sol
int SondedigitalValA2; // Lecture de la sonde
/////////////////////////////////////SONDE 3////////////
/*
///////////////////////SONDE 4////////////////////////
const int ValeursecheA3 = 490; //CHANGER de valeur haute humide apres test
const int ValeurhumideA3 = 219; //CHANGER Valeur base seche apres test
int SondeanalogPinA3 = A3; // PIN A3 pour le capteur de l’humidité du sol
int SondedigitalValA3; // Lecture de la sonde
/////////////////////////////////////SONDE 4////////////
*/
//////////////////////Convertion en %//////////////////////
int ValeurPourcentageA0 = A0; //Sonde1 pin A0
int ValeurPourcentageA1 = A1; //Sonde1 pin A1
int ValeurPourcentageA2 = A2; //Sonde1 pin A2
int ValeurPourcentageA3 = A3; //Sonde1 pin A3
//////////////////////Convertion en %//////////////////////
void setup()
{
Serial.begin(9600);
///////////////////////TFT NE PAS TOUCHER ////////////////////////////
tft.begin();
tft.setRotation(3);
tft.fillScreen(ILI9341_BLACK);
//HAUT GAUCHE
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(3);
tft.setCursor(20,10);
tft.println("Bananier");
//HAUT DROITE
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(3);
tft.setCursor(210,10);
tft.println("Oliver");
//BAS GAUCHE
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(3);
tft.setCursor(20,140);
tft.println("Monstera");
//BAS DROITE
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(3);
tft.setCursor(195,140);
tft.println("Yucca");
//CENTRE ECRAN
tft.drawLine (0, 120, 320 ,120 ,ILI9341_WHITE);
tft.drawLine (155, 0, 155 ,340 ,ILI9341_WHITE);
tft.drawCircle(155, 120, 31 ,ILI9341_WHITE);
tft.fillCircle(155, 120, 30 ,ILI9341_BLACK);
tft.setTextColor (ILI9341_WHITE);
tft.setTextSize (5);
tft.setCursor (145,103);
tft.println ("%");
///////////////////////TFT NE PAS TOUCHER ////////////////////////////
}
void loop() {
////////////////////// SONDE 1 ////////////////////////////
int ValeurPourcentageA0 = A0;
ValeurPourcentageA0 = map (analogRead(SondeanalogPinA0), ValeursecheA0, ValeurhumideA0, 0, 99); //map(valeur, deValeurbasse, deValeurHaute, versValeurBasse, vers ValeurHaute);
Serial.print("Sonde 1 : "); Serial.println(analogRead(A0));
Serial.print(ValeurPourcentageA0);
tft.setTextColor(ILI9341_WHITE,ILI9341_BLACK);
tft.setTextSize(4);
tft.setCursor(50, 60);
tft.println(ValeurPourcentageA0);
/////////////////////// SONDE 1 ////////////////////////////
/////////////////////// SONDE 2 ////////////////////////////
int ValeurPourcentageA1 = A1;
ValeurPourcentageA1 = map (analogRead(SondeanalogPinA1), ValeursecheA1, ValeurhumideA1, 0, 99); //map(valeur, deValeurbasse, deValeurHaute, versValeurBasse, vers ValeurHaute);
Serial.print("Sonde 2 : "); Serial.println(analogRead(A1));
tft.setTextColor(ILI9341_WHITE,ILI9341_BLACK);
tft.setTextSize(4);
tft.setCursor(220, 60);
tft.println(ValeurPourcentageA1);
/////////////////////// SONDE 2 ////////////////////////////
/////////////////////// SONDE 3 ////////////////////////////
int ValeurPourcentageA2 = A2;
ValeurPourcentageA2 = map (analogRead(SondeanalogPinA2), ValeursecheA2, ValeurhumideA2, 0, 99); //map(valeur, deValeurbasse, deValeurHaute, versValeurBasse, vers ValeurHaute);
Serial.print("Sonde 3 : "); Serial.println(analogRead(A2));
tft.setTextColor(ILI9341_WHITE,ILI9341_BLACK);
tft.setTextSize(4);
tft.setCursor(50,180);
tft.println(ValeurPourcentageA2);
/////////////////////// SONDE 3 ////////////////////////////
/////////////////////// SONDE 4 ////////////////////////////
int ValeurPourcentageA3 = A3;
ValeurPourcentageA3 = map (analogRead(SondeanalogPinA3), ValeursecheA3, ValeurhumideA3, 0, 99); //map(valeur, deValeurbasse, deValeurHaute, versValeurBasse, vers ValeurHaute);
Serial.print("Sonde 4 : "); Serial.println(analogRead(A3));
tft.setTextColor(ILI9341_WHITE,ILI9341_BLACK);
tft.setTextSize(4);
tft.setCursor(210,180);
tft.println(ValeurPourcentageA3);
delay(50);
/////////////////////// SONDE 3 ////////////////////////////
}