Hoi,
Ik heb thuis een 7x7x7 LED cube gemaakt. Deze gebruikt 7 Shift registers (74HC595). Ik zit nu echter in de knoei om een algoritme te vinden dat deze LED cube goed kan aansturen. Ik moet natuurlijk multiplexeren.
Ik heb al aan het zoeken geweest en waar ik op gekomen ben is om een array aan te maken waar elke laag in zit. Nu was ik aan het denken om een 2e array aan te maken waar grote getallen in zitten, en deze dan om te vormen naar de eerste array.
Hieronder de code die ik heb.
int Latchpin = 8;
int OEpin = 9;
int Clkpin = 11;
int Datapin = 12;
void setup(){
Serial.begin(9600);
pinMode(Latchpin, OUTPUT);
pinMode(OEpin, OUTPUT);
pinMode(Clkpin, OUTPUT);
pinMode(Datapin, OUTPUT);
analogWrite(OEpin, 240);
}
void loop(){
}
void makeImage(int lagen[]){
}
void shift(byte data[]){
digitalWrite(Latchpin, LOW);
shiftOut(Datapin, Clkpin, MSBFIRST, data[0]);
shiftOut(Datapin, Clkpin, MSBFIRST, data[1]);
shiftOut(Datapin, Clkpin, MSBFIRST, data[2]);
shiftOut(Datapin, Clkpin, MSBFIRST, data[3]);
shiftOut(Datapin, Clkpin, MSBFIRST, data[4]);
shiftOut(Datapin, Clkpin, MSBFIRST, data[5]);
shiftOut(Datapin, Clkpin, MSBFIRST, data[6]);
delay(1);
digitalWrite(Latchpin, HIGH);
}
Kan iemand mij hier mee helpen? Ik heb al 3 weken aan het zoeken geweest maar ik vind helemaal niets.
Groeten,
Erates
EDIT:
Ik kan ook natuurlijk elke keer de byte array opnieuw invullen, en dan deze uitsturen, maar dan zit mijn programmageheugen onmiddelijk vol en als ik het wil aanpassen word het ook een troep.