Jan 22nd, 2009
Richtig Zählen mit 7-Segment LED

Mit Hilfe der LedControl Library war es nicht besonders schwierig erste Ergebnisse hinzukriegen. Die Befehle sind selbsterklärend und man kann nicht viel falsch machen, ausser die ganze Sache falsch zu verkabeln. Mein Ziel ist es eine kleine Uhr zu bauen, die mit Hilfe eines DCF 77 Funkempfängers sehr genau läuft und dabei noch schick aussieht. Bei sparkfun.com gibt es 15cm hohe 7-Segment Elemente. Die sind mein Ziel!
Der Code selbst ist einfach. Da jede Ziffer einzeln angesprochen wird muss man auch entsprechend zählen. Die Variablen e (einer), z (zehner), h (hunderter) und t (tausender) werden erstmal auf 0 gesetzt. Danach wird erstmal die Helligkeit des Displays gesetzt. Nun beginnt die Schleife. Bei jedem Durchgang wird ausserdem noch ein Potentiometer abgefragt und der Wert als Verzögerung zwischen dem Hochzählen verwendet.
Viel Spass beim Nachbauen!
#include "LedControl.h"
LedControl lc=LedControl(12,11,10,1);
unsigned int delaytime = 1000;
unsigned int e=0;
unsigned int z=0;
unsigned int h=0;
unsigned int t=0;
void setup() {
lc.shutdown(0,false);
lc.setIntensity(0,9);
lc.clearDisplay(0);
}
void loop() {
lc.setChar(0,0,e,false);
lc.setChar(0,1,z,false);
lc.setChar(0,2,h,false);
lc.setChar(0,3,t,false);
delaytime = analogRead(0);
delay(delaytime);
e +=1;
if (t == 10) {
delay(2000);
lc.clearDisplay(0);
z=0;
h=0;
t=0;
e=0;
}
if (h == 10) {
z = 0;
h = 0;
e = 0;
t += 1;
}
if (z == 10) {
z = 0;
e = 0;
h += 1;
}
if (e == 10) {
z += 1;
e = 0;
}
}







Hi,
hast du das mit dem DCF 77 Empfänger schon ausprobiert? Gibts da gut dokumentierte Beispiele.
Hallo! Ich hab das mit dem Empfänger nicht hinbekommen. Hab hab mit einer 1307 RTC eine Lösung gefunden.