Forum: Mikrocontroller und Digitale Elektronik Buchstaben mit 7 Segment Anzeige


von commander (Gast)


Lesenswert?

Erstmal Hallo an alle

ich habe ein kleines problem. Ich soll einer freundin bei ihrer 
Abschlussarbeit helfen und ihr was bauen.
natürlich arbeitet man unter druck besser und deshalb muss das ganze 
natrülich schon am dienstag fertig sein.

im grunde genommen ist es eine 7 Segment anzeige. allerdings werden 7 
segmente inform von plexiglasplatten mit superhellen LEDs beleuchtet 
sodass sich an den schnittstellen das licht bricht und dadurch das 
einzelne Segment leuchtet.

Die buchstaben sollen nacheinander angezeigt werden.
es soll das wort LICHT rauskommen. (ja ich weis das man ein T nicht 
richtig anzeigen kann aber es sollen dann nur 3 Segmente leuchten also 
wird das T ungefähr so angezeigt:
  _
 |
 |       )
so das zum T um fragen aufzulösen :).

da meine letzt elektronische arbeit schon was zurückliegt muss ich hier 
mal um hilfe bitten.

ich hatte die idee das ganze mit einem Lauflichtbausatz von z.B conrad
(art. nr von conrad 190128 - 62)zu realisieren.
also einfach statt nur einer LED mehrere LEDs pro kanal anzusteuern.
nun ist meine frage ob das die ICs den Strom aushalten wenn ich mit 
einen Kanal maximal 5 LEDs ansteuer.

es ist ja auch die möglichkeit mit den ausgängen des lauflichtes 
Transistoren zu schalten. welche transistoren nehme ich da und wie 
verschalte ich die?

ich hoffe ich habe das ganze einigermassen verschtändlich erklärt.
vielen dank schonmal für die hilfe

liebe grüße
markus

von MaWin (Gast)


Lesenswert?

Nein, kann er nicht, der verwendete CD4049 schafft nur 2mA.
Statt Transistoren könnte ein ULN2003 sinnvoll sein, der enhält 7 (5 
brauchst du nur) und kommt AN STELLE des CD4049 in die Schaltung (leider 
nicht pin-kompatibel).
An den kannst du dann LED bis 500mA anschliessen. Normale LEDs werden 
nur 20mA brauchen, also ist selbst das H mit 5 parallelen LEDs und somit 
100mA locker im erlaubten Rahmen.

Die Conrad-Schaltung war SEHR sparsam gebaut. Du brauchst eine Handvoll 
Dioden (1N4148, pro LED eine, also 17 Stück) und eine Handvoll 
Vorwiderstände (an Stelle des 820 Ohm Widerstand R3 pro LED einen 270 
Ohm Widerstand) wenn du 9V als Versorgungsspannung nimmst, bei 12V 
solltest du 390 Ohm nehmen, 5V reichen nicht, schon gar nicht für 
blaue/weisse/tiefgrüne LEDs.

von lightninglord (Gast)


Lesenswert?

Hatte ein ähnliches Projekt bei mir in der Realschule, ist schon nen 
weilchen her. Eigentlich ganz einfach: Dein Lauflichtausgang auf eine 
Diodenmatrix, in der du die Segmente definierst und wann sie zu leuchten 
haben, und die ausgänge der matrix auf nen Transistor der dann die LED 
ansteuert. Ist bisschen Lötarbeit aber ganz easy.

von Lothar M. (lme)


Lesenswert?

Hmmm...
Du wirst die einzelnen Elemente der 7-Segmentanzeige mit Dioden 
entkoppeln müssen.
Die Schaltung von Conrad scheint mit gemeinsamen Anoden zu arbeiten.

