Introduction: Icecream Animated Multicolor Lamp - No Contact!
The software is meant to be easy to update & understand, by default there are 4 modes:
(default on startup): white light, by keeping your finger (or anything else) in front of the sensor you can change the brightness
still color: single color displayed, which can be changed by letting your finger in front of the sensor
rainbow: color wheel which turns more or less fast, configurable letting your finger in front of the sensor
color cycle: colors changing at the speed you configured by letting your finger in front of the sensor
You can switch modes by "tapping" in front of the sensor. You can compare those actions to a click and a long press... click = change mode, long press = change setting (luminosity, color, or speed, depending on the current mode).
Read instructions & download code from the GitHub page!
https://github.com/fdev31/RGB-lamp/
https://platformio.org/ is needed to build the software easily. Alternatively you can use Arduino IDE.
You will need to print the two plastic parts, I recommend whitish for the top part.
Here are the electronic parts I used:
LED ring:
https://fr.aliexpress.com/item/Aihasd-WEMOS-X-ring...
Controller:
https://fr.aliexpress.com/item/EYEWINK-D1-mini-Min...
Sensor:
https://fr.aliexpress.com/item/GY-9960-3-3-APDS-99...
In case of demand I'll write better instructions. Things to update: make the hole for the sensor a bit more taller, at 0.2mm layer height it printed fine but at 0.1 it's not really fitting.
About electronics, I'm quite a beginner and couldn't solve one problem, I have to make the sensor very sensitive to get any signal if I plug the LCD ring to the controller. Happily it works fine for the usage.
Step 1: Connect LCD Ring
Directly solder 3 wires to
GND
5V
And TXD pins.
Alternatively, depending on the jumpers position, you can connect to pins on the other side of the board.
Step 2: Connect All the Other Pins
The only two "tricky" PINS are:
- the I2C pin for the sensor
- the INT pin for the sensor
- and eventually the "1 wire" pin for the LED
After choosing & testing the pins on your controller, just solder it directly.
The pins chosen for my hardware & default values found in the code are documented in the github page.
I used some connectors which is great for testing but removing them afterwards is a pain so I had to keep it, losing a lot of "volume" in the final assembly.
Step 3: Assembly!
Put electronics in the printed base, the sensor should go on the taller hole and shouldn't move.
Plug some micro USB cable to the micro-controller, make sure the cable is using the hole on the other side.
Place the 2nd printed part so it's held tight (print larger if needed), make sure you make it all way down.
Step 4: Flash the Firmware
After un-compressing the zip file or cloning the source repository, install platformio, plug the USB cable of the lamp to your computer and type:
"make up"
Enjoy !!