|

Introduction facile à Arduino et compagnie

Microcontrôleur pour les modélismes ferroviaires

Pour nos lecteurs du magazine numérique 2026, nous mettons à disposition ici les codes de programme pour l'article. Ceux-ci peuvent être copiés directement et collés dans l'environnement de développement Arduino IDE, puis compilés à partir de là.

Voici le code du premier exemple de l'article :

#include 
#include 
#include

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire;, -1);

const char* destinations[] = {
  "Hersbruck r. d. Peg.",
  "Wuerzburg\nvia Neustadt a.d.Aisch\net Kitzingen",
  "Neumarkt Opf.",
  "Bamberg Oberfr."
};
const int nombreDeDestinations = 4; // indiquer ici le nombre d'entrées dans le tableau " destinations "
int destinationActuelle = 0;
unsigned long dernierChangement = 0;
const unsigned long intervalle = 5000; // 5 secondes

void setup() {
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    for(;;); // Arrêt si l'écran n'est pas détecté
  }
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
}

void loop() {
  unsigned long maintenant = millis();
  if (maintenant - dernièreCommutation >= intervalle) {
    dernièreCommutation = maintenant;
    cibleActuelle = (cibleActuelle + 1) % nombreDeCibles; // prochaine cible
    display.clearDisplay();
    display.setCursor(0,0);
    display.println(cibles[cibleActuelle]);
    display.display();
  }
}

Voici maintenant le deuxième exemple de code, qui remplace la section à partir de „ void loop “ :

void loop() {
  unsigned long jetzt = millis();
  if (jetzt - letzteUmschaltung >= intervall) {
    letzteUmschaltung = jetzt;
    aktuellesZiel = (aktuellesZiel + 1) % anzahlZiele; // nächstes Ziel
    display.clearDisplay();
    display.setCursor(0,20);
    display.println(ziele[aktuellesZiel]);
          // --- Zusatztext bei Ziel 1 ---
    if (aktuellesZiel == 0) {
      display.setCursor(0,0);
      display.println("5 min. spaeter");
      }
    else if (aktuellesZiel == 3) {
      display.setCursor(0,0);
      display.println("Heute Gleis 3 ")