Ich bin ganz neu in der ARDUINO-Welt und habe vor, mir eine einfache Uhr zu bauen.
Dazu hab ich mir den ARDUINO-Mini und einen DS1307 RTC Baustein besorgt. Jetzt würde ich gerne die Uhr enmal mit dem Mini stellen und dann die Uhrzeit an LEDs ausgeben. Also 2LEDs für die Zehner-Stunden, 3LEDs für die Einer-Stunden, 3LEDs für die Zehner-Minuten und 4 LEDs für die Einer-Minuten. Da der RTC-Baustein die Zeit sowieso in BCD ausgibt, dachte ich mir, dass dies nicht so schwierig sein kann. Aber ich komm nicht weiter.
Den RTC Baustein hab ich mit A4/5 mit dem Mini verbunden. Und wie soll ich die LEDs verdrahten?
Programmiert wird der Mini über einen USB-Seriell Adapter. Das funktioniert wunderbar. Der Testsketch wird einwandfrei übertragen.
Da der RTC-Baustein die Zeit sowieso in BCD ausgibt, dachte ich mir, dass dies nicht so schwierig sein kann. Aber ich komm nicht weiter.
Leider sagst du nicht, worin die Schwierigkeit besteht.
wie soll ich die LEDs verdrahten
Dass du keine LED mit Vorwiderstand an einen Digitalpin anschliessen kannst, glaub ich dir nicht.
Immerhin weisst du schon, dass es 12 Stück werden sollen.
( Ich würde noch eine dazunehmen, die im Sekundentakt blinkt ... )
Wenn du ausnutzen willst, dass die Zeit von der RTC schon in BCD kommt,
brauchst du keine der zig RTC Libraries, höchstens um dir anzusehen, wie die Bytes gelesen werden.
Wenn dein Problem sein sollte, ein Byte auf 8 Digitalpins zu verteilen, nimm einfach so was
// Pinbelegung für 12 LED
const byte Minute1_Pin = 3;
const byte Minute2_Pin = 4;
const byte Minute4_Pin = 5;
// ... usw
void loop() {
// schau dire eine Library deiner Wahl an ...
// ... nur Demo, damit es compiliert
byte minute; // BCD codierte Minute aus der RTC;
minute = 0x59; // z.B. Minute 59
digitalWrite (Sekundentakt_Pin, sekunde & 0x01); // Nachtrag : blinkt im Sekundentakt
digitalWrite (Minute1_Pin, minute & x01 );
digitalWrite (Minute2_Pin, minute & 0x02);
digitalWrite(Minute4_Pin, minute & 0x04);
...
}
Nachtrag: Sekundentakt ( kompiliert aber nicht mehr so wie es ist