Stell Dir die ersten beiden Buchstaben vor. L und I haben 2 gemeinsame
Segmente. Das L unterscheidet sich vom I durch ein zusätzliches Segment. 
Wenn Du das L leuchten lassen willst, müsstest Du die 3 Segmente 
gleichzeitig ansteuern. Verbindest Du sie einfach, dann könntest Du das 
I nicht mehr darstellen, weil das untere Segment immer mitleuchten 
würde. Für das L hattest Du ja alle 3 verbunden.
Also: Für jeden Buchstaben brauchst Du für jedes Segment, aus dem er 
besteht eine Diode. Alle Kathoden werden verbunden und die Anoden 
jeweils an ein Segment der Anzeige.
Durch die Dioden sind dann die Segment nicht mehr untereinander direkt 
verbunden. Steuerst Du dann die jeweils verbundenen Kathoden an, werden 
die Segmente wie gewünscht leuchten.
Die Conrad-Schaltung wird für 'normale' LEDs wohl nur schwer reichen.
Die verwenden (wenn ich's richtig erkenne) einen 4049 Buffer, der pro 
Ausgang etwa 10mA treiben kann. Also brauchst Du Low-Current LEDs.
Einzige Chance: Die 5 LEDs in Reihe schalten und die Schaltung mit 12V 
betreiben. Vorher prüfen, ob die Elkos das aushalten.
Der NE555 ist bis 18V gut. Die CD4049 und 4017 sollten das auch können, 
wenn es "echte" CD40.. sind.

Also:
- Die 5 Low-Current LEDs pro Segment in Reihe mit Anode an +12V
- Für jeden Buchstaben die Dioden zusammen löten. Kathoden zusammen und 
jeweils eine Anode an die Kathode der benötigten LED-Ketten.
- Die 5 Knotenpunkte (L I C H T) an die Ausgänge des 4049 der Schaltung, 
da wo im Original die LEDs angeschlossen werden.
- Finger kreuzen - einschalten
- Nächstes Mal früher fragen ;)

Hoffe, ich hab' nix vergessen.

  Lothar

von commander (Gast)


Lesenswert?

also was  lightninglord geschrieben hat höhrt sich ja einfach an und is 
ja auch so mein plan gewesen.

@ lothar:

kalr wird jedes einzelne segment angesteuert.

bis auf die 2 vordersten und die 2 hintersten werden zusammen 
gemauschelt und die quer segmente in der mitte einzeln damit kann ich 
die buchstaben die ich möchte anzeigen.

jetzt nochmal die frage welchen transistor kann ich nehmen der sich mit 
dem ausgangsstrom ansteuern lässt und die leistung aushält.

leider bin ich nicht mehr in meinen ausbildungsbetrieb da konnte ich das 
immer alles wunderbar ausprobiren und wenn einer geraucht hat dann hab 
ich halt einen anderen genommen. wir sind auch nie so tief in die 
elektronik eingestiegen um den ganzen spass zu berechnen.

gruß
markus

von Lothar M. (lme)


Lesenswert?

Hab' gerade geschaut: Die Conrad Schaltung ist bis 15V Spezifiziert.
Geht also.

Transistoren: Nicht nötig, wenn Du die LEDs in Reihe schaltest.

Stimmt, manche Segmente leuchten bei jedem Buchstaben. Vereinfacht die 
Sache etwas, aber das Prinzip bleibt gleich.

Das T lässt sich übrigens auch sehr schön als Kleinbuchstabe mit 4 
Segmenten nachbilden:

|_
|_

von commander (Gast)


Lesenswert?

also du meinst der ic hält 40 mA am ausgang aus? ich mein im Datenblatt 
gelesen zu haben das der nur 15 mA aushält.

mit dem T hast du recht ein kleines t sieht da natürlich besser aus 
allerdings wird dann der eingang mit 6 mA belastet das hält der IC 
ziemlich sicher nicht aus.

mit dem Ausgang einfach einen Transistor ansteuern wäre glaub ich die 
einfachste möglichkeit.

und hinter die ausgänge eine diode setzen damit keine rückspannung auf 
die ausgänge des Ics kommt.

von commander (Gast)


Lesenswert?

