IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Wemos mise en oeuvre affichage E-paper 1.54"


Sujet :

Arduino

  1. #1
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    765
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 765
    Points : 230
    Points
    230
    Par défaut Wemos mise en oeuvre affichage E-paper 1.54"
    Bonjour à tous ,

    Dans continuité de mon projet de température extérieure , je souhaite pouvoir afficher celle-ci et d'autres infos
    à partir d'un affichage de type E-paper 1.54" , l'avantage est bien sûr sa consommation quasiment nulle au repos
    Pour ce faire , j'utilise
    - ce module Nom : 2024-03-16_11-00-06.jpg
Affichages : 63
Taille : 59,5 Ko
    avec la bibliothèque suivante :
    https://github.com/ZinggJM/GxEPD2

    et le résultat attendu est le suivant :
    Nom : 2024-03-27_10-12-04.jpg
Affichages : 59
Taille : 28,1 Ko

    Pour ce faire, j'utilise 2 sous-programmes extrait des exemples
    mais l'affichage reste alterné , l'affichage Bitmap efface la valeur de température et inversement
    parce qu'il faudrait utiliser un affichage partiel pour la température pour ne pas effacer l'image BitMap

    et c'est là qu'intervient ma demande

    Comment faire pour que cet affichage de la température
    soit un affichage "partiel" svp ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    void AfficheTemp()
    {
      display.setRotation(1);
           display.setFont(&FreeSerifBoldItalic24pt7b);
           display.setTextColor(GxEPD_BLACK);
           int16_t tbx, tby; uint16_t tbw, tbh;
           display.getTextBounds(String(piscine,1), 0, 0, &tbx, &tby, &tbw, &tbh);
           // center the bounding box by transposition of the origin:
           uint16_t x = ((display.width() - tbw) / 2) - tbx;
           uint16_t y = ((display.height() - tbh) / 2) - tby;
           display.setFullWindow(); 
           display.firstPage();
           do
            {
              display.fillScreen(GxEPD_WHITE);
              display.setCursor(x, y-tbh);
              display.print(String(piscine,1));
              display.setTextColor(display.epd2.hasColor ? GxEPD_RED : GxEPD_BLACK);
              x = ((display.width() - tbw) / 2) - tbx;
            }
           while (display.nextPage());
     
    }
     
    .../....
     
     
    void AfficheBitMaps()
    {
      const unsigned char* bitmaps[] =
      {
        gImage_gui
      };
     
      if (display.epd2.panel == GxEPD2::GDEH0154D67)
      {
        bool m = display.mirror(true);
        for (uint16_t i = 0; i < sizeof(bitmaps) / sizeof(char*); i++)
        {
          display.firstPage();
          do
          {
            display.fillScreen(GxEPD_WHITE);
            display.drawInvertedBitmap(0, 0, bitmaps[i], display.epd2.WIDTH, display.epd2.HEIGHT, GxEPD_BLACK);
          }
          while (display.nextPage());
          delay(2000);
        }
        display.mirror(m);
      }
     
    }
    Mille mercis
    pascal

  2. #2
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    765
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 765
    Points : 230
    Points
    230
    Par défaut
    RE...

    J'ai progressé mais ce n'est pas encore probant (voir image)
    Dès que j'affiche la température ( piscine) je perds le contraste
    de l'image Bitmap
    j'ai modifié le croquis comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    void updatePiscine(float piscine) 
    {
    int16_t tbx, tPar;
    uint16_t tbw, tbh;
    display.setRotation(1);
     
    uint16_t x = 55;
    uint16_t y = 110;
    display.getTextBounds(String(piscine,1), x, y, &tbx, &tPar, &tbw, &tbh);
     
    display.setFont(&FreeSerifBoldItalic24pt7b);
    display.setTextColor(GxEPD_BLACK);
     
    display.setPartialWindow(tbx, tPar, tbw, tbh);
     
      display.firstPage();
      do {
        display.fillScreen(GxEPD_WHITE);
        display.setCursor(x, y);
        display.print(String(piscine,1));
      } while (display.nextPage());
     
    }
    Images attachées Images attachées  

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 59
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par cobra38 Voir le message
    RE...

    J'ai progressé mais ce n'est pas encore probant (voir image)
    Dès que j'affiche la température ( piscine) je perds le contraste
    de l'image Bitmap
    Hello,

    J'aurais envie de dire, est-ce que ce n'est pas un probleme de techno ?
    Au moment du rafraichissement partiel, cela diminue peut etre la puissance dans l'image (ou dans une zone), puissance qui reste pour le rafraichissement ?
    Il faudrait regarder du cote de la doc technique du module. J'ai souvenir d'un rafraichissement complet toutes les x pages sur ma liseuse pour tout remettre bien au niveau affichage.

    Sinon, en quoi c'est un probleme de renvoyer toute l'image ? A priori cela ne consomme pas énormément de temps ni de batterie

  4. #4
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    765
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 765
    Points : 230
    Points
    230
    Par défaut
    Bonjour _Froggy_

    Sinon, en quoi c'est un problème de renvoyer toute l'image ? A priori cela ne consomme pas énormément de temps ni de batterie
    En fait seules les valeurs de T° et de % bat doivent être renvoyées car le reste est une image Bitmap en outre la mise à jour est partielle et ne devrait influencer l'image
    et si je renvoyais l'image Bitmap après la mise à jour des datas, j'effacerais alors ces derniers ...

    j'ai remarqué qu'après mise à jour des données , l'image revenait tout doucement avec un temps très long mais je n'ai pas d'explication

    pascal

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 59
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par cobra38 Voir le message
    En fait seules les valeurs de T° et de % bat doivent être renvoyées car le reste est une image Bitmap en outre la mise à jour est partielle et ne devrait influencer l'image
    et si je renvoyais l'image Bitmap après la mise à jour des datas, j'effacerais alors ces derniers ...
    Tu renvois l'image bitmap, puis les nouvelles valeurs de T° et de % bat

    j'ai remarqué qu'après mise à jour des données , l'image revenait tout doucement avec un temps très long mais je n'ai pas d'explication
    Il faut donc se tourner vers le datasheet de ton module e-paper

Discussions similaires

  1. Problème mise en oeuvre UDF
    Par lio33 dans le forum SQL
    Réponses: 5
    Dernier message: 18/11/2005, 21h50
  2. Documentation de mise en oeuvre
    Par babar_le_fou dans le forum C
    Réponses: 5
    Dernier message: 06/11/2005, 15h07
  3. Mise en oeuvre d'une standby
    Par armando123 dans le forum Oracle
    Réponses: 1
    Dernier message: 17/10/2005, 12h18
  4. [JMS] Mise en oeuvre
    Par tery dans le forum Java EE
    Réponses: 4
    Dernier message: 21/02/2005, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo