Das Flackern hast du mit delay(200) programmiert.
Das Flackern hast du mit delay(200) programmiert.
das ist nur wenig informativer, als das Pin out, welches ich schon gepostet habe, trotschem, schön dank
- - - Aktualisiert - - -
ich bin langsam der Überzeugung, meine Matrix ist kaputt
wenn ich dies uploade:
int spaltenPins [8] = {30,48,46,24,42,26,34,36} ; // also S1, S2 etc
int reihenPins [8] = {22,32,38,28,52,40,50,44} ; // also Z1 etc
int image[8][8]= {
/* {0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0},*/
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
};
void setup()
{
for (int i=0; i<8; i++)
{
pinMode (spaltenPins[i],OUTPUT);
pinMode (reihenPins[i], OUTPUT);
digitalWrite(spaltenPins[i],HIGH);
digitalWrite(reihenPins[i],LOW);
}
}
void loop()
{
for (int x=0; x<8; x++)
{
// digitalWrite (spaltenPins[x],HIGH);
digitalWrite (reihenPins[x],LOW);
delay (200);
}
};
leuchtet nur die altbekannte E3 Diode. Die Anschlüsse stimmen jetzt alle, die Belegungen auch.
Dein Programm hier wird nicht funktionieren, da du ja die Zeile, die die Pins HIGH schalten sollte, auskommentiert hast?
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
1. Das 63 deiner 64 Dioden kaputt sind ist SEHR unwahrscheinlich.
2. LED sind Light Emitting Diodes, also Dioden. Sie funktionieren nur in Flussrichtung, d.h. wenn du sie verpolst, sperren sie und leuchten niemals.
Das hast du offensichtlich bei allen Dioden bis auf eine gemacht.
Also ist deine Anschlussbelegung DEFINITIV falsch.
Dein Programm müsste bei richtiger PinBelegung alle LEDs zum leuchten bringen.
3. Dein Programm gibt jetzt immer Strom. Damit überlastest du die LEDs langfristig evtl.
Du könntest auch loop{} schreiben, denn in der Loop änderst du den Zustand der LEDs nicht.
Besser z.B.:
Code:void loop() { for (int x=0; x<8; x++) { digitalWrite (reihenPins[x],LOW); delayMicroseconds(100); digitalWrite (reihenPins[x],HIGH); delayMicroseconds(1000); } }Nein, die LEDs leuchten, wenn spaltenPins HIGH und reihenPins LOW sind.Dein Programm hier wird nicht funktionieren, da du ja die Zeile, die die Pins HIGH schalten sollte, auskommentiert hast?
Jetzt klappt es erstmal symmetrisch. Muß aber mich noch genauer mit der Steuerung befassen...
vielen Dank
Lesezeichen