Andreas

Richtig Zählen mit 7-Segment LED

7-segment

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;
  }
}

 

 

 

2 Responses to “Richtig Zählen mit 7-Segment LED”

  1. Janon 13 Okt 2009 at 14:44

    Hi,

    hast du das mit dem DCF 77 Empfänger schon ausprobiert? Gibts da gut dokumentierte Beispiele.

  2. Andreason 14 Okt 2009 at 09:45

    Hallo! Ich hab das mit dem Empfänger nicht hinbekommen. Hab hab mit einer 1307 RTC eine Lösung gefunden.

Trackback URI | Comments RSS

Leave a Reply

?>