Two ways to use an LED as a light sensor with Arduino
John Graham-Cumming shared methods to use an LED as a light sensor with Arduino. One method uses photovoltaic effect, the other treats LED as a capacitor. Arduino code snippets demonstrate implementation. Alternative connection method suggested.
Read original articleJohn Graham-Cumming shared two methods to use an LED as a light sensor with an Arduino. The first method involves using the LED's photovoltaic effect by reading the voltage across the LED and logging it. By setting the reference voltage with a resistor, the LED can act as a light sensor. The second method utilizes the LED as a capacitor when reverse biased. By connecting the LED between two digital pins and measuring the discharge time, the brightness of light can be determined. The provided Arduino code snippets demonstrate how to implement these methods effectively. Additionally, the post includes a reader's comment suggesting an alternative connection method for using an LED as a light sensor. These techniques offer practical solutions for monitoring light levels using simple components and Arduino programming.
Related
Electromechanical Lunar Lander
The author created an electromechanical Lunar Lander game in 2016 for an interactive show. It replicated arcade mechanics with a kickball moon surface, controlled spaceship, and shared project code.
How to prolong lithium based batteries
Battery University offers insights on extending lithium-based battery life, focusing on lithium-ion tech. Factors like charging speed, depth of discharge, temperature, and cycling impact battery health. Guidelines on charge voltages and cycling are provided for longevity.
Hacking eInk Price Tags (2021)
Hackers repurpose eInk electronic shelf labels (ESLs) into photo frames or status displays by customizing firmware. Detailed exploration of hacking challenges, including Marvell chip analysis, bootloader functions, memory storage, communication protocols, and debugging methods.
Pi Gazing is a project to build meteor cameras using Raspberry Pi
A project called Pi Gazing uses Raspberry Pi computers and CCTV cameras to monitor the night sky, tracking objects like shooting stars and satellites. Users can access open-source code and observations on GitHub.
DIY PCB Method?
The article details a DIY process for making high-quality PCBs at home using tools like a CNC mill and UV curing resins. It involves steps like soldermask application and UV-curing ink, offering professional results.
An LED is still a photodiode, as this blogpost noted. But you'll get more consistent results with a real photodiode (or phototransistor, if you want a bit of amplification added in)
----------
Obviously the diode works here and for this project. But given higher levels of sophisticated photosiodes (but still a similar circuit), you can choose photosiodes that detect infrared light
We humans light up like a light bulb in the infrared spectrum. So two IR Photodiodes is all you need for a human motion sensor.
A motion sensor detects motion by looking at two pixels of IR light. Motion is 'defined' as one pixel lighting up.... Followed by the second pixel lighting up. If only one pixel lights up, then no motion (it's just a glitch). Real motion should show up across both pixels in a slight time delay fashion.
IR Photodiodes (or phototransistors) are used because it's the spectrum of light humans shine the most brightly in, despite being invisible to us humans it's the best sensor at the electronics level for these purposes.
---------
There really isn't much electrical complexity to the motion sensor that this blogpost was trying to debug.
I would suggest building your own motion sensor as the next step in your EE journey.
Another fun fact about light and semiconductors is that the first commercial digital camera - the Cromemco Cyclops - used a 32x32 memory ic that used a windowed dip package so the chip was exposed to light. The memory was refreshed to all 1's, and the light would flip them back to 0's with the strongest light flipping the bits the fastest. The times were then parsed and converted to pixel values.
See US Patent 6,870,148 B2 March 22 2005 "LED WITH CONTROLED CAPACITIVE DISCHARGE FOR PHOTO SENSING" by Mitsubishi Electric Research Lab (MERL). https://image-ppubs.uspto.gov/dirsearch-public/print/downloa...
Also:
Dietz, P.H., Yerazunis, W.S., Leigh, D.L., "Very Low-Cost Sensing and Communication Using Bidirectional LEDs", ACM International Conference on Ubiquitous Computing (UbiComp), October 2003. BibTeX TR2003-35 - https://www.merl.com/publications/TR2003-35
Which is good for ~30 Baud and distances of inches at best.
https://people.ece.cornell.edu/land/courses/ece4760/FinalPro...
https://advlabs.aapt.org/items/detail.cfm?ID=13808
It includes a simple circuit that probably anyone here on HN could build. (Even me!)
It turns out the microcontroller was doing read-modify-write on a port that had an LED connected, and in bright sunlight the LED input would be high, and then stay high after the write. It was fixed with a firmware update that set the LED bit based on whatever logic determined if it should be on on every write.
What other sensors/emitters can be reversed this way?
1. Peltier effect. 2. Piezoelectric effect.
The second one is especially useful in DYI stuff since you can use a piezo speaker in order to generate a current when mechanically stressed.
The above paper goes further implementing two way comms using only a LEDs
[1] https://www.researchgate.net/publication/221568729_Very_Low-...
[2] https://courses.cs.washington.edu/courses/cse590u/03su/paper...
A red LED emits a lower energy photon than a green LED. Each will pick up their own reflections, but the green LED will not pick up the light from the red one.
Interesting read John but since no one brought it up you should be careful to assume the sensor is at fault.
Hypothetically the timestamps in the example (roughly 00:00 to 04:00) sound like a fine time for rodents to roam and many motion sensors will also trigger on our small mass friends. :)
Have you seen the movie Parasite?
Wait, what? Photodiodes are supposed to be letting (dark) current through continuously when light hits them in reverse bias. Heck, I even tested it empirically myself, and the light was continuous.
On this topic, what kind of light detector is the most linear? Photodiode? Phototransistor? Photoresistor? Something else?
I'm thinking about connecting it to a white LED to have an ambient-aware light.
Related
Electromechanical Lunar Lander
The author created an electromechanical Lunar Lander game in 2016 for an interactive show. It replicated arcade mechanics with a kickball moon surface, controlled spaceship, and shared project code.
How to prolong lithium based batteries
Battery University offers insights on extending lithium-based battery life, focusing on lithium-ion tech. Factors like charging speed, depth of discharge, temperature, and cycling impact battery health. Guidelines on charge voltages and cycling are provided for longevity.
Hacking eInk Price Tags (2021)
Hackers repurpose eInk electronic shelf labels (ESLs) into photo frames or status displays by customizing firmware. Detailed exploration of hacking challenges, including Marvell chip analysis, bootloader functions, memory storage, communication protocols, and debugging methods.
Pi Gazing is a project to build meteor cameras using Raspberry Pi
A project called Pi Gazing uses Raspberry Pi computers and CCTV cameras to monitor the night sky, tracking objects like shooting stars and satellites. Users can access open-source code and observations on GitHub.
DIY PCB Method?
The article details a DIY process for making high-quality PCBs at home using tools like a CNC mill and UV curing resins. It involves steps like soldermask application and UV-curing ink, offering professional results.