#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.