Hallo,
Erstmal sei gesagt dass ich auf dem gebiet Mikrocontroller eigentlich
keine ahnung habe. Ich versuch mal mein Vorhaben hier zu erläutern:
Ich will eine art LED uhr programmieren. Ich will 22LEDs anschließen,
die ich alle seperat ansteuern kann. Ein bestimmten tagen zum Beispiel
sollen sie blinken oder einfach nur die Monate und Jahre ab einem
bestimmten Datum anzeigen.
Jetzt wollte ich hier mal Nachfragen wie ich das am besten realisieren
kann. Der Mikrocontroller sollte vom PC aus, auf dem Linux läuft,
programmiert werden können. Als Programmiersprache möchte ich C
verwenden.
Vorgestellt hab ich mir das so ich hol mir einfach von dem Timer die
Sekunden seit einem bestimmten Datum z.B mit der C standart lib bekomm
ich ja am PC mit time(NULL) die sekunden seit dem 1.1.1970. Mit den
Sekunden würde ich dann einfach etwas rumrechnen und dem entsprechend
eben bestimmte LEDs an oder ausschalten. Den Mikrocontroller möchte ich
gerne mit einer Batterie oder per Netzteil versorgen können, beides
sollte möglich sein. Zur not kann man sich auch einfach ein netzteil mit
der passenden spannung besorgen und an das batterie fach schließen oder?
Der Timer allerdings sollte auch weiterlaufen wenn ich die Batterie
wechsle oder eben gerade kein netzteil angeschlossen und keine batterie
eingelegt ist. Also wird er seine eigene Knopfzelle haben müssen so wie
es eben am Hardware Timer eines gewöhnlichen PCs der fall ist.
Ich würde jetzt gerne von euch wissen was ich denn dazu kaufen müsste.
Löten möchte ich eher ungern, darum wäre ein fertiger Mikrocontroller
für mich die beste Lösung. Welchen Mikrocontroller würdet ihr mir
empfehlen und wie funktioniert das mit dem timer genau?
gruß Peter
Die LEDs will ich ein aus holz gebautes gehäuse einbauen.
sero schrieb:>> Löten möchte ich eher ungern, darum wäre ein fertiger Mikrocontroller>> für mich die beste Lösung.> Bist du ein Troll?
Nein meine Frage ist ernst gemeint :/
Ich meinte damit ich will die Platine auf dem der mikrocontroller ungern
als Bausatz erwerben.
Besorg dir zb einen Arduino
Und lies das AVR-Tutorial.
Du bist als PC-verwöhnter Programmierer ein bischen blauäugig, wie du
dir so vorstellst, dass das alles auf einem µC funktioniert.
Nur so als Beispiel
> Vorgestellt hab ich mir das so ich hol mir einfach von dem> Timer die Sekunden seit einem bestimmten Datum z.B mit der C> standart lib bekomm ich ja am PC mit time(NULL) die sekunden> seit dem 1.1.1970.
Als µC Programmierer bist du schon weit unter der Grenze, die diese
Standard Funktion darstellt. Du agierst auf der Ebene, in der die time
Funktion selbst implementiert wird.
(und PS: Standard schreibt sich hinten mit D, nicht mit T. Eine
Standarte ist etwas anderes und wir sind froh, dass wir die zum großen
Teil los sind)
Edit: Ach Shit. Ich hab deine 22 LED vergessen. Da wird das mit einem
Arduino direkt nichts. Da musst du beim Arduino dann schon zum Lötkolben
greifen.
Allerdings: Ein Experimentierboard, dass von der Stange deinen
Hardwareanforderungen entspricht, das wird es wohl nicht geben. Und wenn
es tatsächlich eines gibt, dann wirst du da eine Menge anderer Hardware
dazukaufen, die du eigentlich gar nicht brauchst. Klar kann man an einen
Arduino auch wieder selbstbau-Hardware anschliessen. Aber dann kommst du
um Löten nicht rum
PeterSenf schrieb:> Ich meinte damit ich will die Platine auf dem der mikrocontroller ungern> als Bausatz erwerben.
Dann sehe ich 2 Möglichkeiten:
- fertig kaufen: ob es sowas gibt, das alle Deine Wünsche erfüllt, ist
zweifelhaft
- selber entwickeln: dann musst Du in jedem Fall löten :-((
Gruß Dietrich
..wenn der Rechner alles steuert, was soll dann der Mikrocontroller noch
machen?
...mit 22LEDs ein Datum anzeigen und manchmal blinken? Klingt alles sehr
verwirrend!
Kannst du mal ein wenig konkreter werden?
Geh mal nach www.pollin.de und gebe AVR in die Suche ein - gucken!
Guck mal links unter "Artikelsammlung"
Thorsten
Deine Stichwörter:
RTC
Gold CAP
LED an 5V (Vorwiderstand berechnen)
Schieberegister
USB I-O Karte
AVR Studio
AVR GCC
STK 500 (eventuell) oder Ponyprog
Danke erstmal für die Antworten. Das AVR tutorial hier hab ich mir mal
durchgelesen. Also das mit dem Timer is mir jetzt klarer. Das müsste ich
auch hinbekommen mit dem selber zählen. Aber was ich da jetzt noch nicht
so ganz verstanden habe ist, dass wenn die Stromzufuhr ja mal
unterbrochen sein sollte, ich ja nicht mehr weiß wo ich mit zählen war
bzw. er ja gar nicht mehr weiter zählen kann. Er müsste ja seinen
eigenen Speicher haben in den er weiter schreiben kann wie viel Zyklen
vergangen sind. Deshalb wollte ich die Stromzufuhr eben etwas
differenzieren einmal dann eben das Netzteil das alles versorgt, dass
viel strom benötigt und eine knopfzelle oder ähnliches den timer, der
dann aber auch ein paar Jahre halten sollte. Vorgestellt hatte ich mir
das eigentlich so, dass ich mir eine fertige Platine kaufe, die eine
externe Stromversorgung besitzt und eben noch eine Knopfzelle drauf hat
für den timer und 22 Outputs für meine LEDs. Das mit dem Löten war so
gemeint, dass ich eben die platine gerne fertig haben möchte. Das mit
LEDs ist natürlich klar die werde ich anlöten und den Wiederstand
dazwischen. Es ging mir nur darum, dass ich nicht die ganze Platine
löten will, bzw. ungern wenns nicht anders geht und es nicht zu schwer
is werde ich es natürlich tun müssen :x. Man muss dazu sagen, großartig
gelötet hab ich noch nicht.
Also ihr meint so etwas gibt es nicht:
Eine fertige Platine mit min 22 Outputs für LEDs und nem Timer der auch
ohne Stromzufuhr weiterzählt?
Was bräuchte ich dann um mir so etwas zu bastlen? Und eine serielle
Schnittstelle habe ich leider nicht zur Verfügung.
PeterSenf schrieb:> Löten möchte ich eher ungern, darum wäre ein fertiger Mikrocontroller> für mich die beste Lösung. Welchen Mikrocontroller würdet ihr mir> empfehlen und wie funktioniert das mit dem timer genau?
Dein Vorhaben ließe sich mit der WordClock-Schaltung
http://www.mikrocontroller.net/articles/Word_Clock_Variante_1#Schaltung
realisieren. Damit sind bis zu 28 LEDs ansteuerbar, sogar als RGB-LEDs -
also in Farbe. Eine RTC (Echtzeituhr + Knopfbatterie) ist bereits in der
Schaltung.
2 Nachteile, die ich Dir nicht verheimlichen kann:
1. Du musst die Schaltung löten. Sie ist aber für Anfänger geeignet, es
ist wirklich nicht schwierig, da keine SMD-Teile verwendet werden.
2. Deine Uhr musst Du selber progammieren ;-)
WordClock-Platinen habe ich noch hier aus der letzten Sammelbestellung.
Gruß,
Frank
PeterSenf schrieb:> Danke erstmal für die Antworten. Das AVR tutorial hier hab ich mir mal> durchgelesen. Also das mit dem Timer is mir jetzt klarer. Das müsste ich> auch hinbekommen mit dem selber zählen. Aber was ich da jetzt noch nicht> so ganz verstanden habe ist, dass wenn die Stromzufuhr ja mal> unterbrochen sein sollte, ich ja nicht mehr weiß wo ich mit zählen war> bzw. er ja gar nicht mehr weiter zählen kann.
Dafür gibt es fertige Uhrenbausteine (sog. RTC), die zb über I2C
angesprochen werden.
Die haben eine eigene kleine Batterie eingebaut und sind auf ultra-wenig
Stromverbrauch getrimmt.
> Also ihr meint so etwas gibt es nicht:>> Eine fertige Platine mit min 22 Outputs für LEDs und nem Timer der auch> ohne Stromzufuhr weiterzählt?> Was bräuchte ich dann um mir so etwas zu bastlen? Und eine serielle> Schnittstelle habe ich leider nicht zur Verfügung.
Nein, sowas wirst du nicht fertig finden.
Und ganz ehrlich: Deine Aufgabenstellung mag sich banal anhören. Aber du
hast eine steile Lernkurve vor dir, bis du soweit bist, das realisiern
zu können.
rück mal ein paar details zu der Uhr raus.
was zeichet sie denn aus?
bin grad mal die üblichen Verdächtigen im Kopf durchgegangen.
bei keiner komm ich auf 22
Binär: je nach Aufteilung 11 oder 15
Tix: 27
7seg: 28
Berliner Mengenlehrenuhr: 24
Rheinturmuhr >22
muss Frank aber beipflichten.
Die Wordclock Platine kommt deinen Anforderungen sehr nahe.
Unterstützt zusätzlich noch RGB, DCF und nahezu beliebige
IR-Fernbedienungen
und eigentlich muss nur der Displaytreiber an deine Uhr angepasst
werden.
Vlad Tepesch schrieb:> rück mal ein paar details zu der Uhr raus.> was zeichet sie denn aus?>> bin grad mal die üblichen Verdächtigen im Kopf durchgegangen.> bei keiner komm ich auf 22>> Binär: je nach Aufteilung 11 oder 15> Tix: 27> 7seg: 28> Berliner Mengenlehrenuhr: 24> Rheinturmuhr >22>>> muss Frank aber beipflichten.> Die Wordclock Platine kommt deinen Anforderungen sehr nahe.> Unterstützt zusätzlich noch RGB, DCF und nahezu beliebige> IR-Fernbedienungen>> und eigentlich muss nur der Displaytreiber an deine Uhr angepasst> werden.
Details zu meiner Uhr wären:
12 LEDs für die Monate
10 LEDs für die Jahre
und an bestimmten Tagen im jahr sollen eben alle 12 blinken. Programm
technsich denke ich wäre das kein Problem für mich solange ich eine gute
möglichkeit habe an das aktuelle datum zu kommen und das schon auf eine
halbe stunde genau also um 0 Uhr sollte eigentlich das blinken losgehen
und um 24Uhr aufhören.
Ich hab jetzt mal etwas darüber gelesen die Uhrzeit auch einfach mittels
Radio zu ermitteln. Was haltet ihr davon? Bekomme ich dadurch überhaupt
auch das Jahr und den Monat und den Tag?
>>Details zu meiner Uhr wären:>>12 LEDs für die Monate>>10 LEDs für die Jahre>>0 Uhr blinken losgehen 24Uhr aufhören
ok ich bin raus!
offensichtlich bist du nicht an einem Ziel interessiert.
Viel Spass noch beim blinken.
T.
PeterSenf schrieb:> Ich hab jetzt mal etwas darüber gelesen die Uhrzeit auch einfach mittels> Radio zu ermitteln. Was haltet ihr davon? Bekomme ich dadurch überhaupt> auch das Jahr und den Monat und den Tag?
Geht mit DCF77, einfach und schon oft mit µC realisiert, es gibt also
schon viele Beispielprogramme. Übertragen wird Uhrzeit, Datum (ohne
Jahrhundert) und Wochentag. Als zusätzliche HW brauchst Du eine
passenden Empfänger, ist aber kein Problem.
Besonderer Vorteil:
Du brauchst die Uhr nicht stellen, was bei einem Uhrenbaustein nötig
wäre und einigen Aufwand kostet: Tasten, Anzeige.
Bei der WordClock-Schaltung ist der DCF-Eingang schon vorgesehen: 3
Anschlüsse (Spannungsversorgung und "Daten"-Leitung).
Gruß Dietrich
Danke nochmal für die Antworten. Ich denke ich hab jetzt nen relativ
guten Überblick gewonnen.
Ich werde mir mal so ein Arduino Set besorgen und einen RTC. USB
anschluss hat das teil ja und ich werde es normal auch irgentwie
hinbekommen, dass ich es unter Linux programmieren kann. Zeit setzen
sollte ja funktionieren, indem ich die Zeit einmal hard reincodiere und
den Arduino zum richtigen Zeitpunkt anschalten werde. Wenn das mit der
Zeit dann soweit gut funktioniert besorge ich mir noch Schieberegister
um auf meine 22 Outputs zu kommen. Die LEDs schließe ich dann mit
Widerstand am Schieberegister an bzw. das Schieberegister an dem
Widerstand was ja auch funktionieren sollte.
gruß Peter
PeterSenf schrieb:> Details zu meiner Uhr wären:>> 12 LEDs für die Monate> 10 LEDs für die Jahre
Naja, ich würde sowas Kalender nennen.
da wären dann aber größere Änderungen an der Wordclock-Software
notwendig.
PeterSenf schrieb:> Die LEDs schließe ich dann mit> Widerstand am Schieberegister an bzw. das Schieberegister an dem> Widerstand was ja auch funktionieren sollte.
kommt auf die Schieberegister an.
Normale SRs aus der 74er Reihe können nicht so viel stron liefern.
Da braust du aufjeden Fall noch Transistoren oder einen Treiber-IC
zwichen SR und LEDs.
TPIC595 wäre eventuell was passendes, das ist SR und Treiber in einem.