PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 7 segment an atmega8



xbgamer
31.01.2007, 18:03
hallo,
ich will mir auch ein belichtungsgerät bauen. meines soll aber net so eins sein wo nur die sekunden anzeigt sondern eben auch die minuten. ich denke 9minuten und 59sekunden dürften reichen.

wie realisiere ich dass? ich weiß ich frag dauernd irgendwie dass selbe aber weiß es eben nicht besser.
ich habe schon gehört dass ich die 7 segment anzeige direkt an den controller anschließen kann habs aber immer sonst extern gemacht sprich einen takt mit dem controller erzeugt und dann auf die segment anzeigen gegangen.

aber um einen takt hinzubekommen brauch ich ja net en controller da kann ich auch nen ne555 nehmen.

also könnt ihr mir trotz allem dass mal erklären?

xbgamer
01.02.2007, 09:05
keine ne ahnung? wenns nicht geht kann mans auch nur mit sekunden verwirklichen.

Hanni
01.02.2007, 15:51
http://www.google.de/search?q=ansteuern+7segment+mikrocontroller&ie=utf-8&oe=utf-8&rls=org.mozilla:de:official&client=firefox-a

veit
01.02.2007, 17:14
äääh willst es jetz mit nem controller machen oder nich?

hab ne 4-stellige 7-segment mit nem atmel8515 gemacht.
hab die 4 dinger parallel geschaltet und jeweils die gemeinsame kathode an nen transistor, dann per software ganz simpel gemultiplext ...

was brauchst?

robo.fr
01.02.2007, 21:08
Hallo xbgamer,

man kann eine 4 stellige Siebensegmentanzeige einfach mit 4 Vorwiderständen direkt an einen Atmega8 anschließen. Man kann dann jeweils 4 Segmente ( eins in jeder Anzeige ) gleichzeitig ansteuern und nacheinander alle sieben Segmente durchlaufen.

Hier ( http://www.roboterclub-freiburg.de ) kannst Du ein Bild sehen, bei dem ein Atmega8 eine Siebensegmentanzeig auf einem Steckbreitt ansteuert ( ganz unten ).

Gruss,
robo

xbgamer
04.02.2007, 13:03
he cool aus freiburg komme aus der nähe offenburg.

ja will 4x 7 segment anzeigen parallel haben aber wie schließe ich die genau an. und des mit dem multiplexer per avr könnte dass jemand auch nochmal erklären. will also erst mal so den schaltplan wie ich alles verdrahte. des programmieren bleibt dann erst mal außen vor.

veit
04.02.2007, 14:36
also hier kleine kurzfassung:

ein 7 segment hat 8 anschlüsse, 7 mal + und ein gemeinsames - (oder umgekehrt)

die 7 + der vier anzeigen schaltest du parallel (das ist ne menge lötarbeit)

dann hast noch die 4 -
die musst du jeweils an einen transistor hängen (z.b. bc557), und zwar an den collektor.
den emitter des transistors an masse, die basis wiederrum an den mikrocontroller (mit einem 1k vorwiderstand).
(also jetzt 7+4=11 pins vom controller)

falls noch verständnisprobleme kann ich mal kucken ob ich noch irgendwo ne zeichnung oder sowas habe.


zur software: du musst natürlich dann rausfummeln welche pins du schalten musst um welches zeichen auf der anzeige zu sehen.
das multiplexen ist dann sehr leicht:
z.b. wenn du 13:59 auf der anzeige haben willst:

- ersten transistor an, die andern drei aus
- die zwei pins für die "1" anschalten
- 5ms so lassen
- transistor wieder aus
- die pins für die "3" anschalten (sind dann 5 pins)
- den zweiten transistor an
- 5ms so lassen

usw usw

hab gerade ein bild von meiner allerersten mikrocontroller schaltung gefunden, das ist zweistellig multiplex-anzeige:

http://veitklub.de/pics/atmel/atmel.jpg

veit
04.02.2007, 14:41
hab tatsächlich auch einen schaltplan gefunden .... naja schaltplan ....

das is ein plan wie man auf einer lochstreifenplatine das ganze aufbaut ...
also die horizontalen linien sind leitend und die x sind leiterbahnunterbrechungen.

hoffe damit geholfen zu haben


http://veitklub.de/pics/atmel/bomb06.jpg

xbgamer
04.02.2007, 19:44
also danke schon mal aber nochmal langsam für mich ich kann mir dass nämlich nicht ganz vorstellen wie ich mit 7 ausgängen vom avr 4 segmente ansteuern kann.

ich hab hier jetzt mal versichshalber 7 leds die ich in portc 0-5 und in Portb.5 jeweils gesteckt habe.

is dass jetzt so mal richtig. ich habe auch die möglichkeit nocheinmal 7 leds anzuschließen um eventuel dass 2 segment zu simulieren. aber kann mir jemand mal dass prinzip erklären wenn das erste segment 9 anzeigt dass das 2 dann auf 1 umstellt.
wenns in reihe is kapier ichs net.

veit
05.02.2007, 01:00
jajaja also von vorn:

es leuchtet immer nur eine der vier anzeigen!
die erste kurz, dann die zweite, dann die dritte, dann die vierte.
das ganze passiert so schnell dass du es nicht sehen kannst.

wenn du also mit deinen 7 led´s das ganze simulieren willst, muss du die gemeinsame masse auf einen pin legen, also pro segment. 7 led´s jeweils auf 7 pins, dann die masse nochmal über einen pin. beim zweiten segment die 7 auf die gleichen pins, die masse aber auf nen eigenen (über den transistor, der atmel packt das nicht)

wenn jedes segment 5ms leuchtet merkst du nix davon!

jetzt klarer?

Hanni
05.02.2007, 07:35
Siehe Anhang !!

*fünfzehnzeichen*

Ringo
05.02.2007, 17:06
Hallo!

Habe auch grad vor eine etwas umfangreichere 7 Segment Anzeige zu basteln! Wollte jetzt nur mal fragen wieviele Segmente ein AVR mit 8Mhz (16Mhz) schafft?

Also weiter oben schreibt einer nach jedem Segment 5ms warten.
Wäre also 20ms für die ganze Anzeige.
was einer Bildfrequenz von 50Hz entsprechen müsste? oder?

das Auge sieht glaube ich bis 24 Bilder pro Sekunde alles zusammenhängend.
das wären 41ms für die ganzen Anzeigen.
Wenn ich jetzt statt 5ms nur 1 warte kann ich dann schon 4*4Segmente = 16 Segmente antsteuern?

Das Setzen von Ports dauert ja nicht solange bei einem AVR.

MfG
Ringo

veit
05.02.2007, 17:43
wenn du noch pins zu verfügung hast kannst du ja 2x 7 pins nehmen.

problem ist die helligkeit, je mehr anzeigen desto dunkler.

wenn du an nem atmel komplette 4 ports frei hast bräuchtest gar nicht multiplexen ...

Hanni
05.02.2007, 19:44
Wer es einfach will nimmt einen Maxim 7219 / 7221.
Damit kann man sehr einfach 8 / Segment Anzeigen ansteuern. Man braucht sich nicht um Vorwiderstände zu kümmern und man hat keine Sorge mit Zeiten fürs Multiplexing.
Die einzige Voraussetzung zur Nutzung dieses Chips ist das Studium des entsprechenden Datenblattes und eine verstandene SPI am Mikrocontroller.

Grüße,
Hanni