PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie 7-Segment-Anzeige schalten ?



Elu
09.03.2008, 21:34
Hallo, ich befasse mich zum ersten Mal mit einer 7-Segment-Anzeige und habe vergeblich nach einer genauen Beschreibung der erforderlichen Schaltung gegoogelt.
Ich möchte die jeweils mittels eines Stufenschalters eingeschalteten Stufen von 0 bis 9 anzeigen. Als Spannung steht 5 Volt zur Verfügung. Ich habe lediglich herausbekommen, dass man dazu noch einen Siebensegmentdekoder der Baureihe 74L.... benötigt.
Für Hinweise auf spezielle Fundstellen im Internet oder auch mehr (direkte Erläuterung) wäre ich dankbar.
Elu

Hubert.G
09.03.2008, 21:58
Wenn du nur eine Stelle hast dann brauchst du nur ein paar Dioden 1N4148 und keinen IC.

Hubert.G
09.03.2008, 22:33
Das sieht dann etwa so aus.
Es gibt aber zwei verschiedene Arten von Display. Da muss man dann die Spannung und Dioden umdrehen.

Elu
10.03.2008, 11:51
Hallo Hubert, vielen Dank. Solch einen Schaltplan habe ich vergeblich gesucht. Jetzt weiß ich Bescheid.
Gruß Elu O:)

Elu
10.03.2008, 12:54
Hallo, Hubert und andere Spezies. Nachdem ich mir die Schaltung genauer angesehen habe, habe ich noch die Frage, ob sich auch bei der nur einstelligen Anzeige der Schaltungs-Aufwand mittels ICs reduzieren lässt. Auch an einer Schaltung für eine zweistellige Anzeige wäre ich interessiert.
Gruß Elu

Ratber
10.03.2008, 14:40
Hehehe, ja die alte Diodenlogik ist zwar net aber nun wirklich nicht mehr Zeitgemäß.

Wenn schon dann Dekoder und Dezimal zu BCD-Converter dazu.

Aber so aus dem Stehgreif würde ich alles mit einem Controller erschlagen.
Ain Atiny24 reicvht schon.
Er kann das 7-seg. Display ansteuern (Egal ob Gem Anode/Kathode. Auch Zwei- oder Mehrstellig mit weiteren Transen)sofern du Low-Current Displays verwendest oder Multiplexing betreibst
Dazu bietet er einen AD-Wandler für deinen Eingang und vieles mehr.
Aber jedenfalls alles in einem Chip plus eine Hand voll Programmzeilen für wenig Geld.

Such dir was aus. ;)

Elu
10.03.2008, 16:46
Hallo, Ratber, was soll ich aussuchen, wenn ich keine Ahnung davon habe. Ich dachte, jemand verrät mir einenen entsprechenden Schaltplan oder gibt mir vielleicht Links zu einschlägigen Seiten.
Gruß Elu

Ratber
10.03.2008, 17:22
Oh !

Ja, Sorry aber einen mundfertigen Plan hab ich auch nicht zur Hand und momentan auch keinen Trieb einen zu zeichnen.

Vieleicht einer der anderen ?......

deSilva
10.03.2008, 17:56
Ein üblicher (74HC) 4511 kostet um 30 cents, aber er hat natürlich einen "BCD" Eingang. Ideal natürlcih, wenn es einen BCD-kodierten Ausgang gibt...

TheHawk
10.03.2008, 18:17
Eben noch einen Dezimal zu BCD Decoder dranhängen. Dieser hat zehn Eingänge für 0 bis 9 und gibt diesen als BCD Code aus welchen der BCD-to-7-Segment-Decoder auswerten kann.

Elu
10.03.2008, 19:42
Hallo, liebe Freunde, ich habe großen Respekt vor Euren speziellen Kenntnissen, aber Ihr redet vollkommen über meinen Kopf hinweg. Letztendlich würde mir ein Link genügen, der mein Problem des Anschlusses einer ein- bzw. zweistelligen 7-Segment-Anzeige mittels ICs als Schaltplan darstellt. Für einen entsprechenden Hinweis bin ich sehr dankbar.
Gruß Elu

