I was recently reserching on LEDs and I stumbled upon this page as I read it I found that LEDs are not just used to emit light but the also have the ability to sense light.At first using LED as light sensor sounds complicated but it quiet quickly becomes clear. This is a fun project in which we will be experimenting with LEDs requires minimal parts.

This instructable will explain you how to use a LED as sensor,creating it on a breadboard,making a shield for arduino, how to get a reading from our LED sensor and how to change the sensitivity of our sensor.

This is my first instructable, any suggestions,corrections or comments are welcome.

This instructable is a entry in the arduino contest so if you like it please vote.

A short video of the sensor in sensitive to dark mode:


A short video of it in the light sensitive mode:

Step 1: Why Arduino?

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.There are many other microcontrollers and microcontroller platforms available for physical computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and many others offer similar functionality. All of these tools take the messy details of microcontroller programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of working with microcontrollers, but it offers some advantage for teachers, students, and interested amateurs over other systems:

~ Inexpensive - Arduino boards are relatively inexpensive compared to other microcontroller platforms. The least expensive version of the Arduino module can be assembled by hand, and even the pre-assembled Arduino modules cost less than $50

~ Cross-platform - The Arduino software runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.
Simple, clear programming environment - The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers, it's conveniently based on the Processing programming environment, so students learning to program in that environment will be familiar with the look and feel of Arduino

~ Open source and extensible software- The Arduino software and is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it's based. SImilarly, you can add AVR-C code directly into your Arduino programs if you want to.

~ Open source and extensible hardware - The Arduino is based on Atmel's ATMEGA8 and ATMEGA168 microcontrollers. The plans for the modules are published under a Creative Commons license, so experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively inexperienced users can build the breadboard version of the module in order to understand how it works and save money.

(Taken From Official Website Of Arduino)
<p>is there a codes available for this ? </p>
Would have loved to see your videos but they no longer exist. Your pictures were great though and illustrate your instructable very well. This was a great read and I learned something because I didn't know that LEDs could be used like this. Thanks for the great info!
In the supplies section, it says we need resistors - but where do we put the resistors on the Arduino? <br> <br>(I'm new at this, and I thought your Instructable was really cool and decided to give it a try.)
You can connect the resistor to the outputting LED for providing more protection to it but there is already a resistor on pin13 of the arduino so I didnt use it.
Oh! I see. Thank you for the help! This is a really neat idea, thank you for sharing :).
I did some code editing so that I had both a light and dark detector without having the need to reprogram it. Here is the result:<br> <br> <div class="media_embed"> <iframe frameborder="0" height="315" src="http://www.youtube.com/embed/40jWuP5y1G0" width="560"></iframe></div>
I also made the same thing earlier here is the result btw you deserve a patch for your innovation.<br> <div class="media_embed"> <iframe frameborder="0" height="315" src="http://www.youtube.com/embed/Pt0OX4_YvR8" width="420"></iframe></div>
Great work!
Great project never thought that a LED can be used as a sensor!!XD
Wonderful discovery! Just tried it out and thats what I call MARVELOUS!
Post some pictures and get a patch!
This is brilliant. I mean REALLY brilliant. I'm following XD
what a project rohit!!....badiya ekdum...abe meko patch bejh in my this account!..please
This is a cool discovery.. but why not just use a photoresistor?
Yes can suerly use a photoresistor .
nice man, a great post !<br>that was actually a big discovery, i never heard of it before.<br><br>
I too never heard about it before seeing <a href="http://en.wikipedia.org/wiki/Light-emitting_diode" rel="nofollow">this</a>.It says they can be used to sense light.<br> <br> &Atilde;<br> <br>
I recall seeing a design for a clock, LED based, where the flashing colon in the time (12:00) was implemented using two discrete LEDs. When driven (high) by an I/O port, they lit. The other half of the time, they weren't just off, they were switched as analogue INPUTS to read the &quot;light level&quot; in the room.<br><br>This then allowed the microcontroller driving the LEDs for the whole display to adjust the brightness of the display according to the light level in the room, as the current fed to the display was under the microcontroller's supervision.<br><br>Now that's a cool trick! Two uses for the same LED. I'm sure similar things can be done on Arduiono/ATMEGA/PIC, as long as you can reprogram an I/O pin from a driven OUTPUT to an analogue INPUT.<br>

About This Instructable




Bio: Preapering for my medical entrance exams
More by Bot1398:555 Crriter Repellent Solar Powered Clock Hack DIY Astronomy Flashlight 
Add instructable to: