www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Newbie: LCD-Display und Mikrocontroller


Autor: Markus Krötz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für meine Freundin möchte ich gerne einen "Tageszähler" basteln, der
auf nem gewöhnlichen LCD-Display anzeigt, wie viel Tage wir schon
zusammen sind.

Da ich ein absoluter Anfänger bin, eine Frage: Mache ich das am besten,
wie im AVR-Tutorial beschrieben mit einem Mikrocontroller, Breadbord
und nem LCD-Display oder gibt es bessere/einfachere/andere Lösungen?

Vielen Dank für Eure Hilfe

Markus

Autor: Markus Krötz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe gerade im Onlineshop (http://shop.mikrocontroller.net) die AVR
Entwicklungsplatine (ATmega16) gefunden - spare ich mir damit die
"Zusammenbauerei" auf das Breadbord und kann dafür gleich anfangen
mit dem Anschließen des LCD?

Autor: jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit ich die Paltine vom Shop hier in erinnerung habe sollte das damit
kein Problem sein.

Gruß Jochen

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

welche Freundin hat da Spaß daran, wenn man ihre Tage zählt? Freundin
und Elektronik. Paßt das zusammen?

Falls Du im Programmieren fit bist, würde ich die
Mikrocontroller-Lösung empfehlen, damit könnte man menügeführt alle
möglichen Ereignisse damit zählen. Falls nicht, würde ich einen
konventionellen Aufbau empfehlen. Drei- oder Vierstellig liegt dann in
Deinem Ermessen. Ein auf Lochraster gelöteter Aufbau kann jahrelang
funktionieren.

Gruß

Autor: Frank Herrmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kauf Dir ein Tamagotchi...

Autor: Markus Krötz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, danke.
Dann kann ich also mit dieser Platine meine Idee des "Tageszählers"
realisieren?

Was brauche ich denn alles?
ATmega16 16MHz 7.20 Euro,
AVR Entwicklungsplatine (ATmega16)  24,50 Euro,
AVR Entwicklungsplatine (ATmega16) 14 Euro,
Parallelport-Verlängerung 1,8m 2,50 Euro (?),

und einen LCD:
Kann ich mit dem ATmega16 auch Grafik-LCDS mit einem
HD6120FS-Controller ansteuern?

Autor: Markus Krötz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß, ich schein Euch zu nerven, aber ich bitte Euch noch wenigstens
um eine Auskunft:
Wenn ich mit Timer arbeiten muss (will ja alle 24 Stunden einen Wert
erhöhen) ist dann der ATMEL AVR Typ ATmega32-16PI nicht geeigneter als
der ATMEL AVR Typ ATmega16-16-PI, weil in der Beschreibung steht, dass
der 32er 2x 8-Bit-Timer, 1x 16-Bit-Timer hat - hat das irgendwas mit
Stundenzählen zu tun, oder ist das auf was anderes bezogen?

Vielen Dank

Markus

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

zum Thema Freundin und Elektronik.
Ja das passt. Aber nur gaaanz selten...
Meine studiet (wie ich auch)
Elektrotechnik an der FH Giessen...


Gruß
  Tobi

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

noch was zum Thema.
Wenn Du willst das der Tageszähler nicht ausfällt wenn ihm
mal der Saft ausgeht würd ich vorschlagen, das Du alle Stunde
oder so mal den Wert im EEPROM speicherst.
(Nicht öfter denn das EEPROM hat nur beschränkte Zyklen)
Solltest Du zuviel Zeit haben kannst Du auch ein DCF77 Modul
anschliessen, was die Tage stehts neu berechnet.

Gruß
  Tobi

Autor: Fritz Ganter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und schreibe nie aus einer Interruptroutine (auch nicht über
verschlugene Pfade) in das EEPROM, sondern in der Hauptschleife, sonst
geht dir die Uhr ein paar Sekunden pro Tag nach, wenn man es jede halbe
Stunde schreiben lässt.

Wieso sagt mir das vorher keiner?

Autor: Markus Krötz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Tobias für die Unterstützung ;-)

Aber wie ist das nun? Brauche ich unbedingt den ATMEL AVR Typ
ATmega32-16-PI, mit 2x 8-Bit-Timer, 1x 16-Bit-Timer (was bedeutet das
genau) oder reicht es auch ein ATMEL AVR Typ ATmega16-16-PI?

Gruß

Markus

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will ja nicht unhöflich sein, aber ich denke, du brauchst erstmal
ein Konzept und etwas mehr Grundlagenwissen...

Bit- & Bytebruch...
...HanneS...

Autor: Stefan Gold (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, kurz zur Erklärung:

Ein 8-Bit bzw. 16-Bit-Timer ist beim Mikrocontroller ein Register,
welches im Falle von 8 Bit Breite einen der Werte 0 ... 255 bzw. bei 16
Bit 0 ... 65535 "speichern" kann. Das Besondere an diesen Registern
ist nun, dass sie entweder durch den Systemtakt (z. B. Quarz) oder auch
durch ein externes Rechtecksignal ihren Wert automatisch nach jeder
Periode um "1" erhöhen. Falls also z. B. der 16-Bit-Timer zu Beginn
den Wert 0 hat und der Quarz 65535 Rechtecksignale ausgegeben hat, so
ist der Wert des Timers dann 65535 . Beim nächsten Impuls nimmt der
Timer dann den Wert 0 an und zählt wieder bis 65535. Dieser sogenannte
Überlauf kann dann
benutzt werden, um in einer Interruptroutine zeitlich kritische
Ereignisse auszulösen. Hier kann dann z. B. ein Tagezähler
weitergesetzt werden.

Im Prinzip ist es egal, ob man dann einen Controller mit 8-Bit-Timer
oder 16-Bit-Timer zur Realisierung dieser Aufgabe einsetzt. Der Takt
für den Timer sollte auf jeden Fall mit den zur Verfügung stehenden
Vorteilern soweit wie möglich heruntergebrochen werden, d. h. der Timer
wird dann nicht mehr mit z. B. 16 MHz sondern bei einem Teiler von 1024
mit 15625 Hz getaktet. Eine Interruptroutine würde bei einem
8-Bit-Timer dann alle 16ms ausgelöst. Im Interrupt muss dann zuerst
eine Hilfsvariable erhöht werden. Soll der Controller sonst keine
besonders zeitkritischen Aufgaben lösen wäre es auch sinnvoll, einen
Quarz von z. B. nur 4 MHz einzusetzen.

Ein kurzes Beispiel:

>> Controller mit 8-Bit-Timer
>> angeschlossener Quarz 4 MHz
>> Vorteiler 1024
>> Timer wird mit 3906 Hz getaktet -> Periodendauer T = 256µs
>> Timerstartwert = 22
>> Überlauf erfolgt alle 0,000256s * 234 = 60ms

im Interrupt:
>> Timer mit Startwert 22 neu laden
>> wenn Sekundenzähler den Wert 1000 hat, dann Minutenzähler um eins
weitersetzen
>> wenn Minutenzähler den Wert 1440 hat, dann Tagezähler weitersetzen

Autor: Matthias Friedrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bis Du Dir das Grundwissen angeeignet hast, wäre wahrscheinlich wieder
Schluss, also investiere das Geld und die Zeit lieber in ein
romantisches Essen mit Ihr :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.