Forum: Mikrocontroller und Digitale Elektronik AVR Anfänger Frage ATtiny 2313


von Sebastian G. (erdhahn)


Lesenswert?

Hallo mC gemeinde,
ich will nicht das Rad neu erfinden.
Hat schon jemand eine Schaltung, in der ein ATtiny eine Count-Down-Uhr
mit Zusatzfunktion erstellt hat.
Als Zusatzfunktion soll ein bestimmter Betrag an Spielgeld lineare  mit 
der Zeit runtergezaehlt werden.
Ich habe 20 ATtiny 2312, eine ATMega und AVRISPmkII zu Verfügung.
Aussdem ein 100 Mhz DSO von UNI-T und einige Multimeter, 
Lochrasterplatine und Lötstation.

Also, hat jemand schon ATtiny als Count-Down Uhr benutzt?

Danke für eure Hilfe

von Dani (Gast)


Lesenswert?

Sebastian Gregor schrieb:
> Also, hat jemand schon ATtiny als Count-Down Uhr benutzt?
Sicher...

Wie viele stellen soll dein Zähler haben?
Für 3 Stellen habe ich diese Schaltung gefunden:
http://www.mikrocontroller.net/attachment/31941/Tut_7_Seg_03.gif

Das Programm schreiben musst du dann selbst...

von Sebastian G. (erdhahn)


Lesenswert?

Hallo,
ja , klar schreibe ich das Programm selber. Von der Uni her bin ich C 
gewöhnt, allerdings unter AIX und Linux. Ich finde es schon komisch, aus 
dem Flash heraus die Software laufen zu lassen.

Nein, ich wollte ueber einen I2C Bus die Display ansteuern, das
ganze soll wie eine TV Show aussehen, also Zeit und Spielgeld 
runterzaehlen.


Trotzdem danke

von Karl H. (kbuchegg)


Lesenswert?

Sebastian Gregor schrieb:
> Hallo,
> ja , klar schreibe ich das Programm selber.

Na dann mach.
Das 'aufwändigste' ist der I2C Code. Eine runterzählende Uhr ist 
wahrlich keine Raktentechnik.

> gewöhnt, allerdings unter AIX und Linux. Ich finde es schon komisch, aus
> dem Flash heraus die Software laufen zu lassen.

Ein AVR-Programm ist so gesehen auch nicht viel anders in der 
Programmierung. Ok, so manches fehlt zwar, wie zb Ausgabe auf Konsole 
oder ein Filesystem und um dynamische Speicherverwaltung macht man 
besser einen großen Bogen. Allerdings braucht man auch nichts davon auf 
dem AVR in deiner Applikation.

Das Grundgerüst lautet:
1
int main()
2
{
3
  ... alle Hardware-Komponenten initialisieren
4
5
  ... eventuell ein sei(), wenn Interrupts im SPiel sind
6
7
  while( 1 )
8
  {
9
    .. Programmlogik
10
  }
11
}

Im Grunde ist das also nichts anderes als ein Programm, welches auf 
einem Linux endlaus laufen würde und rausgeschossen werden müsste, um es 
wieder los zu werden. Nur dass du letzteres auf einem AVR ja gar nicht 
willst. Das Teil soll laufen, solange der µC Strom hat.

von Max H. (hartl192)


Lesenswert?

Sebastian Gregor schrieb:
> Nein, ich wollte ueber einen I2C Bus die Display ansteuern
Hast du da schon eines im Kopf?

von Erdhahn (Gast)


Lesenswert?

Hallo,

ich habe von Pollin ein 810 145 LCD/I2C mit passenden Display besorgt.
Macht ja auch Sinn, alles über 2 oder 3 Leitung anzusteuern statt
ATMega mit diversen I/O ein 7 SEG -Display anzusteuern.

Es ist doch unwahrscheinlich, das ich der erste bin, der eine
"massgeschneiderte" Uhr braucht.

von Max H. (hartl192)


Lesenswert?

Ich würde mit mal das AVR-GCC-Tutorial/LCD-Ansteuerung durchlesen. 
Mit deinem I2C teil geht das gleich, nur dass du nicht direkt di IOs des 
AVR sondern über I2C die IOs des PCF8574 ansteuern musst.
Je nachdem wie viel du noch an den µC anschließen willst würde ich falls 
noch 6 IOs frei das LCD direkt an den µC anschließen, dann sparst du dir 
den Umweg über I2C.

von Erwin (Gast)


Lesenswert?

Das Bisschen Anzeige macht sogar ein Tiny24, mit
6 Port-Pins direkt an einem billigen und einfach
anzusteuernden Standard-LCD-Display.
Bleiben noch 5 Port-Pins für Tasten etc., wenn es
nicht quarz-genau sein muss.

Die Schaltung ist also NULL Problem.

Counnt-Down für Zeit und Spielgeld:

Auf einem 2x16 LCD-Display kannste Milliarden von
Spiel-Dollars (mit Cents) hoch und runterzählen.
Und Jahrhunderte mit 1 Sekunde Auflösung...

Wo hapert es denn an der Programmierung?
Die ist auf einem Xmega weder leichter, noch
schwerer.

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.