[HN Gopher] Two ways to use an LED as a light sensor with Arduino
___________________________________________________________________
Two ways to use an LED as a light sensor with Arduino
Author : jgrahamc
Score : 98 points
Date : 2024-06-19 08:02 UTC (1 days ago)
(HTM) web link (blog.jgc.org)
(TXT) w3m dump (blog.jgc.org)
| brokenmachine wrote:
| Tricky. More than one way to skin a cat.
| 2sk21 wrote:
| Article like this are why I keep coming back to HN: I was using
| an LDR (Light Dependent Resistor) for a similar task but this LED
| idea is fascinating. It would have never occurred to me!
| kragen wrote:
| the photoresistor is more linear and gives you built-in
| smoothing over a longer period of time, but (like other
| photodiodes) the led is much faster
| lynndotpy wrote:
| Oh this is fun :) I knew LEDs and microphones could be used as
| light sensors (and vice-versa), but I would never know the
| specifics of how to do it. I appreciate this.
|
| What other sensors/emitters can be reversed this way?
| r2_pilot wrote:
| It's helpful to step out of the box with those kinds of
| questions, and consider what it is the sensor is doing.
| Abstraction is great for programming and reasoning about
| complex objects like cars (have key, insert key press pedal to
| move, that kind of thing), but if you're going to use something
| like a sensor in a way that it isn't designed, you have to go
| lower in your abstraction level and look at, for example, the
| physics of what it's doing. Often a thing that emits can
| receive what it outputs (if you measure how the membrane of an
| ultrasonic sound generator is moving, for example, although
| you'd also have to add additional components at which point it
| becomes a ping sensor), but sometimes it's not feasible. I
| really enjoyed Practical Electronics for Inventors for this
| kind of perspective.
| regularfry wrote:
| You can measure temperature with a heating element by measuring
| the thermal noise. Not sure what circumstances that would be
| useful in, though.
|
| I can also remember a project that used the arm of a
| galvanometer as a very sensitive balance for weighing tiny
| masses, too, which is the same sort of idea but the way it
| worked was to put a feedback loop around the voice coil and
| measure the current needed to keep it locked in place against
| the weight of the sample.
| https://www.erowid.org/archive/rhodium/chemistry/equipment/s...
| is a copy of the original article which would probably appear
| at https://www.scientificamerican.com/id/down-among-the-
| microgr... if I had access.
| kragen wrote:
| there's a national instruments demo of using this technique
| to weigh an eyelash at
| https://www.youtube.com/watch?v=v68Dica16CU
|
| (although ti claims it's actually them
| https://www.youtube.com/watch?v=n90whRO-ypE)
| HarHarVeryFunny wrote:
| You can use a speaker as a microphone, and vice versa.
| HeyLaughingBoy wrote:
| DC motors will generate electricity if you turn them by hand,
| diodes (including LEDs) make very good temperature sensors (not
| quite what you asked, but it's useful to know, sometimes).
| EncomLab wrote:
| The way those resistors are twisted together makes my heart
| hurt....
|
| 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.
| jgrahamc wrote:
| I promise I tried to find all my soldering gear.
| EncomLab wrote:
| lol - it's all good. Props to you for recognizing what was
| going on and taking the time to research it and make use of
| it!
| petsfed wrote:
| If you had the appropriate resistor on hand, you could just a
| male-to-female jumper to span the distance. Have one lead of
| the resistor plugged into the female end, and it serves the
| same purpose as the 3 resistors twisted together.
|
| No sense in soldering this together just for a quick-and-
| dirty demo, right?
| amelius wrote:
| I'd use these: https://www.bounceled.com/product/inline-
| wire-connector/
|
| Yes, they work on resistor leads.
| buescher wrote:
| I didn't know about the Cromenco camera but I remember seeing
| the trick in electronics/robotics books from the seventies.
| Micron sold a windowed DRAM for that purpose back in the early
| eighties, and I think a camera too. There was a construction
| article in BYTE.
| dmd wrote:
| > The way those resistors are twisted together makes my heart
| hurt....
|
| YKINMKBYKIOK
| rpaddock wrote:
| Similar things have been around for a while and there are several
| variations to be found for the AVR, using the I/O pins rather
| than the ADC.
|
| 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://forum.chibios.org/viewtopic.php?t=2179
| regularfry wrote:
| I remember a project in Scientific American many years ago
| which proposed using a distributed bunch of sensors using
| reverse-biased green LEDs to measure atmospheric pollution
| levels, but I can't immediately find it now.
| rpaddock wrote:
| Internet Search has become near useless of late, regardless
| of which Search Engine is used.
|
| Hopefully you find it and let us know.
|
| Forrest Mims was the first to propose using the LED as a
| sensor in the early 70s, not long after LEDs became common.
|
| https://hackaday.com/2015/10/13/citizenscience/
| detourdog wrote:
| Archive.org is the closest thing I have found for the old
| internet. If I'm interested in a topic the first I go to is
| archive.org.
| kragen wrote:
| probably you should donate and also see if you can save
| what you can: https://www.youtube.com/watch?v=a4KkiKDKw88
|
| governments burn libraries
| jgrahamc wrote:
| Probably something from Forrest Mims. I have his stuff going
| back to the 1970s and he was using LEDs like this for all
| sorts of communication and environmental stuff way back.
| rpaddock wrote:
| Yes. We both posted that he originated the idea at the same
| time.
| regularfry wrote:
| Very probably. This isn't it, but it's very closely
| related: https://www.researchgate.net/publication/243581659
| _LED_sun_p...
| regularfry wrote:
| Here we go! https://web.archive.org/web/19980131092505/http
| s://www.scien...
|
| Found via https://www.researchgate.net/publication/23434575
| 4_An_Intern...
| bloopernova wrote:
| > Which is good for ~30 Baud and distances of inches at best.
|
| This feels like it would be part of the plot of a Neal
| Stephenson or Andy Weir book.
|
| Our intrepid hero has to send super secret plans to save
| humanity through glass to his partner, so they can prevent
| Jupiter going supernova! But the Bad Guys are jamming wifi
| signals!
| dangets wrote:
| As a university project I created a Morse code transmitter
| and receiver circuit that used the same type of LED on both
| sides. It worked pretty well up to a few inches apart.
| kragen wrote:
| the distance and baud rate depend a lot on the specific led
| you're using and how you're measuring it
| icpmoles wrote:
| I remember the OG pebble using the backlight LEDs as ambient
| light sensors but I can't find where I read it.
| kragen wrote:
| this was one of the first things i did with an avr. it's a little
| more challenging on an attiny2313, because it doesn't have an
| adc: http://canonical.org/~kragen/light_sensing/
| NietTim wrote:
| Bought a "proper" light sensor last week but would've fit my
| needs. D'oh!
| mikewarot wrote:
| Decades ago, I built a sensor that detected a break in a path to
| a retro-reflector up to 6 feet away using a single bi-color LED
| and some op amps, etc. I don't remember all the details... but I
| did learn how the photoelectric effect works, in my gut.
|
| 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.
| zoky wrote:
| Well I guess if a generator is just a motor run backwards then
| this stands to reason...
| dragontamer wrote:
| Note: a photodiode is an expressly measured diode that does this
| job.
|
| 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.
| Kerbonut wrote:
| So can LED screens be used as a camera?
| immibis wrote:
| No. Even if each LED was a good light sensor (it's not good)
| the control circuitry is output-only. And you need a lens, or
| else every pixel receives the light from all around it, and
| reads just the average brightness of the room.
| dragontamer wrote:
| The "D" in LED is "Diode", commonly referring to the "P-N
| Junction" and its capabilities.
|
| A CMOS sensor is an array of thousands of photodiodes. So
| erm... diodes are _already_ used as the basis of modern
| digital cameras.
|
| I guess building one out of LEDs (diodes designed to emit
| light, rather than receive it) is feasible but I can't
| imagine it'd work very well. If you build a big enough camera
| and calculate the right lenses, it probably would work. But
| it wouldn't surprise me if the proper size of such a camera
| was on the order of a 20-feet by 30-foot room (with a "camera
| sensor" the size of maybe 5-feet by 5-feet, composed of
| thousands of LEDs acting as terrible photodiodes).
|
| --------
|
| A proper CMOS sensor miniturizes all of that to happen on a
| micrometer scale, so you can shrink modern cameras down to...
| well... the size of our phones.
|
| But the principles of light, sensors, and cameras in general
| work even with larger / inefficient objects. You just got to
| build a "large enough" camera to compensate for all the
| problems.
|
| EDIT: And also what the other poster pointed out about the
| control circuitry. The circuits in a typical LED Screen are
| all "output only". There's no way for the information to come
| back / reverse the LED Screen because the circuits are
| already set. I'm assuming you're somehow building those
| circuits and have embedded them into the LEDs somehow.
| frankus wrote:
| I remember a coworker telling me about a project that had
| mysterious battery drain after shipping.
|
| 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.
| yonatan8070 wrote:
| I know someone who made digital candles using the technique for
| Hannukkah (Jewish holiday), there was a set of LEDs connected
| like shown in the post, and you could use your a flashlight (or a
| purpose built "shammash" LED) to turn each candle/LED on by
| touchibg it with a light, it was quite cool
| jgrahamc wrote:
| Very cool. I like that.
| anfractuosity wrote:
| I rather like this idea - https://www.instructables.com/An-LED-
| You-Can-Blow-Out-Like-a...
| 123pie123 wrote:
| thanks for the link - i was looking for something like this to
| create a more realistic led candle that detects drafts and
| makes them flicker slightly quicker
| dmitrygr wrote:
| Basically a slightly less polished version of this: [1] [2]
|
| 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...
| antirez wrote:
| Other two reversible effects that are not cited in the thread:
|
| 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.
| anfractuosity wrote:
| Have you come across
| https://en.wikipedia.org/wiki/Quartz_crystal_microbalance re.
| the piezoelectric effect, you can apparently measure very small
| masses.
|
| (It sounds like you do need to apply an alternating current for
| this though)
| jIyajbe wrote:
| The reversed-biased method is actually the basis of single-photon
| detectors used in quantum optics experiments, especially
| experiments with entangled photons. Here's a paper that uses
| exactly this--reversed-biased red LEDs-- to introduce physics
| undergrads to the essential concepts:
|
| https://advlabs.aapt.org/items/detail.cfm?ID=13808
|
| It includes a simple circuit that probably anyone here on HN
| could build. (Even me!)
| anfractuosity wrote:
| Very cool, you might like this - https://research-
| information.bris.ac.uk/ws/portalfiles/porta...
|
| A single photon source from an LED. I need to read it more
| closely, but was curious if it could be used to create a
| quantum RNG.
| jIyajbe wrote:
| I read the paper; much of the electronics details got past me
| on the first read, but I think that the part most relevant to
| your question is their statement that it needs to be
| determined if the LED is a deterministic or a probabilistic
| single-photon light source.
| anfractuosity wrote:
| Yeah, that's a good point, I've just been looking at -
| https://en.wikipedia.org/wiki/Single-
| photon_source#Character... which talks a little about what
| deterministic means with respect to a single photon source.
|
| It sounds like if it's probabilistic it could also generate
| multiple photons.
| floitsch wrote:
| I used this technique to send data from the cell-phone to an
| ESP32 using the phone's flashlight:
| https://www.reddit.com/r/esp32/comments/wfea4r/send_data_wit...
| persnickety wrote:
| "the LED [...] will act as a capacitor that charges when light
| hits it."
|
| 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.
| dfox wrote:
| Twenty years ago (when building community wireless networks was
| all the craze, at least here), we played with free-space optics
| and in course of that found out that random soviet (4mm!) green
| LED from parts bin makes exceptionally good receiver for the red
| laser LED from cheap laser pointer (driven by bunch of paralleled
| up HC04 gates). The contraption was not really practical, but
| across few meters of lab bench had higher bandwidth than we could
| measure with the surplus 50MHz CRO we had there.
| mmoustafa wrote:
| > Certainly looks like that motion sensor is turning the light on
| in the night uselessly.
|
| Have you seen the movie Parasite?
| DoingIsLearning wrote:
| > Certainly looks like that motion sensor is turning the light on
| in the night uselessly.
|
| 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. :)
| lolc wrote:
| Oh that was an interesting dive into LED peculiarities. And I did
| have an oddly behaving movement sensor too! It turned out to be
| mice. The sensor was just very sensitive.
___________________________________________________________________
(page generated 2024-06-20 23:01 UTC)