www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik eigenes 7-Segment aus LEDs


Autor: Martin Petzold (mrp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin relativ neu auf dem Sektor Elektronik und Mikrocontroller, bitte 
dumme, leichte Fragen entschuldigen ;-)

Also ich würde gerne 7 einzelne LEDs ansteuern um damit Ziffern 
darzustellen, quasi eine 7-segment Anzeige. Da es aber relativ groß 
werden soll, besteht es eben aus 7 einzeln ansteurbaren LEDs (und nicht 
einem fertigen 7-segment Modul).

Meine ersten Versuche mit einem Atmega-16 diese 7 LEDs einzeln 
anzusteuern sind schon erfolgreich :-). Ich schalte aktuell 7 Pins eines 
Ports einzeln. Also sage ich z.B. Pin1, Pin2, Pin3, Pin4 auf High für ne 
1 oder so eben.

Nun will ich aber gerne mehrere solcher "Ziffern" (genauer gesagt 4) 
ansteuern und verbrauche dafür immer einen ganzen Port...wie geht es 
besser und Port sparender??? Ich brauch da noch ein paar Pins als 
Eingänge und auch Interrupts etc...

...ich hab was von wegen LED-Treiber gelesen oder so?!

vielen Dank für jeden Tipp und Hilfe!

P.S. Wie wird denn ein fertiges 7-segment vom Mikrocontroller aus 
angesteuert?! Hat da jemand vielleicht nen Link oder Tutorial...?

