//plasma speaker testprog by marderchen #define t1 PB12 #define t2 PB13 #define t3 PB14 #define t4 PB15 #define t5 PA8 #define t6 PB11 #define t7 PB10 #define t8 PB0 #define sound PA0 #define plasma PA1 #define pruf PB5 long allfcount = micros(); long maintime = millis(); int onpress[17]; int zeit1 =0; long zeita =10; //untervallspeed int zeitb =0; //anzeitverlängerung int zeitc =0; //auszeitverlängerung int teiler =10; //emfpindlichkeit int fcount1 =0; int soundi =0; int soundminimum =2; void setup() { pinMode(plasma, OUTPUT); pinMode(pruf, OUTPUT); pinMode(t1, INPUT); pinMode(t2, INPUT); pinMode(t3, INPUT); pinMode(t4, INPUT); pinMode(t5, INPUT); pinMode(t6, INPUT); pinMode(t7, INPUT); pinMode(t8, INPUT); } void loop() { zeitreise(); istinput(); rechneplasma(); if (analogRead(sound) > 10) {soundi = analogRead(sound)-zeitc; speak();} if (analogRead(sound) <10) {digitalWrite(plasma, LOW );}} void istinput(void){ if (zeit1 >=1) { if (digitalRead(t1) == HIGH && onpress[0] ==0) { onpress[0] =1; } //minisound if (onpress[0] == 1) { onpress[1]++;} if (onpress[1] == 2) { if (soundminimum >3) {soundminimum-=1;} digitalWrite(pruf, HIGH );} //tudinge if (onpress[1] >= 10) { onpress[1] =0; onpress[0]=0; digitalWrite(pruf, LOW );} if (digitalRead(t2) == HIGH && onpress[2] ==0) { onpress[2] =1; } if (onpress[2] == 1) { onpress[3]++;} if (onpress[3] == 2) { if (soundminimum <4000) {soundminimum+=1;} digitalWrite(pruf, HIGH );} //tudinge if (onpress[3] >= 10) { onpress[3] =0; onpress[2]=0; digitalWrite(pruf, LOW );} if (digitalRead(t3) == HIGH && onpress[4] ==0) { onpress[4] =1; } if (onpress[4] == 1) { onpress[5]++;} if (onpress[5] == 2) { teiler--; digitalWrite(pruf, HIGH );} //tudinge if (onpress[5] >= 10) { onpress[5] =0; onpress[4]=0; digitalWrite(pruf, LOW );} if (digitalRead(t4) == HIGH && onpress[6] ==0) { onpress[6] =1; } if (onpress[6] == 1) { onpress[7]++;} if (onpress[7] == 2) { teiler++; digitalWrite(pruf, HIGH );} //tudinge if (onpress[7] >= 10) { onpress[7] =0; onpress[6]=0; digitalWrite(pruf, LOW );} if (digitalRead(t5) == HIGH && onpress[8] ==0) { onpress[8] =1; } if (onpress[8] == 1) { onpress[9]++;} if (onpress[9] == 2) { zeitb--; digitalWrite(pruf, HIGH );} //tudinge if (onpress[9] >= 10) { onpress[9] =0; onpress[8]=0; digitalWrite(pruf, LOW );} if (digitalRead(t6) == HIGH && onpress[10] ==0) { onpress[10] =1; } if (onpress[10] == 1) { onpress[11]++;} if (onpress[11] == 2) { zeitb++; digitalWrite(pruf, HIGH );} //tudinge if (onpress[11] >= 10) { onpress[11] =0; onpress[10]=0; digitalWrite(pruf, LOW );} if (digitalRead(t7) == HIGH && onpress[12] ==0) { onpress[12] =1; } //zeitc -signal if (onpress[12] == 1) { onpress[13]++;} if (onpress[13] == 2) { zeitc-=4; digitalWrite(pruf, HIGH );} //tudinge if (onpress[13] >= 10) { onpress[13] =0; onpress[12]=0; digitalWrite(pruf, LOW );} if (digitalRead(t8) == HIGH && onpress[14] ==0) { onpress[14] =1; } if (onpress[14] == 1) { onpress[15]++;} if (onpress[15] == 2) {zeitc+=2; digitalWrite(pruf, HIGH );} //tudinge if (onpress[15] >= 10) { onpress[15] =0; onpress[14]=0; digitalWrite(pruf, LOW );} zeit1=0; }} void zeitreise(void){ while ((millis()- maintime) >= 10) { zeit1++; maintime = millis(); } } void rechneplasma(void){ zeita = ((soundi /teiler)* soundminimum) +zeitb; } void speak(void) { while ((micros()-allfcount) >= 2) { fcount1++; if (fcount1 == 1) { digitalWrite(plasma, HIGH );} if (fcount1 >= (2) ) { digitalWrite(plasma, LOW );} if (fcount1 >= (zeita+2) ) {fcount1 = 0; } allfcount = micros(); } } //programm by marderchen =^.^= /* MMMMMMMM MMMMMMMMEEEEEEEEEEEEEEEEEEEEEE OOOOOOOOO WWWWWWWW WWWWWWWW M:::::::M M:::::::ME::::::::::::::::::::E OO:::::::::OO W::::::W W::::::W M::::::::M M::::::::ME::::::::::::::::::::E OO:::::::::::::OO W::::::W W::::::W M:::::::::M M:::::::::MEE::::::EEEEEEEEE::::EO:::::::OOO:::::::OW::::::W W::::::W M::::::::::M M::::::::::M E:::::E EEEEEEO::::::O O::::::O W:::::W WWWWW W:::::W M:::::::::::M M:::::::::::M E:::::E O:::::O O:::::O W:::::W W:::::W W:::::W M:::::::M::::M M::::M:::::::M E::::::EEEEEEEEEE O:::::O O:::::O W:::::W W:::::::W W:::::W M::::::M M::::M M::::M M::::::M E:::::::::::::::E O:::::O O:::::O W:::::W W:::::::::W W:::::W M::::::M M::::M::::M M::::::M E:::::::::::::::E O:::::O O:::::O W:::::W W:::::W:::::W W:::::W M::::::M M:::::::M M::::::M E::::::EEEEEEEEEE O:::::O O:::::O W:::::W W:::::W W:::::W W:::::W M::::::M M:::::M M::::::M E:::::E O:::::O O:::::O W:::::W:::::W W:::::W:::::W M::::::M MMMMM M::::::M E:::::E EEEEEEO::::::O O::::::O W:::::::::W W:::::::::W M::::::M M::::::MEE::::::EEEEEEEE:::::EO:::::::OOO:::::::O W:::::::W W:::::::W M::::::M M::::::ME::::::::::::::::::::E OO:::::::::::::OO W:::::W W:::::W M::::::M M::::::ME::::::::::::::::::::E OO:::::::::OO W:::W W:::W MMMMMMMM MMMMMMMMEEEEEEEEEEEEEEEEEEEEEE OOOOOOOOO WWW WWW `..`... `...... `.. .. `........`....... `........`........ `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `...... `. `.. `...... `...... `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. `.. .. `.. `.. `..`........`........ */