Forum: Mikrocontroller und Digitale Elektronik LED Uhr mit einem Mikrocontroller Anfängerfragen


von PeterSenf (Gast)


Lesenswert?

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.

von sero (Gast)


Lesenswert?

> Löten möchte ich eher ungern, darum wäre ein fertiger Mikrocontroller
> für mich die beste Lösung.
Bist du ein Troll?

von PeterSenf (Gast)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

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

von MaWin (Gast)


Lesenswert?

> Den Mikrocontroller möchte ich gerne mit einer Batterie
> versorgen können

Kennste bei LEDs vergessen.

> Löten möchte ich eher ungern,

Wie willst du sonst die LEDs anschliessen ? Lüsterklemmen ?
Mag bei einem Einzelstück gehen.
Als Board eignet sich z.B. das
http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html
wenn dein PC noch eine echte serielle Schnittstelle hat,
als Prozessor ein uC mit mindestens 22 Ausgängen, also
z.B. ein
http://www.pollin.de/shop/dt/MjkwOTk4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Microcontroller/Microcontroller_ATMEGA16_16PU.html

als LEDs normale 20mA Standardtypen wie
http://www.pollin.de/shop/t/MDY4OTA5OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/LEDs/Leuchtdioden.html?ts=20 
120023
die jedeoch je einen Vorwiderstand brauchen von ca. 150 Ohm
http://www.pollin.de/shop/t/MzY4OTA5OTk-/Bauelemente_Bauteile/Passive_Bauelemente/Widerstaende/Kohleschicht_Widerstaende.html
220057

als Netzteil so was (22 x 20mA sind ein knappes halbes Ampere)
http://www.pollin.de/shop/dt/ODYxOTQ2OTk-/Stromversorgung/Netzgeraete/Steckernetzgeraete/Stecker_Schaltnetzteil_KSAB0900050W1EU.html
(Absichtlich ein Schaltnetzteil, denn wenn es 24h läuft, spielt der 
Wirkungsgrad schon eine Rolle).

Wie man nun den AVR unter Linux in C programmiert... keine Ahnung, unter 
Windows ist es einfach, unter Linux geht es sicher auch.

von Dietrich L. (dietrichl)


Lesenswert?

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

von Thorsten S. (Gast)


Lesenswert?

..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

von PeterSenf (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

von Karl H. (kbuchegg)


Lesenswert?

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.

von Vlad T. (vlad_tepesch)


Lesenswert?

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.

von PeterSenf (Gast)


Lesenswert?

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?

von Thorsten S. (Gast)


Lesenswert?

>>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.

von Dietrich L. (dietrichl)


Lesenswert?

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

von PeterSenf (Gast)


Lesenswert?

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

von Vlad T. (vlad_tepesch)


Lesenswert?

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.

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
Noch kein Account? Hier anmelden.