Hallo zusammen!
Ich möchte hier mal einen weiteren "Eigenbau" von mir einstellen, der sich gerade in der Fertigstellung befindet.
Es handelt sich um meine 7-Segmente Uhr mit
-DCF77-Empfang
-I2C-Bus für die Anzeigen, Temperatur, "Debug"-LCD und Erweiterungsport
-IR (RC5e) Empfänger
-IR (RC5e) Sender
-Alarmfunktionen
-Relais (230V AC) Schaltausgänge
Die erste Version hatte ich noch auf Lochraster aufgebaut und war eigentlich nur der praktische Versuch, mal zwei AVR`s seriell miteinander kommunizieren zu lassen.
Ein Mega16 steuerte damals die 7-Segmente und den Mega8, der für das IR-Signal und die Steuerung der zusätzlichen LED`s verantwortlich war.
Die zweite Version basierte auf der Ersten.... jedoch mit einer selbst geäzten Platine und ein paar Soft- und Hardwareerweiterungen.
Die jetzige dritte Version wurde von Grund auf neu bearbeitet.
Zwar ist das "Design" nach Außen hin gleich geblieben, jedoch wurde Hard- und Softwaretechnisch alles geändert.
So werden nun die vier 7-Segmente und die sieben Zusatz-LED`s nicht mehr direkt vom Controller angesteuert sondern per I2C.
Die 7-Segmente sind mit einem PCF8577C verbunden, der seine Daten über den I2C-BUS erhält und über vier ULN2803 die 32 einzelnen Segmente ansteuern kann.
Die sieben zusätzlichen LED`s sind mit einem PCF8574A verbunden, der ebenfalls seine Daten über den I2C-BUS erhält und über einen ULN2803 die LED`s ansteuert.
Desweiteren wird die Temperatur nun nicht mehr über den 1-Wire-BUS Sensor DS18S20 ermittelt sondern über den I2C-Baustein DS1624.
Dank des I2C-BUS Systems steht auf der Rückseite der Platine ein Anschluss zur Verfügung, der für spätere Erweiterungen und als "Zusatzschnittstelle" genutzt werden kann.
Während der Softwareentwicklung habe ich zum Beispiel an diesen Anschluss mein 16x2 LCD angeschlossen, um mir ein paar "Debug"-Ausgaben live ansehen zu können.
Die hauptsächliche Arbeit bestand aber in der Entwicklung der neuen Software.
Natürlich musste ich diese zum Einen wegen dem I2C-BUS System komplett neu schreiben......
zum Anderen wollte ich aber auch die Bedienung freundlicher und einfacher gestalten.
Da sich die Uhr mit Alarm später bei mir AUF dem Schlafzimmerschrank befindet, besitzt sie keine Tasten (außer 1x Reset und 1x Test) und wird komplett mit der TV/VCR Fernbedienung meines Fernsehers eingestellt.
Hierfür habe ich den TSOP1736 IR-Empfänger verwendet. Alternativ kann auch ein SFH5110 (SFH5111) genommen werden.
Der Alarm wird ebenfalls per IR-Code abgegeben. Hierfür arbeite ich mit einer SFH485 Sendediode.
Bei einem Alarm sendet die Uhr nun einen RC5e-Code zum Fernseher, der daraufhin sein Radiomodul in Betrieb nimmt.
Da die Software noch nicht ganz fertig gestellt ist und Bilder meistens mehr als tausend Worte sagen, folgen nun mal ein paar aktuelle Fotos mit kurzen Erklärungen.
Anzeige der aktuellen Uhrzeit, des Wochentages und ob ein Sync per DCF77 erfolgt ist.
Die unteren sieben LED`s zeigen den Wochentag an:
Montag , Dienstag , Mittwoch , Donnerstag , Freitag , Samstag , Sonntag
Die LED des aktuellen Tages blinkt dann.
Zum Blinken gibt es noch eine Besonderheit.....
Ob die Uhr synchronisiert wurde kann man an zwei LED`s sehen....
Blinken der Wochentag und der "Sekundenpunkt" im Gleichtakt (synchron), dann wurde die Uhr per DCF77 auch synchronisiert.
Blinken sie gegensätzlich, fehlte in der letzten Minute die Synchronisierung.
So einfach ist das.
Alle 20 Sekunden, genauer gesagt in jeder 10., 30. und 50. Sekunde, wird automatisch der aktuelle Temperaturwert ermittelt und angezeigt:
Hierbei blinkt der Sekundenpunkt dann nicht mehr sondern dient als festes Komma und am Ende wird noch ein kleines C angehängt.
Auf "Knopfdruck" lassen sich aber auch die laufenden Sekunden anzeigen:
Ich möchte hier mal einen weiteren "Eigenbau" von mir einstellen, der sich gerade in der Fertigstellung befindet.
Es handelt sich um meine 7-Segmente Uhr mit
-DCF77-Empfang
-I2C-Bus für die Anzeigen, Temperatur, "Debug"-LCD und Erweiterungsport
-IR (RC5e) Empfänger
-IR (RC5e) Sender
-Alarmfunktionen
-Relais (230V AC) Schaltausgänge
Die erste Version hatte ich noch auf Lochraster aufgebaut und war eigentlich nur der praktische Versuch, mal zwei AVR`s seriell miteinander kommunizieren zu lassen.
Ein Mega16 steuerte damals die 7-Segmente und den Mega8, der für das IR-Signal und die Steuerung der zusätzlichen LED`s verantwortlich war.
Die zweite Version basierte auf der Ersten.... jedoch mit einer selbst geäzten Platine und ein paar Soft- und Hardwareerweiterungen.
Die jetzige dritte Version wurde von Grund auf neu bearbeitet.
Zwar ist das "Design" nach Außen hin gleich geblieben, jedoch wurde Hard- und Softwaretechnisch alles geändert.
So werden nun die vier 7-Segmente und die sieben Zusatz-LED`s nicht mehr direkt vom Controller angesteuert sondern per I2C.
Die 7-Segmente sind mit einem PCF8577C verbunden, der seine Daten über den I2C-BUS erhält und über vier ULN2803 die 32 einzelnen Segmente ansteuern kann.
Die sieben zusätzlichen LED`s sind mit einem PCF8574A verbunden, der ebenfalls seine Daten über den I2C-BUS erhält und über einen ULN2803 die LED`s ansteuert.
Desweiteren wird die Temperatur nun nicht mehr über den 1-Wire-BUS Sensor DS18S20 ermittelt sondern über den I2C-Baustein DS1624.
Dank des I2C-BUS Systems steht auf der Rückseite der Platine ein Anschluss zur Verfügung, der für spätere Erweiterungen und als "Zusatzschnittstelle" genutzt werden kann.
Während der Softwareentwicklung habe ich zum Beispiel an diesen Anschluss mein 16x2 LCD angeschlossen, um mir ein paar "Debug"-Ausgaben live ansehen zu können.
Die hauptsächliche Arbeit bestand aber in der Entwicklung der neuen Software.
Natürlich musste ich diese zum Einen wegen dem I2C-BUS System komplett neu schreiben......
zum Anderen wollte ich aber auch die Bedienung freundlicher und einfacher gestalten.
Da sich die Uhr mit Alarm später bei mir AUF dem Schlafzimmerschrank befindet, besitzt sie keine Tasten (außer 1x Reset und 1x Test) und wird komplett mit der TV/VCR Fernbedienung meines Fernsehers eingestellt.
Hierfür habe ich den TSOP1736 IR-Empfänger verwendet. Alternativ kann auch ein SFH5110 (SFH5111) genommen werden.
Der Alarm wird ebenfalls per IR-Code abgegeben. Hierfür arbeite ich mit einer SFH485 Sendediode.
Bei einem Alarm sendet die Uhr nun einen RC5e-Code zum Fernseher, der daraufhin sein Radiomodul in Betrieb nimmt.
Da die Software noch nicht ganz fertig gestellt ist und Bilder meistens mehr als tausend Worte sagen, folgen nun mal ein paar aktuelle Fotos mit kurzen Erklärungen.
Anzeige der aktuellen Uhrzeit, des Wochentages und ob ein Sync per DCF77 erfolgt ist.
Die unteren sieben LED`s zeigen den Wochentag an:
Montag , Dienstag , Mittwoch , Donnerstag , Freitag , Samstag , Sonntag
Die LED des aktuellen Tages blinkt dann.
Zum Blinken gibt es noch eine Besonderheit.....
Ob die Uhr synchronisiert wurde kann man an zwei LED`s sehen....
Blinken der Wochentag und der "Sekundenpunkt" im Gleichtakt (synchron), dann wurde die Uhr per DCF77 auch synchronisiert.
Blinken sie gegensätzlich, fehlte in der letzten Minute die Synchronisierung.
So einfach ist das.
Alle 20 Sekunden, genauer gesagt in jeder 10., 30. und 50. Sekunde, wird automatisch der aktuelle Temperaturwert ermittelt und angezeigt:
Hierbei blinkt der Sekundenpunkt dann nicht mehr sondern dient als festes Komma und am Ende wird noch ein kleines C angehängt.
Auf "Knopfdruck" lassen sich aber auch die laufenden Sekunden anzeigen: