D1-D4 Dürfte die Ansteuerung für den interen Multiplexer sein
zb. 1000 erste Anzeige wird angesteuert 0100 zweite usw.
A-G sind sie einzelnen Segment.
Bild hier
5V an 5V
GND an GND
MfG Matthias
Hallo,
ich habe eine 7 segment anzeige mit 4 segmenten aus einem receiver ausgebaut und würde die gerne mal ansteuern bloß wie mache ich dass die hat so viele kennzeichnungen dass ichs gar net verstehe wo ich was am controller anschließen soll. vielleicht weiß ja einer von euch weiter hier die kennzeichnungen beziehungsweiße die anschlüsse welche auf der platine stehen.
D1, D2, D3, D4
A, B, C, D, E, F, G
gnd
5V
D1-D4 Dürfte die Ansteuerung für den interen Multiplexer sein
zb. 1000 erste Anzeige wird angesteuert 0100 zweite usw.
A-G sind sie einzelnen Segment.
Bild hier
5V an 5V
GND an GND
MfG Matthias
...an die Vorwiderstände denken !
muss ich ja dann an d1-d4 einen transistor davor hängen und an die basis einen widerstand von 10k is das so richtig?
Da dein Display sowohl GND als auch +5V hat könnte es auch sein das die Treiber schon intern verbaut sind.(am besten testen)
MfG Matthias
Probiers doch mal mit einem 7-Segment decoder, welcher gleich die einzelnen Segmente treiben kann.
z.B. den 4055 (MOS-IC)
Vielleicht hilft Dir auch der Source-Code aus dem Beitrag 148650 (Multiplex-Display)
Hier noch eine Beispiel - Schaltbild: Bild 5359
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
und wie teste ich dass? was muss ich anschließen?
Ist doch alles beschrieben...
7-Segment-Anzeige mit gemeinsamere Katode (4 Dekaden)
K sind die Katoden der 4-Katoden (-)
A sind die Anonden der 7-Segmente (+)
von + geht es über einen Vorwiderstand zum einzelnen Segment und zum Segment-Decoder (open Collector) über die LED (des einzelnen Segmentes) und dann über den Transistor der entspr. Dekade (1er, 10er, 100er oder 1000er) nach Masse.
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
ja toll aber ich weiß ja quasi nix was ich im Bascom jetzt schreiben soll. ich bin wieder voll bei 0 sprich blutiger anfänger.
Tja ein bisschen Kreativität ist von Dir auch gefordert.
Dürfte aber nich all zu schwer sein, da ja auch Beispiele (Listungs) dabei sind.
(Abweichend zum vorher genannten Decoder Baustein habe ich hier einen 74LS48 verwendet (glaube den gibts aber nicht mehr) Du kannst auch den anderen verwenden dann halt ein bisschen das Schaltbild verändern Du musst halt im Ddatenblatt des entspr. Bauteils nachsehen)
Aber speziell für Dich nochmal das Prinzip.
Die einzelnen Dekaden werden eine nach der andere geschaltet (im Beispiel bei gem. Katode auf Masse (GND).
Somit können nur die Segmente dieser dekade leuchten, wenn sie angesprochen werden.
dann schaltet man um auf die nächste decade und steuert die segmente dementsprechend an.
Wenn das ganze schnell genug abläuft, bekommt das Auge (Hirn) das garnicht mehr mit und glaubt, dass alle segmente gleichzeitig leuchten.
Und hier noch mal ein Ersatzschaltbild:
https://www.roboternetz.de/phpBB2/al...hp?pic_id=1414
Bild hier
Code:' 4-Digit Multipexed Display an Port C ' PortC.4 = 1er ' PortC.5 = 10er ' PortC.6 = 100er ' PortC.7 = 1000er ' Portc.0 bis Portc.3 = BCD Code der Zahl &H00 bis &HFF ' Hierzu einen 7-Segmentdecoder (74LS48) zwischen PortC(0..3) und den Segmenten schalten ' Nicht vergessen die Treibersegmentausgänge mit 470R PullUp zu schalten. ' Der Baustein 74LS48 kann nur Zahlen (0-9) darstellen keine Hex Codes (ABCDEF) ' Falsche Werte (>9) (>&H09) (>&B00001001) führen zu Anzeigefehlern. $regfile = "m32def.dat" ' AT Mega 32 $crystal = 16000000 ' 16 MHz $baud = 19200 ' Serielle Schittstelle einrichten Anzeigeport Alias Portc ' Hier einstellen an welchem Port ' das Display angeshclossen wird Config Anzeigeport = Output ' Direction einstellen Declare Function Anzeige(byval B_speed As Byte) As Integer Dim X As Integer ' Variable für For Scheife Dim Y As Integer ' Variable für For Scheife Dim B_ar_zahl(4) As Byte Portc = 0 ' Port C initialisieren ' Die Anzeige soll "4321" darstellen B_ar_zahl(1) = 1 ' Hier die 1er Zahlen der Anzeige B_ar_zahl(2) = 2 ' Hier die 10er Zahlen der Anzeige B_ar_zahl(3) = 3 ' Hier die 100er Zahlen der Anzeige B_ar_zahl(4) = 4 ' Hier die 1000er Zahlen der Anzeige Do For Y = 0 To 9 X = Anzeige(5) Next Y Loop End 'end program ' ****************************************************************************** Function Anzeige(byval B_speed As Byte) As Integer Dim B_x As Byte ' Schleifen Variable Dim B_decade As Byte ' Aktivierung der Decade Dim B_select As Byte For B_x = 4 To 7 ' Schleife für Decaden ' Bit 4 bis 7 sind Decaden B_decade = 2 ^ B_x ' Bitmuster für Decade berechnen B_select = B_x - 3 ' Feld des Array's bestimmen Anzeigeport = B_decade ' Nur Decade aktivieren Anzeigeport = Anzeigeport Or B_ar_zahl(b_select) ' Decade + Anzeigewert aktivieren ' Hiermit wird auch das Anzeigetiming ' realisiert Waitms B_speed ' Anzeigedauer der einzelnen Decade Next B_x Anzeige = 0 ' Rükgabewert 0 = ok End Function ' ****************************************************************************** End 'end program
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
Lesezeichen