Hallo, ich möchte hier mal mich und mein erstes avr Projekt vorstellen. Ich heiße Tristan, bin jetzt 16 Jahre und habe einige Male mit Arduino-Boards herum gespielt und auch kleinere Projekte verwirklicht (Stellpult für die Modellbahn, Roboterarm,...). Irgendwann wollte ich mal "nur" mit avr-Controllern was basteln, und da kurz vorher mein alter Wecker den Geist aufgegeben hatte, entschloss ich mich, einen neuen zu bauen. Übersicht: atmega 328 als Controller Empfang der Zeit einmal täglich über DCF-Modul eigener Sekundentakt über Quarzoszillator mit Taktteiler 2x16 Zeichen LCD zur Ausgabe 5 Taster zur Navigation Stromversorgung über USB Piezosummer zum Wecken Alles wird gesteuert von einem Atmega 328. Die Zeit+Datum werden immer um Mitternacht und nachdem der Controller Strom bekommen hat mithilfe eines DCF-Moduls empfangen. Von da an wird ein Sekundentakt mithilfe eines Quarztaktteilers erzeugt.. Zum Steuern des Ganzen gibt es fünf Taster (hoch, runter, links, rechts, enter). Als Anzeige dient ein 2x16 Zeichen LCD. Zum erzeugen des Tones habe ich einen Piezosummer mit fertiger Elektronik genommen. Im Allgemeinen ist der Controller im Sleep-Mode, wird jedoch über Interrupts vom Taktteiler oder den Tastern aufgeweckt. Weckt man ihn mit den Tastern, dann wird einem für ein paar Sekunden Uhrzeit + Datum angezeigt. Danach geht wird der Bildschirm wieder abgeschaltet und der AVR geht zurück in den Sleep-Mode. Wenn man den Controller geweckt hat, kann man durch drücken eines Tasters in das Menu gelangen. Dort hat man zuerst die Auswahl zwischen "alarm menu" und "settings menu". Im "settings menu" kann man veranlassen, dass die Zeit neu empfangen wird. Im "alarm menu" kann man die Weckzeit und die Schlummerzeit einstellen bzw. den Wecker ausschalten. Noch ein paar lose Einzelheiten: Wie schon angedeutet befindet sich der Controller den Großteil der Zeit im Sleep-mode und wird über Interrupts von Tastern und dem Taktteiler aufgeweckt, so kann ein wenig Strom gespart werden. Wenn der uC schlafen geht, wird auch der LCD komplett vom Strom getrennt. Wenn die Zeit empfangen wurde, wird der Taktgeber kurz resetet und das DCF-Modul ausgeschalten. Den LCD steuere ich im 4-bit Modus an, die Library dazu habe ich angehängt. Da ich die Platine so klein wie möglich halten wollte, habe ich den LCD über das DCF-Modul + Antenne und den avr gebaut. Zwischen LCD und dem Summer ist noch versteckt ein Resettaster (extra schwer zu erreichen, damit am Morgen nicht die schlechte Laune siegt und ich den Wecker abwürge :) ). Aufgebaut habe ich alles auf einer Lochrasterplatine und die dann mit Distanzhülsen auf eine Holzplatte geschraubt. In den Eagle-Dateien sind, wie der Name sagt, keine Umrisse von den einzelnen Teilen wie LCD und Antenne drauf. wie der LCD liegt sieht man ja auf den Bildern, die obere Pinleiste ist dessen Anschluss. Die Antenne liegt direkt unterhalb der 16er Pinleiste quer (festgeklebt). Die kleine PLatine vom DCF-Modul setzt an der 4er Pinleiste rechts an und liegt halb unter dem LCD. Das nur als Übersicht über mein Projekt. Der Code ist definitiv noch nicht perfekt, aber das sollte er auch gar nicht sein. Ich hoffe, ich konnte damit ein paar Anregungen geben. viele Grüße, Tristan
Tristan V. schrieb: > Die Zeit+Datum werden immer um Mitternacht empfangen. Um Ptobleme mit der Zeitumstellung zu vermeiden, wäre drei Uhr morgens besser geeignet
Sehr hübsch geworden, Respekt! Weiter so, laß dich von Rückschlägen nicht entmutigen, bleib neugierig. O.T. 16... Ich hatte neulich eines meiner frühen Kunstwerke in der Hand: UKW Radio, nachgebaut aus Nührmanns "Radiobasteln". Platinen geätzt, Spulen gewickelt, Taschengeld vernichtet. Irgendwas kam auch aus dem Lautsprecher, nur kein UKW-Sender... Vielleicht lags dran, weil ich die Brücken schief reingebraten habe ;-) Gruß Stefan
Alter Falter mit 16 so ein Projekt zu schaffen? Respekt. Hätte ich damals nicht hinbekommen.
Hallo Tristan, würde mich gerne genauer über den DCF-77 mit dir austauschen. Falls du Interesse hast melde dich bei mir, würde mich freuen. Außerdem habe ich noch ein paar Fragen. timmarx787@gmail.com lg Tim
Hi Leute, sorry, habe mich jetzt schon länger nicht mehr gemeldet. Ich habe mich sehr über die Rückmeldungen hier gefreut. Das Problem mit den Brücken habe ich schon bemerkt. Das nächste mal muss ich auch auf jeden Fall aufpassen, dass die RESET-Leitung nicht auf der Platine läuft. Am Anfang hatte ich das Problem, dass mir die an einer der Distanzhülsen hing und jedes Mal, wenn ich die Schraube angefasst habe, gab es ein Reset :) . Nächste Aufgabe ist es jetzt, dass der uC die einzelnen Menus nach einer gewissen Zeit wieder verlässt. Ich hatte schon mehrfach das Problem, dass ich offensichtlich über Nacht auf die Taster gekommen bin und der Wecker so in den Menus fest hing und am nächsten Morgen nicht mehr geklingelt hat (also erst, nachdem ich aufgewacht bin und aus den Menus heraus gegangen bin. Wenn es was neues gibt, melde ich mich! vG, Tristan
Besprecht die relevanten Dinge doch bitte hier im Forum! Es könnten noch andere Leute davon profitieren ;) BTW: Schönes Projekt! Und das mit 16. Hut ab!
Hi, hier noch ein kurzer Nachtrag zum Projekt: Ich hatte arge Probleme mit der Resetleitung des uC (wurde oft unfreiwillig betätigt), sodass ich direkt vor den Pin des Chips eine kleine Pinleiste eingelötet habe, die ich bei Bedarf mit einem Jumper überbrücken kann. Auch habe ich den Code ein wenig abgewandelt, damit die Hintergrundbeleuchtung des LCDs nicht in der Nacht angeht, wenn die Zeit synchronisiert wird. @Gast: das wäre zu umfangreich geworden, um es hier zu besprechen. Vielleicht gibt es ja noch mal einen eigenen Thread dazu.
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.