Archiv verlassen und diese Seite im Standarddesign anzeigen : 10stellige LED-Anzeige möglich? software?
Hi, hab vor kurzem mit PICs angefangen und bisher einige kleiner Sachen gebaut. Als nächstes Projekt möchte ich jetzt eine Schachuhr bauen.
Für jeden Spieler möchte ich eine 5stellige Anzeige einbauen -> 10
Meint ihr das funktioniert, wenn ich die alle zusammen multiplex schalte, oder flimmert es dann zu stark.
Ich hab noch von nem andren Projekt nen 16F871 hier liegen, den ich gerne nehmen möchte. müsste doch funktionieren oder?
Außerdem weiß ich nicht, wie ich programmieren soll, dass der binärcode auf die Anzeige umgesetzt wird, weil ich das vorher noch nie gemacht hab und wie das überhaupt geht das den einen bis 9 zählt dann den nächsten bis 6 usw. und danach wieder vorne anfängt. Ich hab nämlich bisher nur irgendwelche Vörgänge programmiert usw.
Kann mir das bitte einer plausibel erklären??!
Schon mal Danke, ich freu mich über jede Unterstützung....
Hi,
Ich hab auch mal ne 4stellige led-anzeige gebaut, auch mit multiplex-betrieb.
Hat funktioniert, war aber nich sonderlich hell; kein flimmern
Ich hab das so gelöst:
Die Jede Stelle der Led-Anzeige braucht einen gemeinsamen Minus.
Mit einem CMOS4017 (Dezimal-Zähler) und ein paar Transistoren (open-collector) werden die Stellen angesteuert: (2 Leitungen zum PIC: Count und Reset, Reset kann man aber auch weglassen, wenn der Controller mitzählt, bei welcher Stelle er grad ist).
Damit spart man sich schon mal einige Pins...
Um die Zahlen anzuzeigen, hab ich einen 74LS249 verwendet (BCD zu 7segment - Decoder). Dann musst du nur die "Code-Pins" vom Controller mit dem Decoder verbinden (Programm: Binärcodes in Ausgangsport kopieren).
Vorteil: man spart 3 Pins (7-4=3) und man kann die 7segment-codes im programm weglassen.
(*kleiner* "Nachteil": beim Reset wird in der Anzeige Null dargestellt :-)
Der gemeinsame Punkt kann auch noch an einen Ausgang des PICs gehängt werden.
Das ganze ist sehr sparsam im umgang mit pins:
CMOS-Zähler: 1oder2 Pins
BCD-Code : 4 Pins
(Punkt : 1 Pin)
... also nicht mal einen ganzen Port (die Schwaben sind halt sparsam...)
Was ich noch zusätzlich gemacht habe:
Wenn man schon so einen Zehner-Zähler (4017) hat, kann man doch gleich vier bzw. 10 Tasten auswerten: Ein Anschluss von allen Tasten an einem gemeinsamen Eingang des PICs anschließen, die restlichen an die Zählerausgänge des 4017 (also Taster0 an Ausgang 0, Taster1 an Ausgang1 usw.). Damit kann man also 10 Tasten mit nur 1 zusätzlichem Pin auswerten (Pull-Down-Wiederstand nicht vergessen).
Volià!
Ich hoffe, dass dir das weiterhilft ;-D
BMS
lion1984
21.06.2006, 19:58
Hallo,
also ich habe in meinem Porjekt auch eine Anzeigegebaut (glaube 8 stellig). Auch wie erwähnt im Multi Betrieb und auch mit den Problem der Helligkeit. Mein Teammitgliend und ich haben es so gelöst, Low Current Anzeigen zu verwenden, die sind dann schon okay (bei licht und dirketen Sonneneinstrahl lesbar). Dann brauchst du die Zähler usw nicht, nur Transistoren und Widerstände.
LG Lion
Danke schonmal für die Antworten...
Das mit dem "BCD zu 7segment-Decoder" wollte ich auch erst machen, hab aber leider das falsche Datenblatt erwischt und die 74LS247 bestellt. Das sind die gleichen nur mit "minus"Ausgängen hab aber natürlich Anzeigen mit gem. Kathode genommen. Ich dachte nur wenn ich eh den 40pin PIC noch daliegen hab könnte ich den nehmen und die Ics ganz weglassen. Aber ich glaub dann setz ich da einfach PNP Transistoren dran und nehm doch die 74LS247.
Das mit den Low-Current Anzeigen ist auch ein guter Tipp, zumal ich das ganze an Batterien hängen wollte, ist nur leider schon zuspät.
Aber ich glaub das mit dem Zähler mach ich wirklich, dann nehm ich für jeden Spieler einen eigenen kleinen PIC; ist auch einfacher zu programmieren.
Bleibt nur die Frage, wie ich das mit dem richtigen Zählen im PIC programmieren muss. Also ich nehm doch dann für jede ziffer nen extra speicher addiere dort im sekundentakt und wie prüf ich den dann auf 9 bzw. 5 das ich dann der nächsten zelle einen addieren kann und die andere zurücksetzten????
Also nochmal danke für eure Antworten...
kalledom
22.06.2006, 00:26
Im Multiplex-Betrieb werden 7-Segment-Anzeigen mit einem 'Peak-Strom' von ca. 80...150mA betrieben (siehe Datenblatt), weil die Segmente immer nur 1/4...1/10 der Gesamtzeit leuchten. Dazu sind dann aber Treiber-Bausteine erforderlich, weil die TTL's nur 20mA schaffen, die CMOS noch weniger.
Hallo Dan89!
Warum LEDs und nicht LCD Modul (z.B. 1x16 Zeichen) ?
Vorteile sind offensichtlich.
MfG
Der Gärtner
30.06.2006, 11:33
Was auch gehen würde wäre, einen Port pro uhr zu verwenden.
d.h. du würdest nur 5 stellen multiplexen., und 2 stellen jeweils synchron anzeigen.
mit dem BCD 2 7Seg -bauteil kommst du nun auf folgende portanzahl:
5 für die Transistoren (1 trans schaltet 2 Anzeigeelemente durch)
2x2 für die BCD - Dezimalzählerlösung
Tasten brauchen auch nochmal 2-3 Pins.
Die Punkte sind einfach immer an.
da reicht ein PIC16F628 locker aus., da hat man sogar noch freie pins...
hab ich was vergessen?
anyway, das display würd ich echt bevorzugen. 8 Pins und aus die maus :) sind auch schöner zu verarbeiten als die 7-segmentanzeigen... find ich.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.