Aufwand für Arduino-LED-Uhr

vor 2 years 50 weeks von Hagen

Hallo,

als eines meiner ersten "aufwendigeren" Projekte mit einem Arduino habe ich mir eine LED-Uhr ausgesucht. Den Aufbau der Hardware stelle ich mir nicht besonders kompliziert vor, ebenfalls die Grundlagen der Software. Das einzige wofür mir noch ein Ansatz fehlt, ist das "Software-Uhrwerk".

Für den "Sekundenzeiger", d.h. für den Sprung bis zur nächsten Sekunde, müsste man ja eigentlich immer nur ein delay(1000) benutzen. Allerdings wird dabei außer acht gelassen, dass das Ausführen des Programmcodes auch Zeit benötigt. Kann man das berechnen?

Google hat mich leider nicht weiter gebracht. Ich habe nur Ideen zu Uhren gefunden, aber leider noch kein Umsetzung. Gibt es Erfahrungen dazu, ob eine Uhr mit einer gewissen Genauigkeit mit einem Arduino realisierbar ist?

Gruß

Hagen

Ähnliche Posts

13 Antworten auf “Aufwand für Arduino-LED-Uhr ”


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
  1. chrimbo sagt:

    ich bin mir da jetzt überhaupt nicht sicher, aber braucht er nicht für jede Anweisung einen Takt? Also bei 16MHz eine 16millionstel sekunde?

    aber mal was ganz anderes:) der Atmega8, und wahrscheinlich auch die "größeren" haben Hardware timer. Der Google begriff des Monats lautet:

    arduino timer interrupt

    viel spaß dabei:) wie genau das geht hab ich mir noch nicht angeschaut, wär aber schön, wenn du uns hier auf dem laufenden hälst.

    Login or register to post comments

  1. Hagen sagt:

    chrimbo wrote:
    arduino timer interrupt

    Die Idee ist/war nicht schlecht. Eine Suche auf Englisch war dann noch erfolgreicher. Mal sehen, wenn ich etwas lauffähiges habe, werde ich mich wieder melden.

    Login or register to post comments

  1. pr62 sagt:

    Eine andere Idee wäre, statt Timer einen RTC Chip zu verwenden. Eine Echtzeituhr mit I2C Schnittstelle, z.B der DS1307 von Dallas/Maxim. Vorteil: man braucht die Uhr nicht ständig neu stellen, wenn man mal den Controller resetted. Dank Puffer Batterie stimmt die Uhrzeit auch wenn die Uhr ausgeschaltet war. Einen Sekundentakt kann der Chip zudem ausgeben, wenn ich mich recht erinnere.
    Die Ansteuerung sollte mit dem Aduino auch kein Problem sein.

    Login or register to post comments

  1. chrimbo sagt:

    sry, bei mir ist die google suche immer automatisch auf Englisch:)

    Login or register to post comments

  1. Jan sagt:

    Es gibt auch die Möglichkeit einen DCF77 Empfänger an den Arduino anzuschliessen. Dazu gibt es Module mit seriellem Ausgang. Kosten halten sich glaube ich in Grenzen. Conrad müsste sowas verkaufen.

    Login or register to post comments

  1. Hagen sagt:

    Prima, danke für die ganzen Anregungen.

    Die Stichworte 'Arduino' 'DCF77' helfen bei der Suche ... damit findet man einige interessant Projekt.

    DCF77 gibt es bei Conrad, ca. 10 Euro. Der DS1307 ist auch sehr interessant. Werde mich mal einlesen und dann ein bisschen 'bastlen'.

    Login or register to post comments

  1. Jan sagt:

    Wer mit Kanonen auf Spatzen schiessen will kann auch nen GPS Empfänger als Zeitquelle nutzen.
    Macht ja manchmal auch Spass :)
    Hab ich ohne Scherz schon an manchen Nixie Uhr Projekten gesehen und ist ausserhalb des DCF77 Empfangsbereich oftmals die einzige "Funkuhr" Quelle.

    Nen Ethernet Shield mit Verbindung zu nem Zeitserver sollte auch gehen, um noch mehr umständliche Lösungen anzubieten.

    Login or register to post comments

  1. Andreas (not verified) sagt:

    Wie ist die Möglichkeit, die Uhrzeit aus dem RDS Signal (UKW) zu dekodieren, zu bewerten? Kann dies eine Alternative zum Funkuhr-Signal (DCF77) sein?

    Login or register to post comments

  1. Jan sagt:

    RDS ist ne gute idee.
    Es gibt zum Beispiel den TDA7330B, kostet 1,30 Dollar.
    Hier ist ein Projekt mit dem ATMega168:

    http://www.coolcircuit.com/gadgets/2008/03/02/atmega168-rds-decoder/

    Login or register to post comments

  1. fchriis sagt:

    Gibts auch was externes, was mir nur einen Sekundentakt ausgibt?

    Login or register to post comments

  1. uwe sagt:

    Hallo fchriis
    3 Möglichkeiten:
    * DCF77 Modul; S.E.P.P beist sich gerade die Zähne dabei aus. http://freeduino.de/forum/hardware/dcf77-anschliessen-und-betreiben ; http://de.wikipedia.org/wiki/DCF77
    * UKW Sender haben in digitalen Infokanal auch ein Zeitsignal. RDS/RBDS - Demodulator/Decoder SAA6588
    * Real Time Clock - Modul zB http://www.watterott.com/de/Real-Time-Clock-Module-RTC mit dem DS1307, http://datasheets.maxim-ic.com/en/ds/DS1307.pdf . Dieser Baustein ist eine Uhr und hat auch einen 1Hz Ausgang ( mit der richtigen Werten im CONTROL REGISTER )
    Grüße Uwe

    Login or register to post comments

  1. fchriis sagt:

    Hallo uwe,

    DCF77 und die Radiolösung wären beide mit Kanonen auf Spatzen geschossen.
    Ich werd wohl die RTC nehmen, bietet auch so nette Nebenfeatures wie die EEPROM-Nutzung ;)

    Viele Grüße,
    Chris

    Login or register to post comments

  1. uwe sagt:

    Hallo fchriis

    DCF77 ist nicht so teuer, billiger als das RTC modul.

    Der DS1307 hat kein EEPROM sondern 56 Byte bateriegepuffertes SRAM.
    Ist zwar praktisch fast das gleiche aber nicht 100%ig.
    Vor-Nachteile:
    SRAM kann man beliebig oft beschreigen. Wenn die Batterie leer ist, dann sind die Daten auch weg.
    Der Atmega328 hat 1 kByte EEPROM welches für den Sketch nicht gebraucht wird. Mit der EEPROM-Library kann man es einfach nutzen. Nachteil EEPROM können nicht beliebig oft beschrieben werden nur so ca 100.000 mal, was aber für viele Applikationen mehr als genug ist.

    Eine weitere billige und genaue Zeitbasis hab ich vorhin vergessen: Die 50 HZ Netzspannung. einfach zusätzlich zur Stromversorgung mit einer Diode eine Einweggleichrichtung und einen Schmittrigger und schon hast du ein 50 HZ Signal.

    Der RTC hat aber den vorteil, daß er Dir die absolute Zeit gibt und das auch nach Spannungsunterbrechungen.

    Grüße Uwe

    Login or register to post comments