2,9" e-paper + arduino uno

Bonjour, je possède depuis un petit moment un petit écran E-Paper Be-colors.

Malheureusement, malgré mes nombreuses heures de recherche, impossible de le faire fonctionner.
Il s'agis d'un bête écran en format 21:9 Rouge et Noir.

Il dispose de
VVC, GND, DIN, CLOCK, CS, DC, RESET & BUSY.

Si quelqu'un a une solution pour moi, je veux juste afficher du texte.

Merci d'avance

lien vers le produit?

a priori il faut s'attendre à ce que ce soit un module SPI sans lien de l'esclave vers le maître (MISO) car il n'y a pas de feedback.

VCC 3.3V
GND GND
DIN SPI MOSI
CLK SPI SCK
CS SPI chip select (Low active)
DC Data/Command control pin (High for data, and low for command)
RST External reset pin (Low for reset)
BUSY Busy state output pin (High for busy)

si vous avez balancé du 5V sur la pin VCC vous l'avez peut-être cramé...

D'après la doc du constructeur, il s'alimente en 5v :confused:
j'ai trouvé des codes etc mais à chaque fois l'IDE me dit qu'il manque un fichier même si je l'ajoute...

Sinon c'est le modèle 2,9" be-colors de chez waveshare

Postez vos images directement dans le forum (lisez les posts épinglés pour savoir comment utiliser le forum) et si c'est du texte un copier coller c'est mieux (perso je ne suis pas les liens).

ils semble qu'ils aient un wiki expliquant comment configurer, c'est ce que vous avez fait? ils ont aussi un GitHub associé.

Vous noterez aussi qu'ils disent

Note: Because of the small RAM of Arduino, it cannot support drawing function, therefore, we only provide image display function. The image data are stored in flash. Or you can think about using Waveshare e-Paper Shield for Arduino board

Oui il y a des quottes pour les images ^^' j'ai déjà été administrateur & dev d'un forum donc je connais aha, mais le lien lighshot voulais pas me donner l'URL img donc j'ai fait comme ça.

J'ai essayé de suivre le wiki mais rien à faire, il me dit qu'il n'y a pas mon fichier c'est vraiment relou..

epd2in9b.cpp:28:10: error: epd2in9b.h: No such file or directory

Plusieurs bibliothèque trouvées pour "SPI.h"
#include <epd2in9b.h>

Utilisé : C:\Program
^~~~~~~~~~~~

compilation terminated.

exit status 1
epd2in9b.h: No such file or directory

Lorsque j'ai joué avec les écrans e-paper, j'ai utilisé la bibliothèque GxEPD, écrite et maintenue par un membre du forum (Jean Marc Zingg), c'est pratique pour obtenir de l'aide. Elle est adaptée pour les écrans Waveshare et GoodDisplay

Je te conseille de l'installer et d'essayer un des exemples.

je suis tombé sur son topic mais pareil, pas possible d'y utiliser :frowning:

Fareoh:
je suis tombé sur son topic mais pareil, pas possible d'y utiliser :frowning:

Il faut que tu en dises plus, car on a du mal à voir ce qui se passe d'ici...

Décris les branchements, poste des photos du montage, ton code, etc. tout détail peut être utile.

Pour moi GXEPD2 est une bonne piste a suivre, mais pour l'utiliser il faut repérer la référence GoodDisplay qui correspond a la référence Waveshare.
Montrer en détail ce qui a été testé
Montrer tout cela d'une façon accessible facilement sur smartphone (images et code bien inclus dans le corps du message)

Ya rien à faire j'ai le même soucis

sketch_nov27a:42:10: error: GxEPD.h: No such file or directory

#include <GxEPD.h>

^~~~~~~~~

compilation terminated.

exit status 1
GxEPD.h: No such file or directory

Alors que le fichier est bien là.

Copie d'écran floue sur mon smartphone
La librairie nécessaire a t-elle été installée correctement a l'aide de l'IDE Arduino ?

Ça a l'air d'être en effet un problème d'installation de bibliothèque. comment as-tu fait pour installer cette bibliothèque (et la précédente aussi) ? Ce lien explique comment installer une bibliothèque avec le gestionnaire de l'IDE Arduino. Les bibliothèques GxEPD2 (et GxEPD) sont installables par ce moyen.

On ne voit pas bien le code, est-ce juste un exemple de la bibliothèque ?

Bonjour,

Si ton fichier est dans le même répertoire que ton programme, il faut utiliser "" dans le #include

#include "GxEPD.h"

<> c'est pour les librairies.

j'ai tout désinstallé et réinstallé, mais il continue à me faire chi£%"r

GxEPD_Example:68:10: error: #include expects "FILENAME" or

#include GxEPD_BitmapExamples

^~~~~~~~~~~~~~~~~~~~

Plusieurs bibliothèque trouvées pour "GxEPD.h"
Utilisé : C:\Users\Fareo\OneDrive\Documents\Arduino\libraries\GxEPD
Plusieurs bibliothèque trouvées pour "SPI.h"
Utilisé : C:\Program
Plusieurs bibliothèque trouvées pour "Adafruit_GFX.h"
Utilisé : C:\Users\Fareo\OneDrive\Documents\Arduino\libraries\Adafruit_GFX_Library
exit status 1
#include expects "FILENAME" or

En voyant la dernière image, je pense que tu n'utilises pas les bibliothèques comme c'est prévu dans l'IDE.

Les bibliothèques doivent être installées dans le répertoire 'libraries' de ton répertoire 'arduino'. Ici, installées signifie qu'un répertoire est créé pour chaque bibliothèque. Chez moi, ça donne ça :

