#define SegA_An digitalWrite(13, LOW)
#define SegA_Aus digitalWrite(13, HIGH)
#define SegB_An digitalWrite(12, LOW)
#define SegB_Aus digitalWrite(12, HIGH)
#define SegC_An digitalWrite(11, LOW)
#define SegC_Aus digitalWrite(11, HIGH)
#define SegD_An digitalWrite(10, LOW)
#define SegD_Aus digitalWrite(10, HIGH)
#define SegE_An digitalWrite(9, LOW)
#define SegE_Aus digitalWrite(9, HIGH)
#define SegF_An digitalWrite(8, LOW)
#define SegF_Aus digitalWrite(8, HIGH)
#define SegG_An digitalWrite(7, LOW)
#define SegG_Aus digitalWrite(7, HIGH)
#define Speed 200
void setup()
{
pinMode(13, OUTPUT);
pinMode(7, OUTPUT);
pinMode(10, OUTPUT);
pinMode(8, OUTPUT);
pinMode(12, OUTPUT);
pinMode(9, OUTPUT);
pinMode(11, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
digitalWrite(5, HIGH);
digitalWrite(4, HIGH);
digitalWrite(3, HIGH);
digitalWrite(2, HIGH);
}
const byte Muster[10] = { 63, 6, 91, 79, 102, 109, 125, 7, 127, 111 };
void Zeige(byte Position, byte Zahl)
{
digitalWrite(5, LOW);
digitalWrite(4, LOW);
digitalWrite(3, LOW);
digitalWrite(2, LOW);
if (Position == 1)
digitalWrite(5, HIGH);
if (Position == 2)
digitalWrite(4, HIGH);
if (Position == 3)
digitalWrite(3, HIGH);
if (Position == 4)
digitalWrite(2, HIGH);
byte d = Muster[Zahl];
if (d & 1)SegA_An;
else SegA_Aus;
if (d & 2)SegB_An;
else SegB_Aus;
if (d & 4)SegC_An;
else SegC_Aus;
if (d & 8)SegD_An;
else SegD_Aus;
if (d & 16)SegE_An;
else SegE_Aus;
if (d & 32)SegF_An;
else SegF_Aus;
if (d & 64)SegG_An;
else SegG_Aus;
delay(5);
}
void Zeige4(int i)
{
byte t, h, z, e;
t = i / 1000; i -= t * 1000;
h = i / 100; i -= h * 100;
z = i / 10; i -= z * 10;
e = i / 1;
Zeige(1, t);
Zeige(2, h);
Zeige(3, z);
Zeige(4, e);
}
void loop()
{
Zeige4(millis() / 1000);
}
Also so sieht das ganze aus, der Sketch ist noch von von einem Anderen Projekt aber er ist mit der Schaltung angepasst.