Affiché un tableau des texte sur ecrant ssd1309 64*128

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // Largeur d'affichage OLED, en pixels.= OLED display width, in pixels.
#define SCREEN_HEIGHT 64 // Hauteur de l'écran OLED, en pixels = OLED display height, in pixels.
//Déclaration pour un afficheur SSD1306 connecté en I2C (broches SDA, SCL) =Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
// Les broches pour I2C sont définies par la bibliothèque Wire.=The pins for I2C are defined by the Wire-library.
// Sur un arduino UNO : A4(SDA), A5(SCL)= On an arduino UNO: A4(SDA), A5(SCL)
// Sur un arduino MEGA 2560 : 20(SDA), 21(SCL)=On an arduino MEGA 2560: 20(SDA), 21(SCL)
// // Sur un arduino LEONARDO : 2(SDA), 3(SCL), ...=On an arduino LEONARDO: 2(SDA), 3(SCL), ...
// moi pierre je vien de le faire marché sur arduino nano et ça marche!?=Pierre, I just ran it on Arduino Nano and it works!?
#define OLED_RESET -1 // Réinitialiser la broche n° (ou -1 si vous partagez la broche de réinitialisation Arduino)=Reset pin # (ou -1 si vous partagez la broche de réinitialisation Arduino)
// = Réinitialiser la broche n° (ou -1 si vous partagez la broche de réinitialisation Arduino)=Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< Voir la fiche technique pour l'adresse ; 0x3D pour 128x64, 0x3C pour 128x32=See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

const char* panneau_gare[18] {"03:10 Lgrand march028","04:10 forge march003","05:30 Tesla otor714","06:05 city5 otor662",
"06:20 astro11 otor344","06:45 Tesla march014","08:45 AGCE march012","11:45 Poste march014",
"13:45 Mine march014","17:54 Astro02 otor102","18:48 Astro04 otor102","19:11 Astro04 otor112",
"19:47 city7 otor344","20:45 Mine march014","21:01 city5 otor662","22:40 citern march003",
"23:30 Energy march714","12:05 Medical otor662"};

unsigned char t=2;

void setup() {
Serial.begin(9600);

// SSD1306_SWITCHCAPVCC = génère une tension d'affichage à partir de 3,3 V en interne=SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F("L'allocation en memoire carte arduino SSD1306 a échoué"));//SSD1306 allocation failed
for(;;);} // Ne continuez pas, bouclez pour toujours=Don't proceed, loop forever

    delay (1000);
    display.clearDisplay();


    display.setTextSize(1);      // 
    display.setTextColor(SSD1306_WHITE); //
    display.cp437(true);         // Utiliser la police complète de 256 caractères « Page de code 437 =Use full 256 char 'Code Page 437' font
   
    display.println(panneau_gare[t]);// ici ça marche. 
    display.display();

    for (unsigned char i=0;i<=8;i++){// la j'ai un méssage d'erreur ->"L'allocation en memoire carte arduino SSD1306 a échoué ".      
    display.print(panneau_gare[i]);  //
    display.display();delay(100);    //
    }

    for (;;){;} // boucle infini

j'ai essayé sur arduino uno et nano , ça marche pas? au secoure.
le but c'est pour un dioramas pour faire un panneaux d'affichage de départ et arrivé on voir dans les gares.

aïe aïe aïe..

vite lisez les recommandations listées dans "Les bonnes pratiques du Forum Francophone” et corrigez la présentation de votre post pour rajouter les balises de code...


avez vous essayé les exemple de la bibliothèque Adafruit_SSD1306 ??

et le titre

Affiché un tableau des texte sur ecrant ssd1309 64*128

Qu'est-ce que tu utilises, un SSD1306 ou un SSD1309?

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