Infrared Proximity Sensing Coffee Table Module & Color Changing Glowing Faucet

Picture of Infrared Proximity Sensing Coffee Table Module & Color Changing Glowing Faucet

This video can be found on youtube.
Check out the other one, and some other of my videos

This is merely an instructable to explain how this device operates. I hope everything is not too obfuscated.

This prototype consists of three 8x8” modules. Each module operates independently of each other. Each module consists of 4 “pixels”. Each pixel is 4 inches square and consists of 21 LEDs, two IR emitting diodes, and two IR photodiodes. The mode of sensing is active infrared.

Check out my Color Changing Glowing Faucet

Remove these adsRemove these ads by Signing Up

Step 1: Infrared Sensor

Picture of Infrared Sensor
Single Pixel 1.jpg
The IR sensor is a simple voltage divider former by two parallel IR photodiodes which are wired reversed biased. When a photodiode is reversed biased (like an LED connected up backwards) it acts like a variable resistor which changes resistance with respect to the amount of light (mainly infrared light) falling on it. The high resistance of the second static value 1 Megohm (R2) provides a voltage divider with the dividing node rising in voltage with an increase in IR light falling onto the photodiodes(R1).

V-in is 5 volts.

1-40 of 136Next »

I've been playing around with this for a few evenings. With a 3.3v supply connected to the photodiode and a 1Mohm resistor to ground, I get nearly full voltage on the photodiode/resistor connection with just the ambient light falling on it.

I've tried a 10K or 20K resistor, which helps, but I don't get anywhere near 0v like in the scope pictures, pictured above.

I'm now using a 20K resistor and everything works fine.

I have a slightly different way of doing things. I pulse the IR LED when I need to take a reading, but I only drive it at 25mA. This seems to work fine. I have tried it with the room dark and with sunlight coming in from the window. Also it works under my LED room lights.

I don't have a smoothing capacitor as I want to keep the component count down, but I get around the stray ambient IR a different way.

When first powered up, I take 50 readings for ambient light and take an average. I also take 50 readings with the IR LED on and take the average. I then save the 'calibrated' difference in a register.

When my program loop goes around, I take 1 ambient reading and 1 reading with the IR LED on and check to see if the difference is greater than the calibrated difference + sensitivty (30 works for my setup). I the difference is greater, I don't count it as a valid reading unless it is greater for the next 5 loops of the program.

This seems to work very well. I have tested this setup by calibrating it in the dark, then pointing at the window and it still detects my hand infront of it. It also seems to work through a piece of 3mm black Perspex which I can't even see through when holding it up to the sun.

I am planning on making a 9cm x 9cm board with 9 x WS2812b RGB LEDs for the illumination, and have the boards clip together and communicate with each other in order to keep them all synced and taking the readings at the same time.

Anyway, great instructable, very informative.

A scope is very handy when playing around with this, but I also found that using a 128x64 OLED was even handier for debugging as I used it to show me various things like calibrated ambient light etc. so I could actually see what the PIC microprocessor was dealing with.

EvanE12 months ago

I noticed that on the final product there are two radial capacitors that don't have values accounted for in the schematic. Could someone explain these to me please? One appears to be 22uf and the other looks like 47uf but I want to make sure.

makosjarks EvanE12 months ago

it looks like those are bypass capacitors, basically put in to reduce noise in the circuit. i found this article about choosing the correct value bypass capacitor -, will try and figure it out...

Great! Thank you. Do those just hook up bridging the positive and ground?

Yes, I believe so. From what I've read, the capacitors here help to even out the signal and filter the noise.Any AC passed on from the transformer will pass through the capacitor to the ground. I'm just about finished with the first board, I'll let you know if it works!

From the some of the other images, it looks like the capacitor values are 22uf and 470uf.

makosjarks2 months ago

You've inspired me to pull out the soldering iron again. Thanks, I think ;)

I was curious about the close up of one of the boards - it looks like a crystal oscillator (long silver component). On the image of the backside of full table, only one of the boards has that component. Is it necessary? Remnant of prototyping?

I believe what you're talking about is the 5 volt regulator because only the main board needs it because the others feed off of it

Makes a ton of sense, thanks mate.

calsykes1 year ago

Seems bits of the program were somehow lost when the author copied it into the instructable. I copied it out by hand from the screenshots, which produces a syntactically correct program. You can get the working version from here:

Thank you Calsykes...

makosjarks2 months ago

Has anyone tried substituting a buck converter for the l7805 linear voltage regulator in this circuit? A little more expensive, lot less power hungry, possibly more noise from the buck converter.

makosjarks2 months ago