oratus sum
10.03.2008, 20:05
Ich habe ehrlichgesagt auch das gleiche Problem! Mal ne Frage:

Was ist ein BCD-Decoder bzw was ist überhaupt BCD?

Hubert.G
10.03.2008, 20:55
Das mit den Dioden ist natürlich antiquiert, für einen Anfänger aber sicher übersichtlicher.
Einen Link habe ich leider nicht, schau mir das in den diversen Datenblätter an.
Mit einem IC geht es nicht, du brauchst zwei. Einen 74HC147 als Dezimal zu BCD Encoder und danach einen 74HC4511 als Decoder/Treiber für das 7-Segment. Die 7-Segmentanzeige braucht dafür allerdings Common-Cathode, im Gegensatz zu meiner Zeichnung, die hat Common-Anode. Merkmal ist das CC oder CA an einem oder zwei Pin der Anzeige. Diese Kombination kannst du beliebig aneinander reihen.
BCD ist nichts anderes als die 4Bit, binäre, Darstellung einer Zahl von 0 bis 15, wobei das A aus bequemlichkeit unterschlagen wurde, ist aber so allgemein Gültig.

Edit: Vorsicht bei den von mir angegebenen ICs, die passen nicht zusammen.

Hessibaby
11.03.2008, 08:32
BCD = Binary Coded Dezimal ( Binär Codiertes Zehnersystem ) , also nix unterschlagen :-)

Für den Start mit BCD Dezimal und umgekehrt www.elektronik-kompendium.de

Grundlagen der Digitaltechnik

Und Zahlensysteme sind laut Lehrplan Stoff der 5. und 6. Klasse

Hubert.G
11.03.2008, 09:09
"Hessibaby" hat natürlich Recht mit seiner Erklärung über BCD, allerdings sind Standards dazu da um sich nicht daran zu halten. Der 7447 dekodiert von 0 bis 15.
"TheHawk" Es wäre schön wenn es so einfach ginge, ich finde auf die Schnelle keinen Dezimal-to-BCD-Encoder der richtig codiert das man gleich einen BCD-to-7-Segment Dekoder dranhängen kann. Man müss immer noch einen Inverter dazwischen schalten. Ob sich der Aufwand lohnt, da würde ich doch gleich mit Dioden codieren.

Hessibaby
11.03.2008, 09:35
Der 74x147 dekodiert Dezimal zu BCD, der 74x47 macht aus BCD das 7 Segment Geraffel.
Allerdings würde ich auch die Dioden-Geschichte ( zum Üben optimal ) machen.
Wahrheitstabelle erstellen und gut ist.

Ratber
11.03.2008, 10:36
Ja ganz lustig mal eben 49 Dioden pro Stelle zu verbraten.


@Elu

Mir fält auf das du auch eine zweite Stelle in betracht ziehst.
Mit einem einfachen Stufenschalter für alle ist das aber nicht machbar bzw. ist mir kein Stufenschalter bekannt der 99 bzw. 100 Stufen hat.

Was mich dann zu der Frage bringt ob du evtl. einen Incrementalgeber meinst also kindlich gesprochen die Dinger die man mittlerweile oft an Autoradios und Hifikomponenten findet ?
Oder meintest du Binär kodierende Schalter (Dreh- bzw. Knopfbedienung mit mech. Anzeige) ?

Oder meintest du "pro Stelle einen Drehschalter" ?


Gib doch einfach einige angaben was du damit machen willst dann kann man auch besser beraten.

Hessibaby
11.03.2008, 10:52
Wieso 49 ( willst Du Lotto spielen ? ) Stimmt aber !

100 Stück 1N4148 gibt´s bei Ebay für 1 Euro

Gruß

Ratber
11.03.2008, 11:02
Wieso 49 ( willst Du Lotto spielen ? ) Stimmt aber !


Gruß


Stimmt oder zweifelst du an ?

Ich hab die Zahl noch im Gedächtnis von früher.
Von jeder Schalterstellung geht eine Diode an jedes betroffene Segment.

Die "0" hat 6 Segmente
Die "1" 2
"2" 5
"3" 5
.
..
...
"9" 6

Macht zusammen 49 wenn ich richtig gerechnet habe.
Bei 6 und 9 kann man noch jeweils ein Segment einsparen dann sind es 47 aber dafür sieht es schlechter aus (Nur meine Meinung).


