Das Display mit Decoder stellt Werte und Variablen dar. Diese werden mithilfe einer Bibliothek, die den Datenverkehr zum Display regelt, übertragen und dargestellt. Der Pin “CLK” des Displays wird mit einem kontinuierlichen Taktsignal² beschaltet. Zur Datenübertragung muss für eine bestimmte Anzahl an Takten der Datenpin “DIO” in den HIGH-Zustand versetzt werden, um dem Decoder den Beginn einer Datenübertragung zu signalisieren. Nach einer vorgegebenen Zeit beginnt dann die Übertragung der Daten an den Decoder durch das HIGH bzw. LOW schalten des Datenpins. Nach der vollständigen Übertragung wird erneut eine HIGH-Sequenz ausgegeben, um dem Decoder das Ende der Datenübertragung mitzuteilen. Danach werden die ausgegebenen Daten auf dem Display angezeigt. Je nachdem, welche Bibliothek für das Display eingebunden wird, können Zahlen, Formen und einzelne Segmente dargestellt werden. Auch Laufschriften sind umsetzbar, werden hier aber nicht genutzt.

(Datei "Vorlage_DmDec.ino")

#include <TM1637TinyDisplay.h>                              // Bibliothek für die 7- Segment Anzeige

#define CLK       19                                        //Pin, an dem der Clock-Pin des Displays angschhlossen ist
#define DIO       5                                         //Pin, an dem der DIO-Pin des Displays angeschlossen ist

TM1637TinyDisplay display(CLK, DIO);                        //Bestimmung der Ausgänge für die 7-Segment Anzeige

int displayBrightness = 7;                                  //Standardhelligkeit für Display


const uint8_t SEG_emptyFrame_01[] = {0x00, 0x00, 0x00, 0x00}; //Leerer Frame

const uint8_t SEG_welcome_01[] = {0x00, 0x00, 0x00, 0x3c}; //Laufschrift W
const uint8_t SEG_welcome_02[] = {0x00, 0x00, 0x3c, 0x1e}; //Laufschrift W
const uint8_t SEG_welcome_03[] = {0x00, 0x3c, 0x1e, 0x79}; //Laufschrift WE
const uint8_t SEG_welcome_04[] = {0x3c, 0x1e, 0x79, 0x38}; //Laufschrift WEL
const uint8_t SEG_welcome_05[] = {0x1e, 0x79, 0x38, 0x58}; //Laufschrift WELC
const uint8_t SEG_welcome_06[] = {0x79, 0x38, 0x58, 0x5c}; //Laufschrift ELCO
const uint8_t SEG_welcome_07[] = {0x38, 0x58, 0x5c, 0x54}; //Laufschrift LCOM
const uint8_t SEG_welcome_08[] = {0x58, 0x5c, 0x54, 0x54}; //Laufschrift COM
const uint8_t SEG_welcome_09[] = {0x5c, 0x54, 0x54, 0x79}; //Laufschrift OME
const uint8_t SEG_welcome_10[] = {0x54, 0x54, 0x79, 0x00}; //Laufschrift ME
const uint8_t SEG_welcome_11[] = {0x54, 0x79, 0x00, 0x00}; //Laufschrift ME
const uint8_t SEG_welcome_12[] = {0x79, 0x00, 0x00, 0x00}; //Laufschrift E


void setup()
{
}

void loop()
{
  display.setBrightness(displayBrightness);                 //Helligkeit der 7-Segment Anzeige. Standard-Wert 7
  display.clear();
  display.setSegments(SEG_welcome_01);
  delay(100);
  display.setSegments(SEG_welcome_02);
  delay(100);
  display.setSegments(SEG_welcome_03);
  delay(100);
  display.setSegments(SEG_welcome_04);
  delay(100);
  display.setSegments(SEG_welcome_05);
  delay(100);
  display.setSegments(SEG_welcome_06);
  delay(100);
  display.setSegments(SEG_welcome_07);
  delay(100);
  display.setSegments(SEG_welcome_08);
  delay(100);
  display.setSegments(SEG_welcome_09);
  delay(100);
  display.setSegments(SEG_welcome_10);
  delay(100);
  display.setSegments(SEG_welcome_11);
  delay(100);
  display.setSegments(SEG_welcome_12);
  delay(100);
  display.setSegments(SEG_emptyFrame_01);
  delay(200);
}