experiment realtime-clock über i2c - darc.de · weckerfunktion hinzufügen (ton aus piezo-geber...
TRANSCRIPT
![Page 1: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/1.jpg)
29.05.14 Workshop Miklrorechner 2013 1
Experiment Realtime-Clock über I2CAufgabe:
Das Uhrenchip DS1307 soll per I2C auf festeStartwerte initialisiert werden. Danach soll perseriellem Monitor fortlaufend- Datum (Jahr / Monat / Tag)- Uhrzeit (Std. / Min. / Sek.)angezeigt werden.
Variante a:Die Initialisierung auf feste Startwerte findet nur statt, wenn zwischwendurch die
Batteriespannung für die Uhr ausgefallen ist. Das kann durch Nutzung der RAM-Zellen in der Uhr festgestellt werden.
Variante b:Es soll eine Stelleinrichtung eingebaut werden (über 2 Tasten oder Einlesen desSeriellen Monitors)
Variante c:Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mitSerial.write(0x07) an serielles Terminal-Programm (geht nicht mit Arduinos SerialMonitor, aber mit Hyperterminal oder puTTY-Terminal)
A.Schultze, DK4AQ/23.05.2013
![Page 2: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/2.jpg)
29.05.14 Workshop Miklrorechner 2013 2
VCC: 5V, UBAT: 3V, IBAT = 500nAExterner Quarz: 32,768kHzI2C-Geschwindigkeit: max. 100kb/s
DS 1307
![Page 3: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/3.jpg)
29.05.14 Workshop Miklrorechner 2013 3
Hardware-Struktur DS1307
Rechteckspannung1Hz,4098Hz,8192Hz oder32,768kHz,OC-Ausgang
VCC: 5VUBAT: 3V
I2C
Quarz 32,768kHz
![Page 4: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/4.jpg)
29.05.14 Workshop Miklrorechner 2013 4
DS1703 Timekeeper-Register
Aus diesen Registern wird Datum und Uhrzeit gelesen bzw. beim Einstellen geschrieben.Register 07 enthält das Control-Register.
A.Schultze, DK4AQ
![Page 5: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/5.jpg)
29.05.14 Workshop Miklrorechner 2013 5
DS1703 Control-Register
OUT: Output Control, gibt den Wert an Pin SQW/OUT beim Disable durch SQWEvor..
SQWE: Square Wave Enable-Signal für die Rechteckausgangsspannung an PinSQW/OUT.
RS1, RS0: Rate Select, Einstellung der Frequenz am Pin SQW/OUT.
![Page 6: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/6.jpg)
29.05.14 Workshop Miklrorechner 2013 6
Lesezugriff auf DS1703
Register-Pointer, Beginn der Übertragung bei dieser internen Adresse, wird auch miteinem Schreibbefehl vor Lesen angewendet!
Schreibzugriff auf DS1703
![Page 7: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/7.jpg)
29.05.14 Workshop Miklrorechner 2013 7
Schaltbild Realtime Clock
![Page 8: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/8.jpg)
29.05.14 Workshop Miklrorechner 2013 8
Detail: Beschaltung des DS1307
+5V
![Page 9: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/9.jpg)
29.05.14 Workshop Miklrorechner 2013 9
Aufbauvorschlag Realttime Clock
![Page 10: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/10.jpg)
29.05.14 Workshop Miklrorechner 2013 10
I2C_RealtClock_EXP4,Definition Konstanten und Variablen
![Page 11: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/11.jpg)
29.05.14 Workshop Miklrorechner 2013 11
I2C_RealtClock_EXP4,Setup() Teil 1
![Page 12: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/12.jpg)
29.05.14 Workshop Miklrorechner 2013 12
I2C_RealtClock_EXP4,Setup() Teil 2
![Page 13: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/13.jpg)
29.05.14 Workshop Miklrorechner 2013 13
I2C_RealtClock_EXP4,loop() Teil 1
![Page 14: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/14.jpg)
29.05.14 Workshop Miklrorechner 2013 14
I2C_RealtClock_EXP4,loop() Teil 2
![Page 15: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/15.jpg)
29.05.14 Workshop Miklrorechner 2013 15
I2C_RealtClock_EXP4,loop() Teil 3
![Page 16: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/16.jpg)
29.05.14 Workshop Miklrorechner 2013 16
I2C_RealtClock_EXP4,loop() Teil 3
![Page 17: Experiment Realtime-Clock über I2C - darc.de · Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mit Serial.write(0x07) an serielles Terminal-Programm (geht nicht](https://reader030.vdokument.com/reader030/viewer/2022040311/5d5bb33288c993167b8b5c89/html5/thumbnails/17.jpg)
29.05.14 Workshop Miklrorechner 2013 17
I2C_RealtClock_EXP4,BcdToDec() und decToBcd()