Mikrocontroller ATTiny soll Countdown Uhr mit Zusatzfunktionen werden

Hallo, ich habe etwas Erfahrung mit C und C++, aber diese 8 BIT ATtiny irrieren mich.
Bevor ich das Rad neu erfinde, würde ich gerne wissen, ob schon jemand mit ATTiny s eine Stopuhr oder Countdown entwickelt hat.
Das ganz soll in einen Lernspiel verwendet werden, wobei auf dem Display die Zeit und Wissenpunkte herunter gezaehlt werden soll.
Ich wollte das Display über I 2 C ansteuern, aber bin jetzt auf die Idee gekommen, hier mal nachzufregen, ob es schon Know-how über mc für solche Aufgaben gibt.

Danke für eure Antwort

Hallo Tatiana

solche Aufgaben sind wie Puzzle mit 20 Teilen. Beim ersten Mal sehr schwierig, schon 1000fach von 1000en Leuten auf 1000en Plattformen gemacht. Wenn Du bei einem Teil ein Problem hast (z.B. bei einem konkreten I2C-Problem mit Deinem konkreten Display), dann kann dir jemand weiterhelfen. Du must das Puzzle allerdings selber legen, sonst nützt es Dir nichts. Mit ein wenig Erfahrung und z.B. Oscar dauert es ein paar Stunden from Scratch. Der erste I2C-Bus kann dagegen auch mal ne Woche dauern.

Zu meiner Zeit im Studium war die Hauptschwierigkeit (neben dem Hallo-Welt-Togglepin) die erstmalige Ansteuerung dieser 2 * 16 Zeichen Displays.

Die genaue Beschreibung der eigentlichen high-level-Funktion (Uhr, „Zusatz“) ist meist aufwändiger als deren Realisierung.

Viel Erfolg

achim

Hallo Tatiana,

na Stopuhr bzw. Countdown ist doch ein Scherz am Rande. Wie oft soll sich der Wert ändern?

Angenommen, Du zählst von 100 auf 0 in 1 Sekunden Schritten:

  1. Du hast einen Timer, der alle 1000ms einen Interrupt feuert
  2. Du hast eine Variable, die mit Hilfe des Timerinterrupts von 100 runtergezählt wird.

Es ist wirklich trivial.

Was weniger trivial ist, ist Dein Display. Dazu eine Frage:

  1. Was hat das Ding für einen Controller drin?

Und dann noch, welchen ATTiny verwendest Du genau? Es kann durchaus sein, dass ein ATTiny für einen Display etwas zu klein ist. Die ATTiny haben nämlich gar kein I²C Interface, sondern nur so ein USI. Ich würde Dir empfehlen eher einen ATmega zu nehmen, da hast Du mehr RAM und auch echte Schnittstellen.

Rück etwas mehr Infos raus.

Grüße
Heinrich

Hallo Tatiana,

es ist eigentlich ganz einfach.

  1. Du erstellst einen Timer, der Dir alle 1000ms einen Interrupt feuert
  2. Mit Hilfe des Interrupts zählst Du eine Variable runter.

Es ist wirklich trivial.

Was weniger trivial ist, ist das Display. Zum Einen haben die ATTiny kein I²C Interface, sondern nur so ein USI und zum Anderen wird es mit dem Spricher sehr sehr sehr eng. Je nach Typ haben sie max. 512Byte SRAM.

Was für einen Controller hat das Display, was Du verwenden willst.

Ich würde Dir empfehlen einen ATmega zu nehmen, da hast Du einen echten I²C und auch noch mehr SRAM.

Grüße
Heinrich

Ich kann dazu keine fertige Antwort anbieten.
Ein Link den ich gerne verwende: http://www.mikrocontroller.net/
Für Deteilfragen stehe ich gerne zur Verfügung.

Alois