also einfach so
(habs bei nem hoster hochgeladen da ich net registriert bin)

http://img338.imageshack.us/img338/1347/schaltung.jpg

immernoch die frage welchen transistor und welche diode

von Lothar M. (lme)


Lesenswert?

ARRgh!!!
Sorry - geht doch nicht ohne Transistoren.
Für das C und H musst Du ja nicht nur den mittleren Balken einschalten, 
sondern auch die beiden rechten Segmente, bzw oben und unten!
Für diese brauchst Du einen Transistor.

Bei 5 LEDs pro Segment und 12V brauchst Du dann pro Segment (5 LEDs) 
einen Widerstand von 220 Ohm.
Kathode der letzten LED in der Kette an Masse.
Emitter des Transistors an +12V
Collector über den Widerstand an Anode der ersten LED.
Basis über z.B. 4,7K an die Schaltung.
Als Transistor ein Wald-und-Wiesen PNP (z.B. BC557B)

  Lothar

von Lothar M. (lme)


Lesenswert?

Denk' dran, dass die Conrad-Schaltung 'invertiert' arbeitet.
Wenn eine LED leuchten soll, wird der entsprechende Ausgang der
Schaltung low.
Also muss in Deinem Bild die Diode an der Basis (braucht man die dann 
überhaupt?) umgedreht werden.
Transistor und Widerstände siehe oben.

Wenn Du das Ganze mit 9 V betreiben willst, kannst Du die 5 LEDs nicht 
mehr in Reihe schalten.
LEDs parallel heisst dann: Pro LED ein Vorwiderstand von 680 Ohm
Besser: 6 LEDs verteilt auf 2 parallel geschaltete 3-LED-Ketten. Jede 
Kette
bräuchte dann einen Vorwiderstand von 270 Ohm

 Lothar

von commander (Gast)


Lesenswert?

also ich habe mich ncohmal meiner paint künste bedient :P

http://img32.imageshack.us/img32/1347/schaltung.jpg

das ganze wird übrigens mit einem 9V block versorgt.

bei den segmenten bei denen immer 2 leuchten werden die LEDs in reihe 
geschalter und davor kommt ein 250 Ohm widerstand.

meinst so würde es funtionieren?

von Lothar M. (lme)


Lesenswert?

Wie gesagt: Bei 9 V kannst Du die 5 LEDs nicht mehr in Reihe schalten.
Jede LED braucht so etwa 2V 'zum leben'.
Bei 5 LEDs wären das aber schon 10V

Ich meine sowas:

   +--|>|--|>|--|>|--[==]--+
---|                       |--
   +--|>|--|>|--|>|--[==]--+

von commander (Gast)


Lesenswert?

naja ich will ja mit einem ausgang mehrere LEDs einzeln schalten.
d.h.
wenn ausgang 1 kommt (für das L) will ich |
                                          |_

also transistor für die beiden ersten LEDs also der Balken nach oben und 
transistor (z.B nr 3) für das untere Segment.

bei ausgang 2 (für I) |
                      |

also es wird nur transistor 1 angesteuert

Ausgang 3 für C  _
                |
                |_

Transistor 1 (linke 2 segmente) und Transistor 3 (unteres Segment) 
Transistor 2 (oberes Segment)

von Lothar M. (lme)


Lesenswert?

Ja, schon klar.
Was ich gezeichnet habe (mit den 6 LEDs) ist auch nur für ein einziges 
Segment gemeint.
Wenn Du nur 9V zur Verfügung hast, bleibt Dir nichts anderes übrig, als 
die LEDs zumindest teilweise parallel zu schalten.
Die Spannung reicht einfach nicht für 5 oder 6 LEDs in Reihe.

Oder hab' ich jetzt ein Verständnisproblem?

  Lothar

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

commander schrieb:
> Erstmal Hallo an alle
>
> ich habe ein kleines problem. Ich soll einer freundin bei ihrer
> Abschlussarbeit helfen und ihr was bauen.
> natürlich arbeitet man unter druck besser und deshalb muss das ganze
> natrülich schon am dienstag fertig sein.

