/* ------------------------------------------------------------- candle_array_random lights an LED connected to pin 6 -Uses Pulse-Width modulation and an array --------------------------------------------------------------*/ int buttonState = 0; // create variable for storing "state" of the button int buttonPin = 5; // create variable for button pin number int LEDpin = 6; int flicker_value[]={62,15,25,60,100,85,20,180}; // 8 item array void setup() { pinMode(LEDpin, OUTPUT); // initialize the digital pin as an output (for LED.) pinMode(buttonPin, INPUT_PULLUP); // initialize the digital pin as an input (for switch.) } void loop() { // repeat forever buttonState = digitalRead(buttonPin); // "Read" voltage (check switch.) // If low, the switch is closed if (buttonState == LOW) { blow(); } else { no_blow(); } } void blow() { int r = random(0, 8); analogWrite(LEDpin, flicker_value[r]); // PWM (brightness) value from flicker_value array delay(r * 10); } // end blow function void no_blow() { int r = random(100, 255); analogWrite(LEDpin, r); // PWM for random brightness in 100-255 range delay(random(200,350)); // delay for random duration } |