Hallo Arduino-Community,
ein Freund und ich sind dabei auf einer 8x8 LED Matrix das berühmte Spiel "Snake" zu programmieren.
Wir benutzen 16 74HC595 Schieberegister, 64 zweifarbige LEDS(grün und rot) und einen Arduino Mega (ATmega1280).
Nun haben wir die Matrix fertig gebaut und ich wollte anfangen einzelne Leds anzusprechen, was jedoch nicht so funktioniert wie ich mir das vorstelle.
Ich hatte mir das so gedacht, dass man mit einem byte Matrix[8]; array jede einzelne Zeile der Matrix ansprechen kann und das die Bits
der einzelnen Bytes jeweils die LEDS "wiederspiegeln". Sprich das meine erste LED Reihe folgendermaßen funktionieren würde:
Matrix[1] = 85 //0b01010101
, wodurch jeweils die 2. LED immer leuchten soll, was Sie aber nicht tun.
Es werden jeweils die einzelnen Reihen der Matrix damit angesprochen und nun wollte ich wissen wie ich jeweils die einzelnen LEDS der einzelnen Reihen ansteuern kann.
Hier der Quellcode:
Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;
byte Matrix[8];
void setup() {
//set pins to output so you can control the shift register
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
Matrix[1] = 85;
}
void loop() {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, Matrix[1]); //0b01010101
digitalWrite(latchPin, HIGH);
}
und hier ein bild der Matrix, wenn der Arduino diese mit dem Quellcode ansteuert:
Die LED in der 3 Reihe spinnt manchmal, hat nix mit dem Progg zutun.
Wenn Ihr noch weitere Informationen benötigt, lasst es mich wissen. Bin hier relativ neu und freue mich über Tipps und Tricks rund ums programmieren.
Wenn es irgendwelche Tutorial's gibt könnt ihr mir die auch gerne senden :).
Danke schonmal im Vorraus,
idl0r