Raspberry Pi eigenes LED Display

OP #3503264
Lesenswert?

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
OP #3503323
Lesenswert?

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.
OP #3503329
Lesenswert?

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
#include <stdio.h>
2
#include <wiringPi.h>
3
#include <wiringPiI2C.h>
4

5
#define on     100
6
#define off     1
7

8

9
int main (void)
10
{
11
  printf ("Raspberry Pi blink\n") ;
12

13
pcf8574Setup (66,0x20) ;
14
pcf8574Setup (77,0x27) ;
15

16
int i=0;
17
  for (;;)
18
  {
19
        while (i < 7){
20
                digitalWrite (66+0, LOW) ;
21
                digitalWrite (77+i, HIGH) ;
22
                delay(on);
23
                digitalWrite (66+0, HIGH) ;
24
                digitalWrite (77+i, LOW) ;
25
                delay(off);
26
                i++;
27
        }
28
        i=0;
29
         while (i < 7){
30
                digitalWrite (66+i, LOW) ;
31
                digitalWrite (77+7, HIGH) ;
32
                delay(on);
33
                digitalWrite (66+i, HIGH) ;
34
                digitalWrite (77+7, LOW) ;
35
                delay(off);
36
                i++;
37
        }
38
        i=7;
39
         while (i > -1){   digitalWrite (66+7, LOW) ;
40
                digitalWrite (77+i, HIGH) ;
41
                delay(on);
42
                digitalWrite (66+7, HIGH) ;
43
                digitalWrite (77+i, LOW) ;
44
                delay(off);
45
                i--;
46
        }
47
        i=7;
48
         while (i > -1){
49
                digitalWrite (66+i, LOW) ;
50
                digitalWrite (77+0, HIGH) ;
51
                delay(on);
52
                digitalWrite (66+i, HIGH) ;
53
                digitalWrite (77+0, LOW) ;
54
                delay(off);
55
                i--;
56
        }
57
        i=0;
58
  }
59

60
}
Gast #3503331
Lesenswert?

>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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren