PDA

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 ;)

Padavan
03.09.2011, 14:29
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 ;->

bnitram
03.09.2011, 18:01
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

Ceos
04.09.2011, 15:06
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

Padavan
04.09.2011, 19:12
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.

oZe
04.09.2011, 20:08
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);

PICture
05.09.2011, 20:48
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?

PICture
06.09.2011, 16:40
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