eine Uhr mit dem Arduino

moin moin

Mein Ziel ist es mit dem Arduino Mega eine Uhr mit Wecker zu erstellen.

Zum Einsatz kommen soll ein Arduino Mega, ein SerLCD v2.5 (K2-1602K mit HD44780 controller) und einem RTC-Modul (DS1307).
Die Eingabe (Uhr stellen, Alarm ein/aus) soll später über ein Tastenfeld 4x4 erfolgen. Die Kommunikation der einzelnen Bauteile untereinander soll über das I2C-Protokoll laufen daher auch die Wahl der einzelnen Komponenten.

Für das Display gibt es die Datei serlcd-2v.c als Bibliothek;
für das RTC-Modul gibt es die DS1307.h und DS1307.cpp als Bibliothek; für das I2C-Protokol muss die wire Bibliothek eingebunden werden.

Wie sag ich dem Arduino hör zu lass dir die Zeit geben und gib das was du erhältst dem Display.

mfg soul

Mit einem entsprechende Programm (Sketch) welches die verschiedenen Module der Anwendung anspricht und ansteuert, kannst du deine Uhr realisieren.

Fertige Programme findest du kaum. Ähnliche Projekte wurden aber bestimmt schon realisiert.

Falls du Einsteiger bist, schlage ich dir vor, dass du die einzelnen Teile (Display, RTC-Chip, Tastenfeld) einzelnen aufbaust und dabei die Programmierung erlernst. Anschliessend kannst du Schritt für Schritt die einzelnen Module zusammenhängen.

Viel Erfolg und viel Spass.

das Man oder Frau für alles einen Englischkurs belegen muss
naja egal würde mir der RTC mit nachfolgendem Code Daten an das Arduino senden oder bin ich da völlig auf dem Holzweg.

/*
main für das rtc-modul
*/

#include <Wire.h> // für das I2C-Protokol
#include <DS1307.h> // written by  mattt on the Arduino forum and modified by D. Sjunnesson

#define DS1307 (B1101000) //CTRL-ID aus der DS1307.h

void setup ()

{
      Wire.begin();
      Serial.begin(9600);
      Serial.println("DS1307 I2C-Bus RTC");
}
void loop()
{
      byte sec,min,hour,day,date,month,year = 0;
      
      Wire.beginTransmission(DS1307);
      for(int i=0,i==7, i++) //00H ist die Adresse für Sekunden 01H für Minuten usw bis 07H für das Jahr
      {
            Wire.send(0(i)H);
      };
      Wire.endTranssmission();
      
      Wire.requestFrom(DS1307, 7);
      while(Wire.aviable() <7);
      sec = Wire.recive();
      min = Wire.recive();
      hour = Wire.recive();
      day = Wire.recive();
      date = Wire.recive();
      month = Wire.recive();
      year = Wire.recive();
}

hier der link zum RTC-Modul
http://www.watterott.com/de/Real-Time-Clock-Module-RTC
und hier zur Bibliothek
http://code.google.com/p/libds1307/source/browse/#svn/trunk

Also ich finde mit Google Uhrprojekte wie Sand am Meer. Sogar mit DCF77

Man muss halt nach "AVR" und "clock" suchen. Nicht nach Arduino.
http://www.pro-qwerty.com/lcd_clock.php

Ein Arduino ist ja auch nur ein AVR mit einem speziellen Branding :wink:

Udo

Guckst Du hier...
Das sollte Dir einen Start geben.
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1286435828