Hallo Forum,
ich verzweifel gerade daran zwei diagonal zu einander liegende RGB LEDs zum leuchten zu bringen. Da dies mein erstes Projekt mit einem Arduino ist und ich das Brett nicht selbst zusammen gelötet hab brauchte ich ziemlich lange bis überhaubt etwas geleuchtet hab. Folgendes habe ich jetzt verstanden:
Mit dem orangen Register kann man die 8 Reihen auswählen. Mit dem grünen Register wählen man orthogonal dazu zwischen 4 Reihen. Außerdem bestimmt man die Farbe der LED. Jede Farbe besteht aus 2 Bits. Das rote Register funktioniert wie das grüne Register, nur für die andere Hälfte der LEDS. Überall wo sich dann grün und orange bzw. rot und orange überschneiden leuchten die LEDs.
Mit folender Methode schreibe ich die Muster in die Schieberegister:
void musterSchreiben(int muster[8], int dataPin, int storePin, int shiftPin) {
digitalWrite(storePin, LOW);
for (int i=0; i<8; i++) {
digitalWrite(shiftPin, LOW);
digitalWrite(dataPin, muster[i]);
digitalWrite(shiftPin, HIGH);
}
digitalWrite(storePin, HIGH);
}
Eine einzelne Reihe bringe ich folgendermaßen zum leuchten:
int muster1[] = {0,0,1,0,0,0,0,0};
musterSchreiben(muster1, dataPin2, storePin2, shiftPin2);
int muster2[] = {1,1,1,1,1,1,1,1};
musterSchreiben(muster2, dataPinAnAus, storePinAnAus, shiftPinAnAus);
Eine einzelne LED, indem muster2 z.B. so aussieht {0,1,0,0,0,0,0,0}.
Meine Frage: Wie schaffe ich es jetzt 2 LEDs zum leuchten zu bringen die nicht in einer gemeinsamen Reihe liegen? Am Ende würde ich gerne ganze Buchstaben undso darstellen können.