Wil een functie void Led(int X)
Als Led=(1) (37) (73) (109) (145) (181)
Maak 1 high (pin 13)
Als Led = (2) (38) enz
Maak 2 high(pin 14)
Tot aan als led =(36) (72)...... (216).
Maak 36 high. (pin 48)
En daarnaast moet hij bij:
1 tot 36 Layer1 hoog maken.
37 tot 72 Layer1 enz.
Heb hiervoor een void Layer aangemaakt.
Hij moet dus bij Led(1);
Layer1 hoogmaken is pin 1 sr6/6
En pin 13 sr5/6
Ik heb dat nu als een if statement.
Maar zou hem graag korter hebben als in een for loop met een formule erin.
Zodat ik niet meer heb dan wat ik gedaan heb bij de Zas.
code:
void Z(int Z)
{
for (int i = 0; i <=217; i+36)
{
Led(i *Z) ;
delay(1);
}}
Had iets in gedachten.
code:
void Led(int pin)
{
if(pin <= 37) { // pin 1 t/m 6 activeert Layer1//
Layer(1);}
else if(pin <= 36 || pin >= 73) { // pin 7 t/m 12 activeert Layer2//
Layer(2);}
else if(pin <= 72 || pin >= 109) { // pin 13 t/m 18 activeert Layer3//
Layer(3);}
else if(pin <= 108 || pin >= 145) { // pin 19 t/m 24 activeert Layer4//
Layer(4);}
else if(pin <= 144 || pin >= 181) { // pin 25 t/m 30 activeert Layer5//
Layer(5);}
else if(pin <= 180 || pin >= 217) { // pin 31 t/m 36 activeert Layer6//
Layer(6);}
for (int i = pin; i <= 217; i+36)
{
if(i % i == pin +12) {
shift.writeBit(pin, HIGH);
}else{
shift.writeBit(pin +12, LOW);
}
}
}
Maar i % i =altijd 1 dus dat klopt niet zo.
Iemand ideeen
Heb nog een ander forum gevraagd als ik antwoord heb zal ik het melden scheelt jullie denkwerk.