//(C)2013 by John Baustian All Rights Reserved //for information email jbaustian.valvetron@gmail.com int PinArray[] = {3,5,6,9,10,11}; //PWM pins int bright[6]; int newbright[6]; int delta[6]; int sign[6]; int count[6]; int wait = 0; int speed_pot = 0; int speed_set = 0; void setup() { // initialize brightness >=16 for(int i=0;i<=5;i++){ bright[i] = 16 + random(239); } } void loop() { //get speed setting speed_set = analogRead(speed_pot) ; wait = speed_set / 32 ; //get new brightness parameters for(int i=0; i<=5; i++) { int up_down = int(random(5)); switch(up_down){ case 0: case 1: sign[i] = -2; break; case 2: sign[i] = 0; break; case 3: case 4: sign[i] = 2; break; default: sign[i] = 0; } } //output for(int j=0; j<=20; j++){ for(int i=0;i<=5;i++) { bright[i] = bright[i] + sign[i]; bright[i] = constrain(bright[i], 16, 255); analogWrite(PinArray[i],bright[i]); } delay(wait); } }