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.
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.
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.
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.
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.
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?
That reminds me of a certain edutainment video on shutter-speed and CCDs [0] from long-term Youtube persona "Captain Disillusion". (Skip to ~4m for the CCDs.)
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.
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.
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.
> 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!
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.
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:
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.
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
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.
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?
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.
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.
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).
Cool. Yep, piezos only produce current while the mechanical stress changes its shape, but if the load is stable, no current is performed, so I guess that's the reason why you need to apply an alternating current to it in order to use it that way. Thanks.
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.
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!
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.
> 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. :)
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
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.
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/
"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.
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.