Sag ma... sonst geht's Dir schon noch gut, oder?

von Hubert G. (hubertg)


Angehängte Dateien:

Lesenswert?

Also deine elektronik-Zeit ist schon sehr lange her. So etwas machen bei 
uns Lehrlinge im 1. Lehrjahr.
Ich nehme mal an das du so etwas willst.
Je Segment ein Transistor, Basisvorwiderstand 2k2, Serienwiderstand der 
Led musst du dir ausrechnen.

von Lothar M. (lme)


Lesenswert?

@hubertg

Yep!
Genau so meinte ich das mit dem Entkoppeln durch Dioden.
Ein Bild sagt eben mehr als 1000 Worte.

Lothar

von lightninglord (Gast)


Lesenswert?

juhu da ist ja meine Diodenmatrix, nur hald anders im Schaltplan 
angeordnet, da werden erinnerungen wach.

Einfach in diesem Stile aufbauen, geht super auf Lochraster. Aber 
vorsicht das ist nur ein googel-beispiel-bild, nicht deine matrix ;-)

http://www.qth.at/oe7opj/images2/K9AY_matrix.gif

von Flow (Gast)


Lesenswert?

@MaWin
> Nein, kann er nicht, der verwendete CD4049 schafft nur 2mA.

Warum nennt er sich dann Treiber?
Meine Datenbücher sagen: Isink bei 15V typisch 48mA.

von Vlad T. (vlad_tepesch)


Lesenswert?

wenn du keine Treiber/Transistoren benutzen willst, dann steuer doch 
immer nur ein oder zwei Segmente gleichzeitig.

das heißt erst segmente ab, dann cd, dann ef, dann gp
dann wieder von vorn

das machst du so schnell, dass der eindruck entsteht, dass sie alle an 
sind,


Hat den Vorteil, dass du ohne zusatzbaustein auskommt.

von Vlad T. (vlad_tepesch)


Lesenswert?

ich hatte für sowas schon mal ein Alphabet gemacht:

1
#define BINARY(b7, b6, b5, b4, b3, b2, b1, b0) \
2
        (  ((b7)<<7) | ((b6)<<6) | ((b5)<<5) | ((b4)<<4) \
3
         | ((b3)<<3) | ((b2)<<2) | ((b1)<<1) | ((b0)<<0))
4
5
6
static const uint8_t sevSegData[] = 
7
{
8
        /* p g f e d c b a        */
9
  BINARY(  0,0,1,1,1,1,1,1), /* 0 */
10
  BINARY(  0,0,0,0,0,1,1,0), /* 1 */
11
  BINARY(  0,1,0,1,1,0,1,1), /* 2 */
12
  BINARY(  0,1,0,0,1,1,1,1), /* 3 */
13
  BINARY(  0,1,1,0,0,1,1,0), /* 4 */
14
  BINARY(  0,1,1,0,1,1,0,1), /* 5 */
15
  BINARY(  0,1,1,1,1,1,0,1), /* 6 */
16
  BINARY(  0,0,0,0,0,1,1,1), /* 7 */
17
  BINARY(  0,1,1,1,1,1,1,1), /* 8 */
18
  BINARY(  0,1,1,0,1,1,1,1), /* 9 */
19
  BINARY(  0,1,1,1,0,1,1,1), /* A */
20
  BINARY(  0,1,1,1,1,1,0,0), /* b */
21
  BINARY(  0,1,0,1,1,0,0,0), /* c */
22
  BINARY(  0,1,0,1,1,1,1,0), /* d */
23
  BINARY(  0,1,1,1,1,0,0,1), /* E */
24
  BINARY(  0,1,1,1,0,0,0,1), /* F */
25
  BINARY(  0,1,1,1,1,1,0,1), /* G */
26
  BINARY(  0,1,1,1,0,1,0,0), /* h */
27
  BINARY(  0,0,0,0,0,1,1,0), /* I */
28
  BINARY(  0,0,0,0,1,1,1,0), /* J */
29
  BINARY(  0,1,1,1,0,1,1,0), /* K */
30
  BINARY(  0,0,1,1,1,0,0,0), /* L */
31
  BINARY(  0,0,1,1,0,1,1,1), /* M */
32
  BINARY(  0,1,0,1,0,1,0,0), /* n */
33
  BINARY(  0,1,0,1,1,1,0,0), /* o */
34
  BINARY(  0,1,1,1,0,0,1,1), /* P */
35
  BINARY(  1,1,0,1,1,1,0,0), /* Q (o.) */
36
  BINARY(  0,1,0,1,0,0,0,0), /* r */
37
  BINARY(  0,1,1,0,1,1,0,1), /* S */
38
  BINARY(  0,1,1,1,1,0,0,0), /* t */
39
  BINARY(  0,0,1,1,1,1,1,0), /* U */
40
  BINARY(  0,0,0,1,1,1,0,0), /* v */
41
  BINARY(  0,0,0,1,1,1,0,0), /* w (=v) */
42
  BINARY(  0,1,1,1,0,1,1,0), /* X (=H) */
43
  BINARY(  0,1,1,0,0,1,1,0), /* Y */
44
  BINARY(  0,1,0,1,1,0,1,1), /* Z */
45
};

