//Die Sieben-Segment-Anzeige
//Quelle: Bartmann, Die elektronische Welt mit Arduino entdecken S. 397ff
// Ansteuerung der Segmente über 2-dimensionales Array "segmente[]"
// Pin-Belegung
// 1 <-> g
// 2 <-> f
// 3 <-> gemeinsame Anode
// 4 <-> e
// 5 <-> d
// 6 <-> DP
// 7 <-> c
// 8 <-> gemeinsame Anode
// 9 <-> b
// 10 <-> a
// Pin 10 9 7 5 4 2 1
// Segmente a b c d e f g
int segmente[10][7] = {{1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1}, // 5
{1, 0, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 1, 0, 1, 1}}; // 9
int pinArray[] = {2, 3, 4, 5, 6, 7, 8}; //zu schaltende Pins
void setup() {
// . . .
for (int i=0; i < 7; i++)
pinMode(pinArray[i], OUTPUT);
}
void loop() {
// . . .
for(int i = 0; i < 10; i++){
for(int j = 0; j < 7; j++)
digitalWrite(pinArray[j], (segmente[i][j]==1)?LOW:HIGH); //prüft, ob Pin ein- oder ausgeschaltet werden muss
delay(500);
}
}