Autor: klugscheissender Rahul, manchmal auch fies (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stichwort: "Multiplexing"

Autor: anworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bemühe mal die Forensuche (Stichwort "Segment") - da kommen zig Threads, 
in denen ganz sicher die Antworten auf Deine Fragen stehen

Viel Erfolg

Autor: Martin Petzold (mrp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, ich habe nun verstaneden, ich könnte einen BCD -> 7-segment 
Baustein (IC?!) nehmen, damit spare ich mir ein paar Pins, würde mir 
auch schon reichen, 4 Pins sind okay...welchen Baustein könnt ihr mir 
empfehlen?!

Autor: anworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ruhig weiterlesen.... schieberegister, charlieplexing, treiber-ICs....

alles schon lang und breit beredet worden

Autor: klugscheissender Rahul, manchmal auch fies (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich habe nun verstaneden

Nö, hast du nicht.

>ich könnte einen BCD -> 7-segment
Ja, könntest du.
Du könntest aber auch (solltest eher) deine Anzeigen Multiplexen.
Dazu schaltet man die Anzeigen quasi parallel.
Jede Anzeige hat 7-8 Eingänge um die einzelnen Segmente (z.B. Anode) 
anzusteuern und einen Eingang, mit dem alle Segmente verbunden sind 
(Kathode).

Zwecks Multiplexing werden die Anoden aller Segmente auf einen Port 
gelegt (alle a-Segment-Eingänge zusammen, alle B-Segment-Eingänge 
zusammen,...).
Für jede Anzeige gibt es dann eine Kathode. Diese Anschlüsse werden der 
Reihe nach durchgetickert (so, dass immer nur eine Anzeige eingeschaltet 
ist). Und die entpechende Ziffer auf dem Anoden-Port liegt.

Guck einfach ins Wiki!

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der Unterschied zwischen Deiner Einzel-LED-Lösung und einer fertigen 
7-Segment-Anzeige besteht genau darin, daß Du die Dinger allein 
zusammenlöten und befestigen mußt...

Ansonsten sind es eben auch nur 7-Segment-Anzeigen und dazu gibt es 
Beispiele in Hülle und Fülle, einige Hinweise gab es ja schon.

Gruß aus Berlin
Michael

Autor: Martin Petzold (mrp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, danke...ich hab aber keine Anzeige sondern 7 einzelne LEDs aber 
okay...

Hatte grade bei google den 74LS47 gefunden, der würde meinen oben 
genannten Zweck erfüllen, leider finde ich den weder bei Reichelt noch 
Conrad...wie heissen diesen Zweck erfüllende ICs da?

P.S. welches Wiki, wo ist das? Also link im Menü sind keine Artikel dazu 
(zumindest finde ich sie nicht)

Autor: klugscheissender Rahul, manchmal auch fies (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich hab aber keine Anzeige sondern 7 einzelne LEDs
Was ist der Unterschied zwischen 7 einzelnen LEDs und einer 
Siebensegmentanzeige? Höchstens die räumliche Anordnung.

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hm, danke...ich hab aber keine Anzeige sondern 7 einzelne LEDs aber
> okay...

Eine fertige Anzeige sind auch nur 7 Leds (8: den Kommapunkt
wollen wir nicht vergessen) in einem gemeinsamen Gehäuse.

Den BCD Decoder würde ich mir sparen. Anstelle von 4
Pins deren 7 zu nehmen, sollte machbar sein. Und ich
habe den Bonus, dass ich mit den LEDs nicht nur die
Ziffern von 0 bis 9, sondern acuh noch ein paar
Sonderzeichen darstellen kann. Von coolen Einschalt-
animationen erst mal gar nicht zu reden.

Autor: klugscheissender Rahul, manchmal auch fies (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/articles/Spezial:Allpages

>Hatte grade bei google den 74LS47 gefunden, der würde meinen oben
>genannten Zweck erfüllen, leider finde ich den weder bei Reichelt noch
>Conrad...wie heissen diesen Zweck erfüllende ICs da?

Liegt vermutlich daran, dass der Chip abgekündigt ist. Niemand braucht 
heutzutage noch BCD zu Siebensegment-Decoder (zumindest nicht für 
Neuentwicklungen, und wer sowas zwecks Reparatur noch bracuht, sollte 
sich über eine Neuentwicklung / "redesign" Gedanken machen).


Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anschliessen kannst du die LED-Module zb. so wie hier

http://www.sprut.de/electronic/pic/projekte/thermo...

ist zwar für einen PIC, es geht aber ums Prinzip der
Ansteuerung mehrerer 7-Segment Anzeigen.

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir jetzt auch mal "Charlieplexing" angeschaut, eine Erfindung 
von Maxim - "developed by Charlie Allen", die auch LEDs in Sperrichtung 
betreibt, und damit noch mehr Pins spart. Applikation hier:
http://www.maxim-ic.com/appnotes.cfm/appnote_number/1880
http://en.wikipedia.org/wiki/Charlieplexing

Autor: klugscheissender Rahul, manchmal auch fies (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich hab mir jetzt auch mal "Charlieplexing" angeschaut,
Freut mich.

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt doch immer noch 7-Segment-Decoder zu kaufen, außer den 74xx47 
noch 74xx247, CD oder 74HC4543 der auch für LCD brauchbar ist, oder 
CD4511. Die alten CD-Typen sind allerdings etwas zu schwach zum 
Multiplexen.

Für eine Anzeige aus einzelnen LEDs wäre eine Streuscheibe sinnvoll, 
sonst sieht mal die einzelnen Lichtpunkte

Autor: Martin Petzold (mrp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Sowohl Multiplexing als auch alles andere Verstanden :-)!

nun ziehen meine LEDs 90mA pro Pin und brauchen zudem 12V, etwas viel 
für den Atmega-16 oder?

Muss ich nun also vor jeden Pin noch nen Transistor setzen, oder? 
Welcher wäre das am Besten =)?

Autor: klugscheissender Rahul, manchmal auch fies (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dafür gibts wieder die ULN2xxx Treiber, Transistoren für 8 LEDs in einem 
IC

> ruhig weiterlesen.... schieberegister, charlieplexing, treiber-ICs....
was fehlt noch?

Ich halte nicht soviel von gemultiplexten LEDs, das gibt ziemliche 
Knattergeräusche im Radio. Man kann die schlecht abschirmen, und die 
strahlende Fläche ist ziemlich groß. LCD haben weniger Energie

Autor: Martin Petzold (mrp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, nur mal damit ich nicht falsch bestelle:

Ich schliesse mein 7-Segment-Modul (weil es ja 12V mit je 90mA braucht = 
zuviel für meinen Controller selbst) über ein Darlington-Array ULN2003A 
und das über einen 74HC4543 an 4 Pins meines Controllers. Im Grunde 
brauch ich da doch auch nichts mehr an Widerständen oder so?!

...funktioniert das, alles bedacht :-)?

Autor: A. F. (artur-f) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@∀ℜτ∪ℜ ΦΥΗΚ (artur-f)

>Schaue dir diesen IC an:
>http://www.maxim-ic.com/appnotes.cfm/an_pk/141

Schau dir mal das Alter des Threads an . . .

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.