von MaWin (Gast)


Lesenswert?

> > Nein, kann er nicht, der verwendete CD4049 schafft nur 2mA.
> Meine Datenbücher sagen: Isink bei 15V typisch 48mA.

Ich hab vorher extra im Datenblat nachgeguckt,
dummerweise in der Spalte 4049UB, unbuffered. Hmm.

von Rudi D. (rulixa)


Lesenswert?

commander schrieb:
> Erstmal Hallo an alle
>
> ich habe ein kleines problem. Ich soll einer freundin bei ihrer
> Abschlussarbeit helfen und ihr was bauen.
> natürlich arbeitet man unter druck besser und deshalb muss das ganze
> natrülich schon am dienstag fertig sein.
>
> im grunde genommen ist es eine 7 Segment anzeige. allerdings werden 7
> segmente inform von plexiglasplatten mit superhellen LEDs beleuchtet
> sodass sich an den schnittstellen das licht bricht und dadurch das
> einzelne Segment leuchtet.
>
> Die buchstaben sollen nacheinander angezeigt werden.
> es soll das wort LICHT rauskommen. (ja ich weis das man ein T nicht
> richtig anzeigen kann aber es sollen dann nur 3 Segmente leuchten also
> wird das T ungefähr so angezeigt:
>   _
>  |
>  |       )
> so das zum T um fragen aufzulösen :).
>
> da meine letzt elektronische arbeit schon was zurückliegt muss ich hier
> mal um hilfe bitten.
>
> ich hatte die idee das ganze mit einem Lauflichtbausatz von z.B conrad
> (art. nr von conrad 190128 - 62)zu realisieren.
> also einfach statt nur einer LED mehrere LEDs pro kanal anzusteuern.
> nun ist meine frage ob das die ICs den Strom aushalten wenn ich mit
> einen Kanal maximal 5 LEDs ansteuer.
>
> es ist ja auch die möglichkeit mit den ausgängen des lauflichtes
> Transistoren zu schalten. welche transistoren nehme ich da und wie
> verschalte ich die?
>
> ich hoffe ich habe das ganze einigermassen verschtändlich erklärt.
> vielen dank schonmal für die hilfe
>
> liebe grüße
> markus

http://www.elo-web.de/elo/mikrocontroller-und-programmierung/avr-anwendungen/vfd-display

Da drin steckt auch eine Tabelle für alfanum. mit 7 Segment.
Die Tabelle gilt aber nur für dieses PCB Layout.
Ein Lauflicht geht dann via RS232 zu realisieren.
Oder als ATtiny2313 Programm.

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.