Led Uhr

Hallo,
ich habe es gerade auf dem Breadboard angebracht. Das ergebnis ist komischerweise:
Die RTC hört auf zu senden wenn die Batterie entfernt ist.

Liebe Grüße,
Valli

Hallo,

es funktioniert jetzt einband frei ich hatte eine verbindung zwischen Quarz pin und Vbat. (Auf dem Bild relativ schwer zu sehen.)
Die RTC wird nicht heißt und garnichts. :slight_smile:

Liebe grüße,
Valli

hi,

so wie's aussieht, hattest Du die verbindung auf dem bild vorsichtshalber grün übermalt :stuck_out_tongue: .
na hauptsache, es geht. jetzt heißt's über den code nachdenken...

gruß stefan

PS.: wie schaut's eigentlich mit Deinem problem mit den schieberegistern aus (mehrmals uploaden und 10sek warten usw.)?

Hallo,

bei dem versuchs Cde ist das gleiche phänomen aufgetreten ich schreibe gerade die Grundsätze des Codes.
Morgen fahre ich zum Baumarkt und besorge mir das Blech und Plexiblas. Denn erst wenn ich die LEDs verdratet habe kann ich sie den Bytes zuordnen.

Liebe Grüße,
Valli

Hallo,

weis jemand von euch zufällig wie man eine funktion oder so schreibt das aus einem 24Stunden system ein 12Stunden system wird ?

Liebe grüße,
Valli

Hallo,

Du brauchst doch nur, wenn die Stunden > 12 sind 12 abziehen...

Grüße,
Jürgen

Valli:
Hallo,

weis jemand von euch zufällig wie man eine funktion oder so schreibt das aus einem 24Stunden system ein 12Stunden system wird ?

Liebe grüße,
Valli

Eigentlich ganz einfach, dafür brauchst du nur eine if-Abfrage.

if(hours > 12) hours -= 12;

Diese Abfrage muss nur zu Beginn einer neuen Stunde gemacht werden.
Wo es sinnvoll ist das einzufügen, musst du selbst herausfinden. :wink:

Edit: Jürgen war schneller :slight_smile:

Grüße,
J3RE

Hallo,

danke für die schnelle Antwort aber das Funktioniert nicht.

Liebe grüße,
Valli

hi,

  1. löte nichts zusammen, bevor Du Dein 9-led-system korrekt zum laufen gebracht hast.

  2. ich mach's mit hours = hours % 12
    das ist dieser modulo-operator, von dem ich Dir schonmal geschrieben hab'.
    gibt den rest einer division zurück, wenn zb hours 17 ist, ist 17 dividiert durch 12 gleich 1, rest 5, und diese 5 bekommst Du mit modulo zurück.
    es geht auch mit einer bit-operation, aber so ist's verständlich.

gruß stefan

EDIT: dazu brauchst Du kein if, weil es auch richtig ist, wenn hours kleiner oder gleich 12 ist.
zb 7 % 12 ergibt 7 (klar: 7 dividiert durch 12 ergibt 0, rest 7).

Valli:
danke für die schnelle Antwort aber das Funktioniert nicht.

Fehlerbeschreibung: ..... hast doch gelesen, dass Uwe mit der Glaskugel Probleme hat

Hi

1.Der modulo Operator funktioniert super. Danke!
2.Eisebaer, du hast recht ich werde am Breadboard noch mal mit dem Code und den Leds experimentieren.

Valli

JuergenR:
Fehlerbeschreibung: ..... hast doch gelesen, dass Uwe mit der Glaskugel Probleme hat

Jetzt werde schon ich selbst auf den Arm genommen :wink: :wink: :wink: :wink: :wink:

War nicht böse gemeint!!! :slight_smile:

Valli:
Hallo,

es funktioniert jetzt einband frei ich hatte eine verbindung zwischen Quarz pin und Vbat. (Auf dem Bild relativ schwer zu sehen.)
Die RTC wird nicht heißt und garnichts. :slight_smile:

Liebe grüße,
Valli

Du kannst auch den 12 Stunden Modus im DS1307 setzen. (Bit 6 des Registers 02). Dann wirrd Bit 5 des Registers nicht mehr die 2. Binärstelle der Zehner der Stunden sondern das AM/PM bit).

Jetzt weiß ich nicht welche RTC Bibliothek Du benutzt. Hab aber keine gefunden, die das unterstüzt. Wenn Du neugierig bist hier http://forum.arduino.cc/index.php/topic,17706.0.html ist erklärt, wie man es ohne Bibliothek macht indem man den RTC direkt ansteuert.

Grüße Uwe

JuergenR:
War nicht böse gemeint!!! :slight_smile:

Weiß ich doch!

Darf ich nicht mal für 5 Minuten das Opfer spielen? :wink: :wink: :wink:
Grüße Uwe

Du kannst auch den 12 Stunden Modus im DS1307 setzen. (Bit 6 des Registers 02). Dann wirrd Bit 5 des Registers nicht mehr die 2. Binärstelle der Zehner der Stunden sondern das AM/PM bit).

Achtung:
12 Stunden Uhren laufen von 01:00 bis 12:59
Ausserdem kommt nach 11:59 AM erstmal 12:00 PM, nach 12:59 PM kommt 1:00 PM

( Zumindest echt amerikanische text-basierte Zeitzählung ist nicht einfach modulo 12 )

Achtung:
12 Stunden Uhren laufen von 01:00 bis 12:59

Wußte ich nicht. :roll_eyes: :roll_eyes: :roll_eyes:
Ist dann also falscher Ansatz, da Valli eigentlich nur 12 LED ansteuern muß und nicht 24.
Die Lösung ist dann Modulo 12 oder bei Zahlen über 12 einfach 12 subtrahieren.
Grüße Uwe

Oder seine Ansteuerung kann auch 13 Einträge haben, und sowohl 0 als auch 12 könnten die gleiche LED ansteuern.

gilt für Tabelle und die "tausend if" Variante ...

hi,

Zumindest echt amerikanische text-basierte Zeitzählung ist nicht einfach modulo 12

da komm' ich jetzt nicht mit.
0 % 12 und 12 % 12 ergeben beide 0.

gruß stefan

Klar kann man 1 .. 12 auf 0 .. 11 mappen.

Nur statt der Modulo-Lösung die Uhr auf 12 Stunden-Format stellen, reicht nicht, um ein Ergebnis im Bereich 0 .. 11 zu erhalten.