Nein ich spiele kein Lotto, da sind mir die chancen zu schlecht ;) :lol:

Elu
11.03.2008, 11:42
Hallo, Rather, mir ist klar, dass ich mit einem Stufenschalter keine zweite Stelle aus den von Dir genannten Gründen schalten kann. Das sollte nur eine Frage von mir sein, um in die ganze Problematik hineinzukommen, die für mich als Nichtelektroniker völliges Neuland ist.
Inzwischen habe ich in der Literatur eine Schaltung gefunden, mit der man einen mehrstelligen Zähler realisieren kann. Die Schaltung ist zwar für meinen Anwendungsfall (Anzeige einer Schalterstellung) nicht geeignet, stellt aber eine Lösung vor, über die in diesem Thread bisher nur allgemein geschrieben wurde.
Die Schaltung ist aus Alfre Härtl "Optoelektronik in der Praxis". Ich dagegen werde, wenn nicht noch ein anderer für mich verständlicher Hinweis kommt, die Dioden-Variante anwenden.
Gruß Elu

Elu
11.03.2008, 12:27
Hallo, Rather, ich sehe gerade, dass ich Deine Frage hinsichtlich der Anwendung der 7-Segment-Anzeige nicht beantwortet habe. Hier ist die Antwort:
Ich baue z.Zt. meinen zweiten Roboter wieder mit Relaisschaltungen, da ich mir das Lernen des Programmierens ersparen möchte (ich bin im vorgerücktem Alter). Aufbauend auf die Erfahrungen mit meinem ersten Roboter sowie anderer elektronischen Basteleien möchte jetzt mehrere Sensorenarten auf einem Roboter vereinigen (Anstoßbumper, Ultraschall-Abstandswarner, CNY70-Fahrbahnabtastung, Schallsensor-Fernsteuerung, IR-Fernsteuerung, Lichtsucher mit LDR). Die einzelnen Platinen habe ich schon fertig und auf dem Steckbrett zusammen laufen lassen. Alles OK.
Um nur eine oder mehrere Anwendungen gleichzeitig einzuschalten (Batteriespannung), habe ich einen Dreh-Stufenschalter eingesetzt Ich könnte jetzt die Anzeige der jeweils aktiven Stufe mittels Drehknopf-Zeiger auf einer Skala anzeigen lassen, aber als i-Tüpfelchen möchte ich noch eine Leuchtanzeige haben. Es werden nur 6 Schaltstellungen, so dass ich mir einige Dioden "spare" . Und übrigens möchte man sich im Hobby auch weiterbilden.
Noch Fragen ?
Gruß Elu

Hubert.G
11.03.2008, 12:58
Hallo Elu, das Argument von vorgerücktem Alter kann ich nicht gelten lassen, habe selber schon Dauerfreizeit, aber programmieren kann man immer noch lernen. Ich habe mir selbst in den letzten Jahren C gelernt, werde zwar sicher kein echter Freak werden, aber so einfache Ablaufsteuerungen, Frequenzzähler und DCF-Uhr lassen sich schon machen.
Noch einmal die 7Segment Anzeige mit IC. Du kannst auch nur den 74LS47 nehmen und mit den Dioden BCD-kodieren, das wären dann etliche weniger.

Ratber
11.03.2008, 13:15
@Elu

Zu Alt zum lernen ist man nie es sei denn man hat schon aufgegeben ;)

Zu deiner Anwendung.
Ok wenn du auf vorhandene Hardware aufbauen wilst geht das mit den Dioden auch und sogar recht Preiswert.

Oder du nimmst zb. den vorschlag von Hubert mit dem 74xx47.
Dem brauchst du dann nur einen Dezzimal zu BCD converter vorzuschalten (zb. 74xx147/148) um mit nur 2 Chips und etwas Kleinkram zum gleichen Ziel zu gelangen.

Elu
11.03.2008, 18:37
Hallo, Ihr Spezies, vielen Dank für das rege Interesse an meiner Fragestellung. Mit so einer Resonanz habe ich nicht gerechnet. Ich habe das Ganze jetzt auf 4 Schaltstufen (Anzeigen) reduziert, so dass ich jetzt nur 27 Dioden unterbringen muss, die ich noch in der Bastelkiste habe. Ich nehme also die Schaltung, die Hubert gepostet hat.

