[Programmation] problème d‘affichage stm32 et oled
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

problème d‘affichage stm32 et oled



  1. #1
    gd82

    problème d‘affichage stm32 et oled


    ------

    bonjour,
    je suis en train de commencer a essayer d'utiliser une bluepill et un oled 128 64 en I2C
    J'ai écrit un simple programme de test et celui ci ne fonctionne qu'a moitié.

    Voici le code: (sous platformio)

    Code:
    #include <Arduino.h>
    #include <Wire.h>
    #include <Adafruit_SSD1306.h>
    #include <Adafruit_GFX.h>
    
    Adafruit_SSD1306 display(128,64,&Wire,-1);
    
    void setup() {
      
      display.begin(SSD1306_SWITCHCAPVCC, 0x3C,-1);
      display.display(); // affiche le splashscreen
      delay(3000); //attend 3s
      display.clearDisplay();//vide le buffer ecran
      display.setFont(0);
      display.setCursor(10,10);
      display.print("texte"); //envoie "texte" dans le buffer ecran
      display.display(); //affiche le buffer
     
    }
    
    void loop() {
      }
    tout fonctionne jusqu'à delay(3000) mais ensuite l'affichage s’éteint comme si le buffer avait été vidé mais que la fonction print était inopérante.Je précise tout de suite que j'ai essayé avec et sans setFont

    et ca fait trois jours que je retourne ca dans tous les sens sans résultat (j'ai également essayé de compiler et téléverser avec Arduino IDE sans plus de succès)

    Quelqu'un peut-il m’éviter de fondre un fusible?

    -----
    Dernière modification par gienas ; 23/03/2023 à 11h58. Motif: Ajouté les balises code obligatoires pour les programmes

  2. #2
    Murayama

    Re : probleme d affichage stm32 et oled

    Bonjour!

    Si le OLED commence à afficher quelque chose, c'est une bonne nouvelle,
    cela signifie que le hard est bon.
    Si le OLED s'éteint après le Delay(), c'est probablement à cause de (ou grâce
    à) l'instruction clearDisplay().
    Ensuite il va falloir analyser un peu plus finement, ou bien regarder sur internet
    ce qui se fait, et rien qu'avec bluepill et Adafruit_SSD1306, on trouve un char et une
    barge de liens avec video ou non.
    NB: il y a apparemment des librairies spéciales pour STM32, c'est une piste
    à regarder.

    Pascal


  3. #3
    Seb.26

    Re : probleme d affichage stm32 et oled

    Code:
    display.drawPixel(10, 10, SSD1306_WHITE);
    ... à la place de ton print, ça marche ?
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  4. #4
    Seb.26

    Re : problème d‘affichage stm32 et oled

    Tu peux aussi tester :
    Code:
    {
      int16_t i;
    
      display.clearDisplay(); // Clear display buffer
    
      for(i=0; i<display.width(); i+=4) {
        display.drawLine(0, 0, i, display.height()-1, SSD1306_WHITE);
        display.display(); // Update screen with each newly-drawn line
        delay(1);
      }
      for(i=0; i<display.height(); i+=4) {
        display.drawLine(0, 0, display.width()-1, i, SSD1306_WHITE);
        display.display();
        delay(1);
      }
      delay(250);
    }
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  5. A voir en vidéo sur Futura
  6. #5
    gd82

    Re : probleme d affichage stm32 et oled

    oui ça marche le pixel s affiche

  7. #6
    gd82

    Re : problème d‘affichage stm32 et oled

    ca fonctionne aussi mais comment afficher du texte si la fonction print est inopérante?

  8. #7
    Murayama

    Re : problème d‘affichage stm32 et oled

    Bonjour!

    Comme je le disais plus haut, il y a peut-être des librairies spéciales quand on utilise Bluepill.

    Il y a une video ici: https://www.youtube.com/watch?v=tXaeRzaBwBY et l'indien inclut ceci:
    #include <Adafruit_SSD1306_STM32.h>
    Il faut voir en accéléré parce qu'il met des plombes pour écrire 10 lignes, mais ça peut être intéressant pour commencer.

    Pascal


  9. #8
    gd82

    Re : problème d‘affichage stm32 et oled

    merci pour le conseil;par contre comme je suis débutant avec PlatformIO, je ne sais pas comment inclure cette lib que j'ai téléchargée à part car elle ne fait pas partie des lib proposéees par PIO;
    je continue à creuser

  10. #9
    Seb.26

    Re : problème d‘affichage stm32 et oled

    Normalement toutes les fonctions GFX se basent sur la même fonction "drawpixel", donc si les lignes marchent, le print marche aussi ... sauf que 'non' pour toi, donc y'a un os ...

    Si tu essayes de faire tourner l'exemple de la library SSD1306 ... ça donne quoi ?
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  11. #10
    gd82

    Re : problème d‘affichage stm32 et oled

    et bien ça ne fonctionne pas.J'ai installé la librairie proposée par Murayama; la le texte s'affiche (fonction drawstring) mais maintenant j'ai le problème d'afficher ensuite le contenu d'une variable numérique en double; j'ai essayé diverses possibilités de conversion num2string sans succès

  12. #11
    Murayama

    Re : problème d‘affichage stm32 et oled

    Bonjour!

    Bon, j'ai l'impression qu'il y a tout de même du progrès.
    Qu'est-ce qui ne fonctionne pas exactement?
    Vous pouvez afficher des caractères mais pas un nombre?
    Je ne connais pas bien Arduino, mais il y a certainement
    moyen de convertir un nombre en chaîne de caractères.

    À tout hasard, si la lib stdio existe:

    #include <stdio.h> au début,

    puis déclarer la chaîne à afficher, par exemple si c'est une température:

    char temp_str[0x20];
    double temp;

    Dans le code, transformer un nombre en chaîne de caractères, on peut
    le faire de cette façon:

    sprintf(temp_str, "%8:3lf", temp);

    et ensuite afficher temp_str avec drawstring.

    Pascal

  13. #12
    gd82

    Re : problème d‘affichage stm32 et oled

    Bon ca ne marche toujours pas je vais tout reprendre à zéro et on verra
    merci de l'aide en tous cas

  14. #13
    umfred

    Re : problème d‘affichage stm32 et oled

    a priori, il faudrait aussi utiliser setTextSize, et setTextColor avant l'affichage du texte

Discussions similaires

  1. [Energie] Détermination tension injection d‘un onduleur sur réseau EDF?
    Par Peluches61 dans le forum Électronique
    Réponses: 10
    Dernier message: 01/06/2020, 21h16
  2. [Outils/Fab/Comp] protocole d'affichage des écrans OLED
    Par abracadabra75 dans le forum Électronique
    Réponses: 11
    Dernier message: 06/09/2019, 08h55
  3. [Outils/Fab/Comp] Station de soudure T12 avec affichage OLED
    Par myst33 dans le forum Électronique
    Réponses: 6
    Dernier message: 18/11/2017, 15h02
  4. [Brun] TV Manhattan MT 8216 CD (chassis 11AK19 PRO) ne s'allume plus !
    Par LITEON52 dans le forum Dépannage
    Réponses: 8
    Dernier message: 24/05/2012, 20h55
  5. [Brun] Panne tv Manhattan MT 8216 CD chassis 11AK19 PRO
    Par LITEON52 dans le forum Dépannage
    Réponses: 43
    Dernier message: 18/04/2008, 14h15
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...