Archiv verlassen und diese Seite im Standarddesign anzeigen : 7-Segment -- wie anschließen?
AsuroPhilip
03.09.2011, 13:36
Hi Leute,
hoffe mal ich bin im richtigen unterforum ;)
Ich habe eine 4x7segmentanzeige aus einem alten Receiver ausgebaut:
19874
Allerdings weiß ich nicht, wie ich das anschließen soll :confused: Was ich komisch finde ist, dass da nur 12pins sind:
19875
Am besten währe es, wenn man das mit 2. PCF8574P machen kann (+ RP6)? Oder ich habe hier noch einen Atmega8 ;)
mfG
Philip ;)
Hallo AsuroPhilip
Von den 12 pins sind 4 pin dazu da die 4 anzeigen zu steuern(Transistoren) entweder über Anode oder über Kathode der leds und 8 pins sind für die 7 Leds + Punkt da.Versuchmal die Anschlüsse mit nem Multimeter auf Durchgang(das mit Diode symbol) zu prüfen und messe durch abwechselnd jeden pin damit bekommst du schnell raus welche anschlüsse auf welchem pin liegen.
Gruss
Padavan
AsuroPhilip
03.09.2011, 14:52
Hey, Padavan
Danke, ich versuchs mal ;->
Aber dann kann man doch nur eine Zahl, auf allen Displays(?) anzeigen, oder?
021aet04
03.09.2011, 15:12
Man zeigt immer eine Ziffer (1 Stelle) an. Man schaltet aber so schnell zwischen den Ziffern um das es für das menschl. Auge aussieht als zeigt die Anzeige alle Ziffern an. Das Verfahren nennt sich Multiplexing.
MfG Hannes
AsuroPhilip
03.09.2011, 15:20
Okay, werde mich mal schlau machen. Die Anzeige hat gemeinsame Anode ;->
Hallo AsuroPhilip,
Vieleicht hilft dir ja der Schaltplan mit der Ansteuerung weiter:
http://de.aliexpress.com/product-fm/459936926-7-Segment-LED-Display-0-36-4-DIGIT-7-Segment-Super-Red-LED-display-CC-wholesalers.html
Mfg
ich werf mal 2 links zu 2 chips ein die interessant für dich sein könnten
http://www.austriamicrosystems.com/eng/Products/Lighting-Management/LED-Driver-ICs/AS1105
http://www.austriamicrosystems.com/eng/Products/Lighting-Management/LED-Driver-ICs/AS1108
ich hab ne 8 digit variante davon benutzt und fand die sehr nützlich ^^
AsuroPhilip
04.09.2011, 17:51
@bnitram Ja, hatte aber vorher schon die pins durch messen und probieren raus gefunden .
@Ceos Habe es schon mit zwei pcfs gemacht, einer hat alle acht der andere die 4 pins.
So, Ich habe einen Spannungswandler, der mir 3volt gibt.
Habe ein npn-transistor so angeschlossen:
base am controller
collector an +3V vom Spannungswandler
emitter an die gemeinsame Anode
Aber der Transistor schaltet nicht, obwohl der port high ist (Ja, ich habe mehrere getestet (transistoren und ports) ). Wenn ich den Transistor überbrücke, klappen die anzeigen wunderbar.
Hat einer eine Idee?
mfG
Philip
Hallo
versuchs mal mit PNPs, Anode an Collector, Basis auf Low mit vorwiderstand!!!
Viel Erfolg!
AsuroPhilip
04.09.2011, 19:25
Hey
Basis auf Low mit vorwiderstand!!!
Auf Low, nicht high? Vorwiderstand hab ich 1kohm.
Ja auf Low währe hier richtig weils ein PNP ist. 1kOhm passt für viele Typen von Transistoren ;)
Mich würde aber viel mehr interessieren welchen Transistortyp du benutzt hast? 3V sind etwas mager für einige Typen, sodass die nicht richtig durchsteuern und nur strom verheizen und heiß werden.
AsuroPhilip
05.09.2011, 20:16
Okay, mit pnp klapps **juhhuu**
Nun zum Code, ich habe es so gemacht, das in der ersten anzeige ne 1 und in der zweiten eine 2 steht ..... usw.
Allerdings sieht mal in der ersten Anzeige, dass das Segment f leicht mitleuchtet!
Wie kann man das verbessern?
I2CTWI_transmitByte(pcf, 0b01111110);
I2CTWI_transmitByte(pcf2, 0b01111101); // 0b01111101 = 1; 0b10100100 = 2; 0b00110100 = 3; 0b00011101 = 4;
mSleep(2);
I2CTWI_transmitByte(pcf, 0b1111101);
I2CTWI_transmitByte(pcf2, 0b10100100);
mSleep(2);
I2CTWI_transmitByte(pcf, 0b1111011);
I2CTWI_transmitByte(pcf2, 0b00110100);
mSleep(2);
I2CTWI_transmitByte(pcf, 0b1110111);
I2CTWI_transmitByte(pcf2, 0b00011101);
mSleep(2);
Hallo!
Wie kann man das verbessern?
Durch genügend langes Einfügen aller dunkler Segmente während jeder Umschaltung von Stellen der Anzeige. ;)
AsuroPhilip
05.09.2011, 22:46
Okay, das klappt! Aber jetzt ist es dunkler?
Es muss leider immer ein Kompromis ermittelt werden. Angeblich dauern die dunkle Segmanten zu lange. ;)
AsuroPhilip
06.09.2011, 16:54
Ja, hier noch code:
I2CTWI_transmitByte(pcf, Anzeige1);
I2CTWI_transmitByte(pcf2, Ziffer1);
I2CTWI_transmitByte(pcf2, Aus);
I2CTWI_transmitByte(pcf, Anzeige2);
I2CTWI_transmitByte(pcf2, Ziffer2);
I2CTWI_transmitByte(pcf2, Aus);
I2CTWI_transmitByte(pcf, Anzeige3);
I2CTWI_transmitByte(pcf2, Ziffer3);
I2CTWI_transmitByte(pcf2, Aus);
I2CTWI_transmitByte(pcf, Anzeige4);
I2CTWI_transmitByte(pcf2, Ziffer4);
I2CTWI_transmitByte(pcf2, Aus);
und noch ein Bild....
19914
mfG
Philip ;)
radbruch
06.09.2011, 17:51
Wirklich klasse. Sieht super aus und sehr schnell umgesetzt. Glückwunsch.
Gruß
mic
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.