Hallo Welt, ich habe mir 2 Raspberry Pis zugelegt und bin nun fleißig am basteln. Ich habe keine MicroController spezifische Ausbildung sondern beschäftige mich aus reinem Interesse mit der Materie. Mein Projekt: Ich möchte eine LED Matrix von 8x8 LEDs betreiben. Jede LED soll einzeln Ansteuerbar sein. Ich habe bereits die I²C Buserweiterung am laufen. Jetzt habe ich 16 Output Pins (die ich auch alle Problemlos ansprechen kann), WiringPi sei dank. In jeder Reihe hängen die masse Pins der LEDs zusammen an einem Output Pin der Buserweiterung. In jeder Spalte hängen die + Pins der LEDs zuammen an einem anderem Output Pin. Somit verwende ich 16 "Beinchen" für 64 LEDs. Jetzt kann ich jede LED unabhängig von den anderen LEDs einschalten. Um mehre LEDs gleichzeitig einzuschalten "Pulse" ich die LEDs. Bis hierher funktioniert alles super. Nun das Problem: Die LEDs sind sehr Dunkel wenn diese mit der Anode am Output Pin (auf 1) und der Katode an einem anderem Output Pin (auf 0) hängen. Wenn ich statt des "0er" Pins die LED direkt auf Masse ziehe, kann ich diese wunderbar hell erstrahlen lassen. Allerdings funktioniert meine Schaltung dann logischer Weise nicht. Gibt es einen Innenwiderstand oder eventuell Pull Widerstände die ich irgendwie verhindern kann? Oder gibt es eine andere Möglichkeit das der Output Pin welcher auf 0 gesetzt wird sich genau wie Masse verhält. Meine Buserweiterung ist ein PCF8574P. Danke für eure Hilfe, Dominikus
Gast
#3503292
Hast du die Funktion delay() benutzt (diese Funktion hält das Programm an -> Die LEDs werden nicht schnell genug gepulst). http://wiringpi.com/reference/timing/
Ja ich nutze diese Funktion, aber auch ohne das delay() habe ich das gleiche Ergebnis (bei einem Testaufbau). Ohne delay() funktioniert meine Matrix auch nicht, ansonsten könnte ich nicht mehrer LEDs gleichzeitig (für das menschliche Auge erscheint es gleichzeitig ) benutzen.
Gast
#3503309
Wie Leuchtet eine einzelne LED (ohne multiplex) (um den Portexpander Auszuschließen). Falls die LED Hell Leuchtet wirst du ein Timeingproblem haben.
Eine LED leuchtet zwar heller als viele, aber lange nicht so hell als wenn ich die Katode direkt auf Masse gezogen habe.
Gast
#3503318
>Meine Buserweiterung ist ein PCF8574P. Ohne zusätzliche Treiber steuerst du mit dem schlappen Teil eine LED Matrix an? Das wird nie was.
Gast
#3503320
Bekommt die Led Genug Spannug (Spannungsabfall durch IC).
Ich glaube wirklich mein Chip ist zu schwach... habe mir nochmal die Spezifikation hier auf der Seite durchgelesen. Spannung Messe ich gleich mal, ich befürchte aber das das Problem am Strom und nicht an der Spannung liegt. Ok die Spannung ist auch ziemlich niedrig. Mein Multimeter ist für anderen Spannungen ausgelegt und daher nicht sehr genau, es springt zwischen 1 und 2 Volt... Gibt es einen Weg die AusgangsSpannung zu erhöhen? Immerhin darf ich nicht mehr als 6volt in den Chip pumpen.
Gast
#3503325
Am besten währe es wenn du die LEDs mit einen Transistor treibst.
Ok, das kann ich mal versuchen, wollte ich eigentlich umgehen umgehen... dann muss ich wieder Bauteile kaufen... ich poste noch meinen Code, vielleicht stell ich mich ja auch nur dämlich an :)
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
Gast
#3503331
>ich poste noch meinen Code, vielleicht stell ich mich ja auch nur >dämlich an :) Ja, tust du. Das Teil kann maximal 300uA bei Highlevel liefern. Steht so im Datenblatt. Du solltest es vieleicht mal lesen. Ein Wunder das da überhaupt eine LED leuchtet. Ohne zusätzliche Treiber für High- UND Lowside kannst du dir deine LED Matrix sonst wohin stecken.
Gast
#3503337
Junge du hast ja n Ton drauf... auch wenn du leider recht hast... ich geh jetzt schlafen... Danke für eure Hilfe
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.