//mraw #define t1 PA15 #define t2 PA12 #define t3 PA13 #define t4 PA13 #define t5 PA13 #define t6 PA13 #define reihe01 PB14 #define reihe02 PB15 #define reihe03 PA8 #define reihe04 PA9 #define reihe05 PA10 #define reihe06 PB5 #define reihe07 PB6 #define reihe08 PB7 #define reihe09 PB8 #define reihe10 PB9 #define reihe11 PA3 #define reihe12 PA4 #define reihe13 PA5 #define reihe14 PA6 #define reihe15 PA7 #define reihe16 PB0 #define reihe17 PB1 #define reihe18 PB10 #define reihe19 PB13 #define rot PA2 #define grun PA13 #define blau PB12 #define spalte1 PC13 #define spalte2 PC14//blaublack grun weis pingweis #define spalte3 PC15 #define spalte4 PA0 #define spalte5 PA1 #define spalte6 PB11 //B11 #define einpaar 114 long maintime = millis(),setz = micros(),dsutyt=micros(); uint16_t ende=32,beatsplit,fadefine=400,strop[einpaar+1],loch[einpaar+1][10],duty[4],rainbow; uint8_t onpress[17]; void setup(){ pinMode(t1,INPUT);pinMode(t2,INPUT);pinMode(t2,INPUT);pinMode(t3,INPUT);pinMode(t4,INPUT);pinMode(t5,INPUT); pinMode(reihe01,OUTPUT);pinMode(reihe02,OUTPUT);pinMode(reihe03,OUTPUT);pinMode(reihe04,OUTPUT);pinMode(reihe05,OUTPUT);pinMode(reihe06,OUTPUT);pinMode(reihe07,OUTPUT);pinMode(reihe08,OUTPUT);pinMode(reihe09,OUTPUT); pinMode(reihe10,OUTPUT);pinMode(reihe11,OUTPUT);pinMode(reihe12,OUTPUT);pinMode(reihe13,OUTPUT);pinMode(reihe14,OUTPUT);pinMode(reihe15,OUTPUT);pinMode(reihe16,OUTPUT);pinMode(reihe17,OUTPUT);pinMode(reihe18,OUTPUT);pinMode(reihe19,OUTPUT); pinMode(spalte1,OUTPUT);pinMode(spalte2,OUTPUT);pinMode(spalte3,OUTPUT);pinMode(spalte4,OUTPUT);pinMode(spalte5,OUTPUT);pinMode(spalte6,OUTPUT); pinMode(rot,OUTPUT);pinMode(grun,OUTPUT);pinMode(blau,OUTPUT); delay(50);} void loop(){zeitreise(); } //waswo 0dutym 1=modlator 2livetime 3fade- 4aus 5 duty2 6mod2 uint8_t oderso[4][4]={{4,16},{8,24},{16,24}},x; void zeitreise(void){ //0-rot 1-blau 2-grun 3-gelb 4-orange 5-weis while ((millis()- maintime) >=100) { istinput(); maintime = millis();} while ((micros()- setz)>(20100/1.828)){//rawwert beatsplit++; for(uint8_t alle=0; alle0&&beatsplit%loch[alle][1]==0){strop[alle]=loch[alle][0];} // if(strop[alle]==0&&loch[alle][2]>0&&beatsplit%loch[alle][6]==0){strop[alle]=loch[alle][5];} if(loch[alle][2]==0&&loch[alle][4]==0){loch[alle][0]=fadefine-1;x=random(0,1);loch[alle][5]=fadefine-1;loch[alle][1]=random(6,31);loch[alle][2]=random(4,12)*4;loch[alle][3]=random(160,320);loch[alle][6]=random(2,16);} } if(beatsplit >=ende){beatsplit=0;strop[10]=fadefine-1; for(uint8_t ale=0; ale0){loch[ale][2]--;}if(loch[ale][4]>0){loch[ale][4]--;}} } setz=micros();} while ((micros()- dsutyt) >=200) { machlicht();//alltest(); downfade(); dsutyt = micros();} } void rainbowcalc(void) { if(rainbow >=0 && rainbow <=400) {duty[0] =400; duty[1] =rainbow; duty[2] =0;} //rot ->gelb (rotmax grün+ blau0) if(rainbow >=401 && rainbow <=801) {duty[0] =(400 -(rainbow -401)); duty[1] =400; duty[2] =0;} //gelb ->grün (rot- grünmax blau0) if(rainbow >=802 && rainbow <=1202) {duty[0] =0; duty[1] =400; duty[2] =(rainbow - 802);} //grün ->cyan (rot0 grünmax blau+) if(rainbow >=1203 && rainbow <=1603) {duty[0] =0; duty[1] =(400 -(rainbow - 1203)); duty[2] =400;} //cyan ->blau (rot0 grün- blaumax) if(rainbow >=1604 && rainbow <=2004) {duty[0] =(rainbow-1604); duty[1] =0; duty[2] =400;} //blau ->lila (rot+ grün0 blaumax) if(rainbow >=2005 && rainbow <=2405) {duty[0] =400; duty[1] =0; duty[2] =(400- (rainbow -2006));} //lila ->rot (rotmax grün0 blau-) if(rainbow >= 2406) {rainbow =0;}} uint8_t steptz=30; void downfade(void) { for (int16_t e=0; e =loch[e][3]) {strop[e]-=loch[e][3];} if(strop[e]>=50&&strop[e]<=350) { strop[e]-=50;} if(strop[e]>=10) { strop[e]-=10;} if(strop[e]>=2) { strop[e]-=2 ;} if(strop[e]>0) { strop[e]--;} }} void alltest(void){ for (int16_t er=0; er =1) { if (fcount1 == ((fadefine)-strop[sp*1])) { digitalWrite(reihe01,LOW);} if (fcount1 == ((fadefine)-strop[sp*2])) { digitalWrite(reihe02,LOW);} if (fcount1 == ((fadefine)-strop[sp*3])) { digitalWrite(reihe03,LOW);} if (fcount1 == ((fadefine)-strop[sp*4])) { digitalWrite(reihe04,LOW);} if (fcount1 == ((fadefine)-strop[sp*5])) { digitalWrite(reihe05,LOW);} if (fcount1 == ((fadefine)-strop[sp*6])) { digitalWrite(reihe06,LOW);} if (fcount1 == ((fadefine)-strop[sp*7])) { digitalWrite(reihe07,LOW);} if (fcount1 == ((fadefine)-strop[sp*8])) { digitalWrite(reihe08,LOW);} if (fcount1 == ((fadefine)-strop[sp*9])) { digitalWrite(reihe09,LOW);} if (fcount1 == ((fadefine)-strop[sp*10])) { digitalWrite(reihe10,LOW);} if (fcount1 == ((fadefine)-strop[sp*11])) { digitalWrite(reihe11,LOW);} if (fcount1 == ((fadefine)-strop[sp*12])) { digitalWrite(reihe12,LOW);} if (fcount1 == ((fadefine)-strop[sp*13])) { digitalWrite(reihe13,LOW);} if (fcount1 == ((fadefine)-strop[sp*14])) { digitalWrite(reihe14,LOW);} if (fcount1 == ((fadefine)-strop[sp*15])) { digitalWrite(reihe15,LOW);} if (fcount1 == ((fadefine)-strop[sp*16])) { digitalWrite(reihe16,LOW);} if (fcount1 == ((fadefine)-strop[sp*17])) { digitalWrite(reihe17,LOW);} if (fcount1 == ((fadefine)-strop[sp*18])) { digitalWrite(reihe18,LOW);} if (fcount1 == ((fadefine)-strop[sp*19])) { digitalWrite(reihe19,LOW);} if (fcount1 == ((fadefine)-duty[0])) { digitalWrite(rot,HIGH);} if (fcount1 == ((fadefine)-duty[1])) { digitalWrite(grun,HIGH);} if (fcount1 == ((fadefine)-duty[2])) { digitalWrite(blau,HIGH);} if (fcount1 >= (fadefine)) {noreihe(); nospalte();} }}}} void noreihe(void){ digitalWrite(reihe01,HIGH);digitalWrite(reihe02,HIGH);digitalWrite(reihe03,HIGH);digitalWrite(reihe04,HIGH);digitalWrite(reihe05,HIGH);digitalWrite(reihe06,HIGH);digitalWrite(reihe07,HIGH);digitalWrite(reihe08,HIGH);digitalWrite(reihe09,HIGH); digitalWrite(reihe10,HIGH);digitalWrite(reihe11,HIGH);digitalWrite(reihe12,HIGH);digitalWrite(reihe13,HIGH);digitalWrite(reihe14,HIGH);digitalWrite(reihe15,HIGH);digitalWrite(reihe16,HIGH);digitalWrite(reihe17,HIGH);digitalWrite(reihe18,HIGH);digitalWrite( reihe19,HIGH); digitalWrite(rot,LOW);digitalWrite(grun,LOW);digitalWrite(blau,LOW);} void nospalte(void){digitalWrite(spalte1,LOW);digitalWrite(spalte2,LOW);digitalWrite(spalte3,LOW);digitalWrite(spalte4,LOW);digitalWrite(spalte5,LOW);digitalWrite(spalte6,LOW);} void istinput(void){onpress[11]++; if (onpress[11] >2) { if (digitalRead(t1) == HIGH && onpress[0] ==0) { onpress[0] =1;} if (onpress[0] == 1) { onpress[1]++;} if (onpress[1] >= 10) { onpress[1] =0; onpress[0]=0; } if (digitalRead(t2) == HIGH && onpress[2] ==0) { onpress[2] =1;} if (onpress[2] == 1) { onpress[3]++;} if (onpress[3] >= 5) { onpress[3] =0; onpress[2]=0; } if (digitalRead(t3) == HIGH && onpress[3] ==0) { onpress[3] =1;} if (onpress[3] == 1 ) { onpress[4]++;} if (onpress[4] >= 5) { onpress[4] =0; onpress[3]=0; } if (digitalRead(t4) == HIGH && onpress[5] ==0) { onpress[5] =1;} if (onpress[5] == 1) { onpress[6]++;} if (onpress[6] >= 10) { onpress[6] =0; onpress[5]=0; } if (digitalRead(t5) == HIGH && onpress[7] ==0) { onpress[7] =1;} if (onpress[7] == 1) { onpress[8]++;} if (onpress[8] >= 10) { onpress[8] =0; onpress[7]=0; } onpress[11]=0; }} //have fudo with the code whateverwantto =^.^=