Ensuite, dans le répertoire de ton code, tu n'as pas besoin de recopier les fichiers de la bibliothèque, l'instruction #include permet à l'IDE de les trouver. Ça permet de mettre à jour les bibliothèques sans avoir à les chercher sur ton PC.

Donc, voici ce que tu vas faire :

  • Efface les répertoires des bibliothèques et installe les proprement avec l'IDE Arduino
  • Connecte correctement ton écran sur ton Uno
  • Dans l'IDE : Fichier > Exemples --> cherche la bibliothèque que tu as installée (GxEPD2) et sélectionne GxEPD2_Example
  • Uploade le code sur ton Uno et regarde si ça marche
    Si ça fonctionne, c'est que ton écran est OK et bien connecté.

A partir de maintenant, tu peux lire le code de l'exemple et le simplifier pour ne retenir que les instructions qui t'intéressent. Tu crées pour cela un nouveau code vide et tu y copies ce que tu veux conserver. Puis tu testes jusqu'à ce que ça marche...

Lorsque tu veux de l'aide sur un code ici, il faut le copier dans ton message entre balises CODE (le bouton </>). Ça donnera un truc comme ça :

void setup()
{
  Serial.begin(115200);
  Serial.println();
  Serial.println("setup");
  delay(100);
  display.init(115200);
  // first update should be full refresh
  helloWorld();
  delay(1000);
}

j'ai fait comme tu

j'ai fait comme tu as dit et j'au toujours le même soucis :confused:

GxEPD_Example:68:10: error: #include expects "FILENAME" or <FILENAME>

 #include GxEPD_BitmapExamples

          ^~~~~~~~~~~~~~~~~~~~

Plusieurs bibliothèque trouvées pour "GxEPD.h"
Utilisé : C:\Users\Fareo\OneDrive\Documents\Arduino\libraries\GxEPD
Plusieurs bibliothèque trouvées pour "SPI.h"
Utilisé : C:\Program
Plusieurs bibliothèque trouvées pour "Adafruit_GFX.h"
Utilisé : C:\Users\Fareo\OneDrive\Documents\Arduino\libraries\Adafruit_GFX_Library
exit status 1
#include expects "FILENAME" or <FILENAME>

Tu as plusieurs erreurs :

Plusieurs bibliothèque trouvées pour "GxEPD.h"
Utilisé : C:\Users\Fareo\OneDrive\Documents\Arduino\libraries\GxEPD

La bibliothèque GxEPD semble être installée plusieurs fois. Ce n'est pas vraiment grave, mais il vaut mieux effacer les diverses copies et ne conserver que celle qui est dans le répertoire 'libraries'. Comme ça, tu n'auras plus ce message.

Idem pour SPI.h : celle-ci est incluse dans l'IDE Arduino à l'installation, pas besoin de la réinstaller.
Pareil pour Adafruit_GFX que tu dois avoir copiée quelque part : efface la et ne conserve que celle qui est dans le répertoire 'libraries'

Pour l'erreur principale, ça doit venir du choix de l'écran dans le code. Les premières lignes du fichier GxEPD_Example.ino servent à sélectionner le bon écran, et comme le fichier est le plus générique possible, il y a plein de lignes qui ne servent pas : tu dois juste choisir la bonne.

Tu as un 2.9" noir et blanc, donc tu dois décommenter la ligne 53 :

//#include <GxGDEH029A1/GxGDEH029A1.h>      // 2.9" b/w

ou la 54, si ça ne marche pas.

Elle donne le chemin pour aller chercher les fichiers compatibles de ton écran, dont le répertoire manquant 'GxEPD_BitmapExamples'. Après ça, je pense que ton erreur disparaîtra.

Super ! ça fonctionne merci. Juste une chose, je veux afficher un simple texte. Comment je fait ? ^^je comprend pas trop la doc :confused:

Essaye ceci :

#include <GxEPD.h>
#include <GxGDEH029A1/GxGDEH029A1.h>      // 2.9" b/w
#include <Fonts/FreeMonoBold12pt7b.h>

#include <GxIO/GxIO_SPI/GxIO_SPI.h>
#include <GxIO/GxIO.h>

GxIO_Class io(SPI, /*CS=*/ SS, /*DC=*/ 8, /*RST=*/ 9); // arbitrary selection of 8, 9 selected for default of GxEPD_Class
GxEPD_Class display(io, /*RST=*/ 9, /*BUSY=*/ 7); // default selection of (9), 7

void setup()
{
  Serial.begin(115200);
  Serial.println("Affichage texte");

  display.init(115200); // enable diagnostic output on Serial
  display.fillScreen(GxEPD_WHITE);
  display.setTextColor(GxEPD_BLACK);
  display.setFont(FreeMonoBold12pt7b);
  display.setCursor(0, 0);
  display.println();
  display.println(" !\"#$%&'()*+,-./");
  display.println("0123456789:;<=>?");
  display.println("@ABCDEFGHIJKLMNO");
  display.println("PQRSTUVWXYZ[\\]^_");
  display.update();
}

void loop() { }

C'est sans garantie, car je n'ai pas d'écran sous la main. Vérifie que ces lignes sont les bonnes pour ton Uno :

GxIO_Class io(SPI, /*CS=*/ SS, /*DC=*/ 8, /*RST=*/ 9); // arbitrary selection of 8, 9 selected for default of GxEPD_Class
GxEPD_Class display(io, /*RST=*/ 9, /*BUSY=*/ 7); // default selection of (9), 7

EDIT : j'ai corrigé une erreur, mauvaise bibliothèque - je refais pour GxEPD