Ich hab jetzt mal eine RTC an den TINY12 angeschlossen. Ist natürlich wesentlich komplizierter, als die Zeit direkt im AVR zu zählen. Der einzige Vorteil ist, daß die Zeit sofort beim Einschalten wieder da ist, da die RTC ja weiterläuft. Etwas knifflig war die Sommerzeitumstellung. Anbei das Bild der Testschaltung. Der 74HC164 zum Ansteuern des LCD sitzt unter dem LCD. Durch den Blitz sieht das LCD etwas grobkörnig aus. Das, was wie eine Batterie aussieht, ist die RTC (DS1994). Das sind außerdem noch 2 * DS1820 Temperatursensoren angeschlossen. Falls Interesse am Code besteht, kann ich es ja in die Codesammlung stellen. Peter
sieht klasse aus peter! über den code würden sich sicher einige freuen incl. mir :)
Hallo Peter! Tolle Sache dein Teilchen! Mir schwebt auch schon seit Längerem so ein Projekt vor. Also mit zwei Tempsensoren für den Innen- und Außenbereich zum Beispiel. Und dann noch mit einer Uhr, damit man sieht wie spät es ist. Außerdem soll man mit einem Relays die Heizung ansteuern können. Die Uhr wäre dann auch dafür verantwortlich, dass ab einer gewissen Uhrzeit die Soll-Temperatur gesenkt wird usw......... Ich habe jedoch drei Fragen: Hast du eine Batterie für die Real-Time-Clock? Du hängst die Platine an ein externes Netzteil. Wo hast du diesen tollen Stecker bestellt, den man direkt auf eine Lochrasterplatine setzen kann (Ich meine den Stecker an den du das Netzteil hängst)? Ich habe bei Conrad geschaut und dort hatten sie zwar solche Stecker (oder sind es Buchsen), aber die Pins kann man in keine Lochrasterplatine hineinstecken, da sie keine Pins aufweisen, sondern längliche Stege. Also diese Anschlüsse passen nicht in die Löcher der Lochrasterplatine. Du hast das Schieberegister 74HC164 verwendet, um das LCD anzusteuern. Funktionert das so ohne Weiteres? Wie hast du folgendes Problem gelöst: Die Outputs des Schieberegisters sind ständig eingeschaltet, das heißt, wenn du zum Beispiel das Bit 7 ändern möchtest, dann musst du dieses bit hineinschieben. Dieses Bit wird nach den ersten Takten beim Bit 0 ausgegeben, danach wandert es weiter zum Bit 1 wird dort ausgegeben. Das geht soweit bis es ganz am Schluss angekommen ist, also bei Bit 7 wo es hingehört. Ich dachte mir, dass das Display vielleicht mit der Enable Leitung und den Steuersignalen etwas durcheinander kommt, da während des Hineinschiebens (abhängig von den Bits, die hineingeschoben werden) die Ausgänge wechseln können. Danke für deine Antwort. Martin
@peter Diese Platinenbuchsen gibts bei www.reichelt.de und ich glaub ich hab die bei www.pollin.de auch schon mal gesehen chris
@Martin, der DS1994 enthält eine Batterie und soll 10 Jahre halten. Den Preis kenne ich jetzt nicht (ist ein Sample). Das sind genau die Conrad-Buchsen, die Löcher muß man nur etwas aufbohren (1,2mm). Den Anschluß vom Schaltkontakt habe ich umgebogen, da er nicht im Raster ist. Das Display ist auch von Conrad (EA DIP162-D). Ich habe einfach Drähte angelötet und die dann in das 2,54 Raster auseinander gebogen. Laut Taktdiagramm werden die Daten nur mit der 1->0 Flanke an E übernommen. Und RS muß nur während E = 1 stabil bleiben. Das Durchschieben stört also nicht. Wenn Du da noch mehr Funktionen einbauen willst, solltest Du den TINY26 nehmen. Der TINY12 ist mit nur 512 Worten schon hart am Anschlag. Sobald ich die Beschreibung fertig habe, kommts in die Codesammlung. Peter
Klasse! Diesen Uhrenbaustein muss ich mir merken. Was mich immer von einer Verwendung einer RTC abhielt war der Gedanke, dass ich eine dumme Batterie mitdrauflöten muss. Wie stellt du die Uhrzeit eigentlich ein oder nach wenn sie einmal ein paar Minuten falsch geht? Hast du hierfür irgendwelche Taster oder sendest du während des Flashens die richtige Uhrzeit mit. Tschüss Martin
"Wie stellt du die Uhrzeit eigentlich ?" Das kann ja dann vielleicht ein anderer dazu programmieren. Jetzt habe ich es erstmal so gelöst, daß die Startzeit beim Assemblieren definiert wird. Und dann beim 1.Einschalten wird die RTC auf diese Zeit gesetzt und läuft los. Peter
So, das Programm mit Beschreibung steht jetzt in der Codesammlung: http://www.mikrocontroller.net/forum/read-4-32158.html Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.