Introduction: LED Pumpkin Light Controlled by Arduino

Picture of LED Pumpkin Light Controlled by Arduino

The initial vision for the project was to set up an LED to turn on and off by itself based on ambient light, and to flicker and vary intensity to simulate a candle.

Parts required:
1 x Arduino
1 x LED (preferably a bright amber one for realism)
1 x LDR (Light dependent resistor)
1 x 1000 ohm resistor
1 x 220 ohm resistor


Step 1: Carve a Pumpkin

Picture of Carve a Pumpkin

Carve a pumpkin

Step 2: Write Code

Picture of Write Code

I wrote in several random values so that the effect is somewhat realistic. Change around the values or better yet the entire code if you want a different or more realistic effect.

I've never really had any formal programming instruction, and as a result my code is probably almost as inefficient as using an arduino to light a pumpkin.

So if anyone has suggestions on how to make the code more efficient, or all-around better I would appreciate any help.

Step 3: Solder and Plug

Picture of Solder and Plug

Solder a couple wires to the LDR to allow for positioning within the pumpkin.
solder the 220 ohm resistor to the short leg of the LED and insert it in the ground pin.
Insert the long leg into digital pin 9.
Insert one wire from the LDR and one leg of the 1000 ohm resistor into analog pin 3
insert the other end of the LDR in 5v, and the other end of the 1000 ohm resistor into the second ground.


Step 4: Bag It Up

Picture of Bag It Up

Throw it in a ziploc bag to protect the electronics - You will want the bag to be big enough so that the LDR can be positioned in an opening in the pumpkin (so it can read the ambient light level)

Step 5: See It in Action

Comments

wirenut1980 (author)2011-08-23


Give this a try


// flickering LED
int ledPin = 11; // asign LED to pin 11
void setup() // setting things up
{
pinMode(ledPin, OUTPUT); // sets pin 11 to output
}
void loop() // starting loop
{
analogWrite(ledPin, random(50)+255); // outputs a random brightness between 206 and 255 on a scale of 255
delay(random(100)); // maintains that brightness for a random interval between 1 and 100 milliseconds
}

Sky-Monkey (author)wirenut19802011-08-23

Nice. Far more elegant than mine.

I'm still curious how efficient the power consumption of the system can be made so that with an LDR, the setup can be left alone for a week or more, and not need to be turned on/off daily. So any suggestions regarding that would still be appreciated.

Thanks

fungus amungus (author)2009-10-12

You should also enter this in the Arduino contest.

rivetgeek (author)2009-10-09

Im a little confused why you have additional resistors in the project?  The arduino has built in resistors for leds

Sky-Monkey (author)rivetgeek2009-10-09

I  know that pin 13 is set up for a led, but I dont know of a way to output from any of the PWM pins (3,5,6,9,10,11) at a voltage less than 5v. There certainly may be a way, and if you know how i'd appreciate you explaining. The 1000 ohm on the LDR was put in place becausse I saw someone hook one up that way and it worked- no reason beyond that. Im still learning, so there is likely a better way to do it - and I was hoping that someone would show me how. Thanks in advance if you can :)

About This Instructable

11,252views

16favorites

License:

Bio: I have a never-ending desire to try new things, build stuff, experiment, and learn. I don't really watch TV, or play video games - I ... More »
More by Sky-Monkey:The Jack-O-MobileSky-Monkey's DreamBuild and Fly a Paramotor - safely and inexpensively
Add instructable to: