Laufschrift mit dem ESP8266-Mikrocontrollerboard



Ziel dieses Experimentes: Text läuft dauerhaft von rechts nach links über das Display.


Bild: Laufschrift-Experiment der Arduinospielwiese.

Quelltext 1:

// Dieses Programm benutzt die Bibliothek "u8g2" von oli kraus.
// Siehe dazu: https://github.com/olikraus/u8g2/wiki
// Referenz (mögliche Befehle): https://github.com/olikraus/u8g2/wiki/u8g2reference

// Bibliothek:
#include <U8g2lib.h>

// Instanziierung:
U8G2_SSD1306_128X32_UNIVISION_F_SW_I2C u8g2(U8G2_R0, 5, 4, 16);

// Variablen und Konstanten:
u8g2_uint_t offset;
u8g2_uint_t width;
u8g2_uint_t x;
//const char *text = "   Hello World!    ";
const char *text = "   Arduinospielwiese.de    ";


void setup(void) {
  u8g2.begin();
  
  u8g2.setFont(u8g2_font_ncenB14_tr); // mittelgross
  //u8g2.setFont(u8g2_font_mozart_nbp_tf);// relativ klein

  width = u8g2.getUTF8Width(text);
  u8g2.setFontMode(0);
}


void loop(void) {
  
  u8g2.firstPage();

  do {
    
    x = offset;
    do {
      u8g2.drawUTF8(x, 27, text);
      x += width;
   
    } while ( x < u8g2.getDisplayWidth() );

    u8g2.setCursor(0, 64);
    u8g2.print(width);
    
  } while ( u8g2.nextPage() );

  offset -= 1;

  if ( (u8g2_uint_t)offset < (u8g2_uint_t) - width ) {
    offset = 0;
    u8g2.clearBuffer();
  }
}