Steuerung des 4x7-Display

4x7-Display:

Um ein Display mit vier 7-Segment Anzeigen anzusteuern, braucht man viele Kabel, wenn dies nicht über eine I2C-Schnittstelle erledigt wird. Dafür gibt es auch hier gute einfache Libraries, die das Programmieren einfacher machen. Zu beachten ist, ob das Display, das verwendet wird, eine gemeinsame Kathode oder Anode besitzt. Das hier verwendete Display (5461AS) besitzt eine gemeinsame Kathode.

Da jede 7-Segment Anzeige einzeln der Reihe nach angesteuert wird, kann es gegebenenfalls zu leichtem Flackern auf der Anzeige kommen.

 

///////////////////////////////////*DEFINITIONEN*///////////////////////////////////
  /*4x7*/
#include "SevSeg.h" //SevenSegment-Bibliothek wird eingebunden
SevSeg sevseg; //Das Siebensegment Objekt wird initialisiert

///////////////////////////////////*SETUP*///////////////////////////////////
void setup() {
  /*4x7*/
  byte numDigits = 4; //Hier wird die Anzahl der Ziffern angegeben
  byte digitPins[] = {2, 3, 4, 5}; //Die Pins am Artduino werden zu den Ziffern definiert
  byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13}; //Die Pins am Arduino werden zu den Segmenten definiert
  sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins); //In diesem Abschnitt kann man nun entweder testen welche Art von Display man besitzt oder wenn man es schon weiss, angeben ob es sich um ein COMMON_CATHODE oder COMMON_ANODE Display handelt. Das Display funktioniert nur wenn die richtige Art eingetragen ist. Ansonsten werden alle Segmente gleichzeitig leuchten
  sevseg.setBrightness(90); //Dieser Teil passt die Helligkeit der Segmente an. Möglich ist 0-100,  wobei 100 das Hellste ist.
}

///////////////////////////////////*LOOP*///////////////////////////////////
void loop() {
   /*4x7*/
  sevseg.setNumber(2718,3); //Hier wird die anzuzeigende Zahl eingetregen (2718). Die Zahl hinter dem Komma definiert die Position des Punktes. Hierbei ist 3 der Punkt neben der ersten Ziffer und 0 wäre der Punkt ganz rechts neben der letzten Ziffer. Wenn man keinen Punkt angezeigt haben möchte, kann man z.B. 4 angeben.
  sevseg.refreshDisplay(); //Die Zahl auf dem Display wird erneut angezeigt
}