@Rather
Das stimmt, dass man zum Lernen nie zu alt ist, sonst würde ich mich ja mit dem Hobby auch nicht beschäftigen. Da ich das Programmieren im Selbststudium erlernen müsste und niemand fragen kann, ist es doch sehr schwer. Ich habe es schon mit der entsprechenden Literatur versucht, aber dann wieder aufgegeben. Die Beschäftigung mit den herkömmlichen Relaisschaltungen macht mir viel Spaß, da ich die Schaltungen mit der Software "Lochmaster" und "i-Plan" selber entwerfe und auf Loch- bzw. Streifenrasterplatinen realisiere. Ich denke, dass ich mich hier mehr handwerklich beschäftigen kann als bei dem Einsatz von Mikrokontroller.
Auch mit der Tonfrequenzsteuerung zur Steuerung von Roboter habe ich mich schon beschäftigt und auf dem Steckbrett erfolgreich getestet, Die Platine mit einem 5-Kanal-Tonfrequenzsender ist schon fertig. Ich will ja mit meinen gebastelten Geräten nicht an Wettbewerben teilnehmen sondern mache das nur aus Spaß in der Freunde und dass im fortgeschrittemen Alter die Gehirnzellen nich verkümmern. In diesem Sinne nochmals besten Dank.
Elu

Ratber
11.03.2008, 20:16
Da ich das Programmieren im Selbststudium erlernen müsste und niemand fragen kann, ist es doch sehr schwer.


Hä ?
(Auf Altdeutsch: "Wie bitte ?" )

Allein hier im Forum gibt es eine ganze Rubrik für Programierung in Basic,C,Assembler und einwenig vom sonstigen wo du fragen kannst.
Dazu noch das Wiki
Dann noch andere elektronische Foren wo auch gefragt werden kann.
Zusätzlich gibts im Web massig Seiten mit Anleitungen,Beispielen oder einfach nur Anregungen.

Als so ganz ehrlich....wenn ich deine Restliche antwort lese dann schwant mir als ob du einwenig "Berührungsangst" hast. ;) ;) ;)

Probiers doch einfach mal bei Gelegenheit mit nem controller.
Zb. mit nem Mega 16 und nem selbstbauprogrammer für den Parallelport (Is nur ein IC und ne Handvoll Passsiver Bauteile plus ner einfachen subverlängerung.Kostenpunkt ca. 5 Euronen).
Es macht riesigen spaß mit den "dingern" zu spielen und wenn du Basic als Sprache nimmst kannst du das Ganze sehr locker angehen.

Ich habe übrigens meine Basteleien noch mit Röhren begonnen, bin immer schön mitgewandert und erst vor einigen Jahren bei den controllern eingestiegen.
Heute möchte ich se nicht mehr missen.

Aber ok, das muß ja jeder für sich alleine ausmachen.
Ich kann nur was empfehlen.

Viel spaß noch.

Elu
11.03.2008, 20:49
Hallo, Rather, vielen Dank für Deine mutmachenden Worte. An absehbarer Zeit werde ich mich doch mal mit Controller beschäftigen. Zuvor muss ich aber erst meine begonnenen Projekte erfolgreich zum Abschluss bringen. Das dauert noch eine Weile, weil man ja auch noch andere Interessen und Verpflichtungen hat.
Vielleicht treffen wir uns auf dieser Welle nochmal.
Gruß Elu

Ratber
12.03.2008, 00:17
Ja gerne wieder.

oratus sum
12.03.2008, 15:13
Cool das mit dem BCD ist ne tolle Sache! Bin echt beeindruckt hehe

Ich habe eine 7 Segment-anzeige die 4 Zahlen, 4 Punkte und 1 Doppelpunkt in der Mitte anzeigen kann. Jeweils eineZahl mit gemein. Kathode

Brauche ich jetzt für jede Zahl 1 BCD-Decoder? Ich nehme mal an ja.

Oder irre ich mich da?

