Das wäre jetzt zb. die Animation für den Regen...
void rainVersionTwo(){buttonState = digitalRead(buttonPin), buttonState1 = digitalRead(buttonPin1);
int x[64], y[64], z[64], addr, leds=64, bright=1, ledcolor, colowheel;
int xx[64], yy[64], zz[64], xold[64], yold[64], zold[64], slowdown;
int blau,rot,bunt;
sensorValue = analogRead(analogPin);
digital = map(sensorValue, 0,50 , 0,50); // Muss nicht sein, kann aber !
lcd.setCursor(0,0);
lcd.print(digital);
for(addr=0; addr<32; addr++){
x[addr]=random(3);
y[addr]=random(3);
z[addr]=random(3);
xx[addr]=random(3);
yy[addr]=random(3);
zz[addr]=random(3);
}
//*********************************LCD Anweisungen************************************
if((buttonState == HIGH) &!(buttonState1==HIGH)){
lcd.setCursor(0,0);
lcd.print("Blue-Rain!!");
//return;
}
if ((buttonState1 == HIGH)&! (buttonState == HIGH)){
lcd.setCursor(7,0);
lcd.print("Red-Rain");
//return;
}
if ((buttonState == LOW)&&(buttonState1 ==LOW)){
lcd.setCursor(0,0);
lcd.print("Green-Rain!!");
//return;
}
if ((buttonState == HIGH) &&( buttonState1 == HIGH)){
lcd.setCursor(0,0);
lcd.print("Rainbow-Rain!!");
//return;
}
delay(3000);
//********************************************************************************************
start=millis();
while(millis()-start<100000000){
if((buttonState == HIGH) &!(buttonState1==HIGH)){ //************* Button Funktion 1
for(addr=0; addr<leds; addr++){
LED(zold[addr], xold[addr], yold[addr], 0, 0, 0);
if(z[addr]<=3)
LED(z[addr], x[addr], y[addr], 3, 0, 12);
if(z[addr]==2)
LED(z[addr], x[addr], y[addr], 10, 0, 15);
if(z[addr]==1)
LED(z[addr], x[addr], y[addr], 10, 0, 10);
if(z[addr]<=0)
LED(z[addr], x[addr], y[addr], 10, 0, 1);
}}//200
if ((buttonState1 == HIGH)&! (buttonState == HIGH)){//************** Button Funktion 2
;
for(addr=0; addr<leds; addr++){
LED(zold[addr], xold[addr], yold[addr], 0, 0, 0);
if(z[addr]==3)
LED(z[addr], x[addr], y[addr], random(10,15), 0, 0);
if(z[addr]==2)
LED(z[addr], x[addr], y[addr], random (10,15), 2, 0);
if(z[addr]==1)
LED(z[addr], x[addr], y[addr], random(10,15), 5, 0);
if(z[addr]<=0)
LED(z[addr], x[addr], y[addr], random (10,15), 10, 0);
}}//300
// if(ledcolor>=200&&ledcolor<300){
if ((buttonState == LOW)&&(buttonState1 ==LOW)){//*****************Button Funktion 3
// lcd.setCursor(0,0);
// lcd.print("Green-Rain!!");
//delay(10);
for(addr=0; addr<leds; addr++){
LED(zold[addr], xold[addr], yold[addr], 0, 0, 0);
if(z[addr]==3)
LED(z[addr], x[addr], y[addr], 0, random(1,16), 10);
if(z[addr]==2)
LED(z[addr], x[addr], y[addr], 0, random (1,16), 8);
if(z[addr]==1)
LED(z[addr], x[addr], y[addr], 0, random (1,16), 1);
if(z[addr]<=0)
LED(z[addr], x[addr], y[addr], 0, random (1,16), 1);
}}
// if(ledcolor>=300&&ledcolor<400){
if ((buttonState == HIGH) &&( buttonState1 == HIGH)){//*****************Button Funktion 4
//lcd.setCursor(0,0);
//lcd.print("Rainbow-Rain!!");
// delay(10);
for(addr=0; addr<leds; addr++){
LED(zold[addr], xold[addr], yold[addr], 0, 0, 0);
if(z[addr]==3)
LED(z[addr], x[addr], y[addr], random(1,16),random (1,16) ,random (1,16));
if(z[addr]==2)
LED(z[addr], x[addr], y[addr], random(1,16),random (1,16) ,random (1,16));
if(z[addr]==1)
LED(z[addr], x[addr], y[addr], random(1,16),random (1,16) ,random (1,16));
if(z[addr]<=0)
LED(z[addr], x[addr], y[addr], random(1,16),random (1,16) ,random (1,16));
}}
/* if(ledcolor>=400&&ledcolor<500){
for(addr=0; addr<leds; addr++){
LED(zold[addr], xold[addr], yold[addr], 0, 0, 0);
if(z[addr]==3)
LED(z[addr], x[addr], y[addr], 15, 10, 10);
if(z[addr]==2)
LED(z[addr], x[addr], y[addr], 15, 12, 12);
if(z[addr]==1)
LED(z[addr], x[addr], y[addr],15, 13, 13);
if(z[addr]<=0)
LED(z[addr], x[addr], y[addr], 10, 10, 10);
}}*/
ledcolor++;
if(ledcolor>=200)
ledcolor=0;
for(addr=0; addr<leds; addr++){
xold[addr]=x[addr];
yold[addr]=y[addr];
zold[addr]=z[addr];
}
delay(digital*10);
//for(addr=0; addr<leds; addr++)
//LED(z[addr], x[addr], y[addr], 0, 0, 0);
for(addr=0; addr<leds; addr++){
//slowdown = random(8);
//if(bitRead(z[addr],0))
z[addr] = z[addr]-1;
// x[addr] = x[addr]+1;
// y[addr] = y[addr]+1;
if(z[addr]<random(-100,0)){
x[addr]=random(4);
y[addr]=random(4);
int select=random(4);
if(select==0){
xx[addr]=0;
zz[addr]=random(4);
yy[addr]=random(4);
//zz[addr]=0;
}
if(select==1){
xx[addr]=random(4);
zz[addr]=0;
yy[addr]=random(4);
//yy[addr]=0;
}
if(select==2){
xx[addr]=random(4);
zz[addr]=random(4);
yy[addr]=0;
}
z[addr]=3;
}//-check
}//add
}//while
lcd.clear();
}//rainv2