Afficher valeur sur 2.8″ Touch LCD Shield for Arduino

Bonjour,

Je viens solliciter votre aide car je suis bloqué. J'ai une carte arduino uno et un écran LCD tactile 2.8". Mon objectif étant de faire afficher du texte sur cette écran, le tactile ne servant à rien. Mais je n'arrive pas à faire afficher du texte, même après avoir regarder sur internet et installer les différentes bibliothèques tel que adafruit.

Merci de votre aide.

Bonjour,
Merci de lire les bonnes pratiques du forum francophone et de les appliquer.

Il faudrait des détails un peu plus précis sur le matériel utilisé et le code que tu as essayé.
Un lien vers l'écran sur le site du vendeur par exemple car il y a de nombreux modèles.

oui pas de soucis, alors c'est cet écran la: ARD SHD 2,8TD: Shield Arduino - écran 2,8", tactile, 320 x 240 pixels, ILI9341 chez reichelt elektronik

Et j'ai essayé de faire ce tuto la, mais impossible d'afficher les éléments: Arduino Touch Screen Tutorial - educ8s.tv - Watch Learn Build

Cet écran utilise un driver IL9341. Le tutorial que tu as essayé est pour un écran utilisant un driver ILI9325.
Dans le tuto, ils suggèrent d'installer un driver Adafruit modifié.
Il faudrait le supprimer et installer celui-ci à la place

Dans les exemples installés avec cette nouvelle bibliothèque, tu peux essayer graphicstest qui détecte automatiquement le type de driver et qui devrait fonctionner avec ton écran.

1 Like

merci de votre aide, maintenant j'ai fais mon propre petit programme :

#include <Adafruit_GFX.h>    
#include <TouchScreen.h>

#define LCD_CS A4
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A5

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

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

void setup() {
  Serial.begin(9600);
  Serial.print("Starting...");
  
  tft.reset();
  tft.begin(0x9325);
  tft.setRotation(1);
  
  tft.fillScreen(BLACK);
}

  tft.setCursor(100,30);
  tft.setTextColor(WHITE);
  tft.setTextSize(4);
  tft.print("Hello");

Sauf que je me retrouve avec l'erreur : exit status 1
'tft' does not name a type

Comment faire pour l'enlever ?

Il faut inclure la library Adafruit_TFTLCD en ajoutant la ligne suivante au début du programme

#include <Adafruit_TFTLCD.h>

Cela ne va pas fonctionner correctement ton driver est un ILI9341

tft.begin(0x9341);

Regarde comment sont écrits les exemples.

1 Like

Merci, mais même après avoir fait les modifications l'erreur est toujours présente.

#include <Adafruit_TFTLCD.h> 
#include <Adafruit_GFX.h>    
#include <TouchScreen.h>

#define LCD_CS A4
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A5

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

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

void setup() {
  Serial.begin(9600);
  Serial.print("Starting...");
  
  tft.reset();
  tft.begin(0x9341);
  tft.setRotation(1);
  
  tft.fillScreen(BLACK);
}

  tft.setCursor(100,30);
  tft.setTextColor(WHITE);
  tft.setTextSize(4);
  tft.print("Hello");`

Bonjour,

Tu n'as pas de fonction loop().
Ces instructions sont en dehors de toute fonction.

  tft.setCursor(100,30);
  tft.setTextColor(WHITE);
  tft.setTextSize(4);
  tft.print("Hello");`
1 Like

Merci beaucoup c'était ça !!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.