Kennt vllt einer von euch so nen IC, den man auch beim Conrad bekomt und vllt mit dem schon jmd Erfahrungen gemacht hat?

Wie werden die normalerweise angesteuert? RS232? I2C? 2W?

Hubert.G
12.03.2008, 16:52
Zur ersten Frage: Ja und nein, wenn du herkömmlich mit Logikbausteine der 74xxxx Serie aufbaust, dann ja. Wenn du einen µC verwendest, dann kannst du, es geht aber auch nur mit einem. Das nennt man dann Multiplexen.
So ein IC ist z.B. ein 74HC147. Es gibt aber auch etliche andere.
Und damit hat sich die letzte Frage wohl erübrigt.

oratus sum
12.03.2008, 18:22
Ich habe mir jetzt mal ein Datasheet vom 74 HC 147 angesehen allerdings blicke ich nicht ganz durch...

Wie funktioniert das?

Hubert.G
12.03.2008, 19:46
Tut mir leid, da hab ich mich veschrieben, 74HC247 sollte es heissen. Weiss aber nicht ob C den hat.
Es gibt aber dort den 4511, ist ein C-MOS Typ, aber funktionsgleich.

HaWe
10.12.2015, 14:12
Oh !
Ja, Sorry aber einen mundfertigen Plan hab ich auch nicht zur Hand und momentan auch keinen Trieb einen zu zeichnen.
Vieleicht einer der anderen ?......


ich finde solchen schwabbeligen Pseudotipps auch äußerst wenig hilfreich - also entweder gar nichts posten, oder Butter bei die Fische!


Ich persönlich würde statt sowas
http://fritzing.org/media/fritzing-repo/projects/7/7-segment-display/images/screen.png

dann auch lieber gleich ein richtiges Display für 5 EUR an nen Arduino hängen (auch 5 EUR) und dann hat man eine universelle, mehrzeilige und 1000x leistungsfähigere Ausgabe, und zwar mit nur 4 Kabeln.

http://www.mediafire.com/convkey/8a50/itmxyp9627v6cawzg.jpg

BMS
10.12.2015, 18:27
@HaWe: Sieht gut aus. Klar ist so ein Display für viele Anwendungen deutlich schöner und flexibler einsetzbar, es wird einer Siebensegmentanzeige oft vorgezogen.
Aber war es wirklich nötig, ein 7 Jahre altes Thema auszugraben? :-k
Grüße, Bernhard

HaWe
10.12.2015, 19:10
hatte ich gar nicht drauf geachtet - es stand irgendwo ziemlich weit oben in ner Topic-Liste... kA wie es da hin kam.
Ansosnsten wäre ich sicher niemals drauf gestoßen....

Jackeder
11.12.2015, 19:04
Hallo zusammen.

Also ich finde es gut wenn so alte Themen wieder ausgegraben werden, weil bin gerade bei dem Thema 7-Segmentanzeige.
31026
Kurze Info zum Bild
das Kästchen ist meine kleine Testbox, in der ein Atmega8 sein unwesen treibt. das 3*4 Tastenfeld wird über ADC ausgelesen, ist aber momentan nicht interessant.

Die Idee für die Schaltung hatte ich aus dem AVR Buch von Florian Schäffer (Elektor Verlag).

Nun zu meinem Prolem
da das LCD bereits Port D größtenteils belegt, hab ich die LED Segmente auf die restlichen Ports verteilt.

a
f b
g
e c
d DP

PortB PB0-PB5 = a b c d e f
PortD PD2-PD3 = g DP

PortC PC2-PC5 = Die 4 Transistoren


const int8_t numbers [10] =
{
// 1gfedcba
0b11000000, // 0
0b11111001, // 1
0b10100100, // 2
0b10110000, // 3
0b10011001, // 4
0b10010010, // 5
// 0b10000011, // 6
0b10000010, // 6
0b11111000, // 7
0b10000000, // 8
// 0b10011000, // 9
0b10010000, // 9
};
So wird es als Beispiel im Buch vorgegeben, bezieht sich aber nur auf ein Port
Kann ich das "als Anfänger" ähnlich schreiben oder lieber zum Lötkolben greifen inc. neuem Atmega8?

Danke
Grüße Hendrik