// // random tri-color fading LED *common cathode* // int value; int w; int x; int y; int gradation = 255; float light_value; long value_RED; long value_GREEN; long value_BLUE; int ledpin1 = 9; // red LED connected to pwm pin 9 via 1K ohm resistor int ledpin2 = 10; // blue LED connected to pwm pin 10 via 1K ohm resistor int ledpin3 = 11; // green LED connected to pwm pin 11 via 1K ohm resistor // LED cathode connected to ground void setup() { // nothing for setup } void loop() { value_RED = random(256); // puts a random number between 0 and 255 into value_RED value_BLUE = random(256); // puts a random number between 0 and 255 into value_BLUE value_GREEN = random(256); // puts a random number between 0 and 255 into value_GREEN for(value = 0; value <=255; value+=5) // ramp the number in "value" from 0 to 255 { light_value = value_GREEN*((float)value/(float)gradation); w = light_value; // transfer light_value into an integer light_value = value_BLUE*((float)value/(float)gradation); x = light_value; // transfer light_value into an integer light_value = value_RED*((float)value/(float)gradation); y = light_value; // transfer light_value into an integer analogWrite(ledpin1, y); // increase the voltage in pin 9 from 0 to random volts analogWrite(ledpin2, x); // increase the voltage in pin 10 from 0 to random volts analogWrite(ledpin3, w); // increase the voltage in pin 11 from 0 to random volts delay(30); // waits for 30 milli seconds to see the dimming effect } for(value = 255; value >=0; value-=5) // ramp the number in "value" from 255 to 0 { light_value = value_GREEN*((float)value/(float)gradation); w = light_value; light_value = value_BLUE*((float)value/(float)gradation); x = light_value; light_value = value_RED*((float)value/(float)gradation); y = light_value; analogWrite(ledpin1, y); // increase the voltage in pin 9 from random to 0 volts analogWrite(ledpin2, x); // increase the voltage in pin 10 from random to 0 volts analogWrite(ledpin3, w); // increase the voltage in pin 11 from random to 0 volts delay(30); // waits for 30 milli seconds to see the dimming effect } delay(700); // wait .7 seconds between fade up and down }