Ah, it's the L7805... just looked weird with the camera angle. Fun project.

jhunmar1001 year ago
What Are The Materials?

see step 6

FOXeGYpT11 months ago

what the items needed to make this project ?? can you tell me plz


goncalor FOXeGYpT6 months ago

see step 6

Ghodi7 months ago

Dear Sir ,

This is awesome, since I only know Atmega328 do you have a code for this uP ,

if so can I get it .

Many Thanks


love the idea

koruptx21 year ago
I'm sorry for so many questions but the 511-L7805CV
ST Linear Regulators - Standard
5.0V 1.0A Positive you use this for the 5 v in to uC, from the 24 V supply?, i ask you before for a wiring diagram with more accuracy, how i put it the component in the schematic
koruptx21 year ago
and one thing i just run the code with the comment put on , but still there are some errors, if you can put the main file , that you put in the uC, xxxxxx.C thx:)
koruptx21 year ago
hi, cand you put a wiring diagram more explicit, what i looking for, is the pin on microcontroller , connection between components and how connect 2 module.(which ones are the IR emitters and ir photodiodes on your schematic)
ghostone2 years ago
I want to do the circuit, but there are two one-pole capacitor values, what is it? can you give a complete parts list. Thanks
Cloudhail3 years ago
I see on your YouTube channel that you have a newer way that you have done this. One with less components. The newest video you have on there. Can you make an instructable for that one?
Dr Snick4 years ago
hey okay you have a 470uF and a 22uF but what resistance is on the 511-L7805CV ST Linear Regulators? and on the 556-ATMEGA48-20PU that little blue resistance?
if i use an ATmega168 or ATmega328 how much will stuff have to change?
grahmaustin (author)  Dr Snick4 years ago
Well, the analog 5 volt supply to the AVR goes through a 10uH inductor (aqua green, next to 7805) and a 100nF bypass cap (tiny blue cap). There is a 5.6k resistor across 5volts to the reset pin.

I also included a PPTC resettable fuse(yellowish) going to the 5v reg.

Sorry about not having the best schematic.
slwthr3 years ago
how to make the header file?
slwthr4 years ago
Dear Friend
Do you have compiled hex code? please if you have send it to my email.I want to try this one.
No my friend.He haven't send it yet.I don't know why. Did you try to compile his code? I tried a lot times.But the code which he given here is wrong.Its not working and even its not compiling..So many errors. Please if you got right code let me know. my email :
rtalada3 years ago
Two words: Lite Brite!
slwthr4 years ago
Dear Friend
Do you have compiled hex code? please if you have send it to my email.I want to try this one.
slwthr4 years ago
Hello,I really want to make this one.And also I collect all the parts..And waiting to know about how to compile this code.Really I tried a lot times and it says errors and warnings too.Please can you tell me how to compile this code without any trouble.There is some errors with the functions.Please do you have any compiled hex code for this?? If you have please send it to me.
My email:
Fireater9894 years ago
Two words: Peg board.
grahmaustin (author)  Fireater9894 years ago
wrong size holes on the peg board ;)
I saw a related Instructable where the guy used peg board, but even if they are, I'd rather take a drill and make all of them a little bit bigger just so everything is even. I'm going to try to make this project for part of a light show I'm making for a contest. If you've ever head of Phoenix Contact, they hold a contest every year for high school kids to use their Nanoline microcontroller and any Phoenix parts to build a project. First place goes to Germany and gets their own booth at the Hanover Industrial Trade Fair in Hanover, Germany. My team won this year and I just got back Saturday :) I'm going to try to use this idea to use for the floor of the room, with frosted Plexiglass on top. I'm also going to try to make the light create a rippling effect from the point where the person steps on. Wish me luck and I can ensure you that I'll post any questions I have and a video of the finished thing, if my team decides to take the idea
Mr. GMD4 years ago
Hello Grahmaustin,
first off, I must say that this is a great project !! Well done man !! But could you answer me one thing ? I was looking at the schematic and the board layout, and was trying to figure out if the resistor at pini1 of the Atmega48 connects to pin 7 and gets 5V(red wire) ?
2. Does pin 1 go to the coil also (purple wire)?
3. Is the pink wire connected to the coil middle pin also ?
grahmaustin (author)  Mr. GMD4 years ago

resistor from pin1 does goes to pin 7. This is the pull-up resistor for the reset pin.

pin1 also connects to the purple wire, this goes to the 6pin programming port. This allows the programmer to reset the chip.

The pink wire should be the MOSI wire. Simply connects the programmer to the chip and also to the darlington array. It should not connect directly to 5V or gnd.

1-40 of 136Next »