Forum: Mikrocontroller und Digitale Elektronik 7 Segment anzeige zurücklesen


von Nils (Gast)


Lesenswert?

Tach zusammen,

mein Arbeitskollege und ich grübeln gerade darüber, wie man mathematisch 
herleiten kann, welche Segmente man mindestens auslesen muss um alle 
Zahlen von 0 - 9 zurücklesen zu können. Wir sind durch rumprobieren 
darauf gekommen, dass Segement c und d nicht nötig sind um die Zahlen 
von 0 - 9 eindeutig zu bestimmen. Aber wie könnte man da mehr 
systematisch rangehen um das herauszufinden?

Gruß

Nils

von Sebastian (Gast)


Lesenswert?

Bin kein Mathematiker, aber ein einfacher "Algorithmus" wäre, angesichts 
der kleinen Datenmenge, immer ein Bit wegzulassen, dann zu prüfen, ob 
sich einer der 10 Datensätze wiederholt. Wenn ja: Bit wird benötigt, 
anderes Bit weglassen und erneut probieren. Wenn nein, diesen Zustand 
als neuen Ausgangszustand annehmen und um ein weiteres Bit kürzen. Bis 
diese Aktion mit jedem der ursprünglichen Bits keinen Erfolg mehr 
bringt, dann sind nur die übrig, die nicht redundant sind.

von Nils (Gast)


Lesenswert?

Jup, so in etwa haben wir das gemacht. Aber das muss doch auch irgendwie 
schlauer gehen :-)

von Sebastian (Gast)


Lesenswert?

Vielleicht kann man das mit einem KV-Diagramm machen, wie man es aus der 
Digitalelektronik kennt. Ist nur so eine Idee, habe es nicht 
ausprobiert.

von MaWin (Gast)


Lesenswert?

Es gibt unterschiedlich Schriften, 7 mit Segment f oder ohne, 6 mit 
Sgement a oder ohne,
also kann so eine schwammige Frage nicht beantwortet werden.

von Nils (Gast)


Lesenswert?

War ja nur nach dem Prinzip gefragt. Macht doch keinen Unterschied wie 
die Anzeige geartet ist...

KV Diagramm ist schon mal ein Hinweis. Schau ich mir mal an. Schönen 
Dank!

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Der Sinn der Uebung ist mir nicht ganz klar, aber eine einfache 
geschlossene Formel faellt mir dazu momentan nicht ein. Du musst eben 
einen Zeichensatz entsprechend definieren, der sich mit dem verwendeten 
deckt und dann schauen welche Elemente dadurch eliminiert werden 
koennen.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Vielleicht laesst sich da ein Reduktionsverfahren ueber den Potenzmengen 
der Elemente verwenden wenn man sich die 7-Segment-Anzeige als einen 
Zustandsautomaten betrachtet und die Segmente selber die Zustaende 
darstellen... ;)

Dadurch werden automatisch alle unnoetigen Zustaende eliminiert und auch 
unnuetze Wegstrecken (die zum selben Ergebnis fuehren), damit hast Du 
den minimalen Erkennungsalgorithmus ableitbar gemacht.

von Nils (Gast)


Lesenswert?

Ach so einfach geht das :-) Da muss ich aber erstmal n Stündchen drüber 
nachdenken...

von Dirk H. (dirk09)


Lesenswert?

Durch Ausprobieren mit einer Exceltabelle erfährt man, dass die Segmente 
c und d nicht abgefragt werden müssen, um eindeutig auf den Wert 
schließen zu können.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Nils schrieb:
> Ach so einfach geht das :-) Da muss ich aber erstmal n Stündchen drüber
> nachdenken...

Ja gell? Hehe
Ein Vorteil zur Excel-tabelle bietet das Verfahren auch noch, denn Du 
hast die zeitliche Achse mit in Beruecksichtigung genommen, wenn Dein 
Erkenner sehr schnell ist und nicht alle Elemente gleich angelegt werden 
sparst Du Dir ggf. noch mehr...

von Dirk H. (dirk09)


Angehängte Dateien:

Lesenswert?

Wen es interessiert, der kann ja mal in die Excel-Tabelle schauen....

von Sascha W. (sascha-w)


Lesenswert?

@Nils,

natürlich kann man das 'mathmatisch' herleiten. Du musst Dir nur eine 
entsprechende Logik ausdenken, die den von Dir gewünschten Encoder 
realisieren kann. Die kannst du mit Boolscher Algebra beschreiben. Dort 
würden sich dann durch vereinfachen der Gleichungen die Signale 
wegkürzen die auf das Ergebnis der Gleichung keinen Einfluss haben.

Sascha

von Harald W. (wilhelms)


Lesenswert?

Sascha Weber schrieb:
> @Nils,
>
> natürlich kann man das 'mathmatisch' herleiten. Du musst Dir nur eine
> entsprechende Logik ausdenken, die den von Dir gewünschten Encoder
> realisieren kann. Die kannst du mit Boolscher Algebra beschreiben. Dort
> würden sich dann durch vereinfachen der Gleichungen die Signale
> wegkürzen die auf das Ergebnis der Gleichung keinen Einfluss haben.

In meinem Tietze/Schenk ist eine solche Schaltung abgedruckt.
Nach meiner Erinnerung braucht man ca. 30 Dioden pro Stelle.
Gruss
Harald

von Thorsten S. (whitejack)


Lesenswert?

der Gedanke dass 3 Bit mit zwei Zuständen nicht reichen um 10 Werte 
eindeutig zu beschreiben, also quasi das minimum ist einfach 
herzuleiten.

Es werden 4 Bit a 2 Zustände benötigt um 10 Werte eindeutig zu 
beschreiben. Wenn man es also schafft 3 Segmente zu elemenieren, dann 
hat man sein Ziel erreicht, wobei es erstmal egal ist welche das 
letztendlich sind...

Das ist zwar noch keine Lösung, aber eine Einkreisung der Problematik.

TS

von Nils (Gast)


Lesenswert?

Alles klar Jungs, danke für den Input!

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.