This project was made from a broken lamp & nodeMCU. This decorative lamp can be adjusted in any directions & attached on magnetic materials or put on the table. It can be controlled in two modes as follows:
- Wireless control mode, as YouTube link below:
- Interactive control mode, as YouTube link below:
Step 1: BILL OF MATERIALS
For interactive mode, I use MPU6050 to get gyro data from NodeMCU to control lamp's color.
Materials picture for this project:
Step 2: CIRCUIT
This is very simple circuit, as Fritzing schematic above, with 1 RGB Led common anode type, three limit current resistors R100 & MPU6050.
The reflector is used from any broken lamps & connected to nodeMCU base by 2 bolts or stick them with strong glue.
Step 3: MAGNETIC BASE - FLEXIBLE ARM
Flexible arm can be reused from broken flexible water taps. Something like that:
With some tips, we try to connect them to the permanent magnet base at bottom of flexible arm. On top, we made a drill hole for connecting to our circuit board and solar/battery charger.With this base, we can put lamp on surface like table, floors….; or it can be attached on magnetic materials like steel pillar, steel structure.
Step 4: SOLAR – BATTERY CHARGER
It came from a damaged charging lamp. I added an on/off switch and power wires supply to nodeMCU. It also has one USB port outlet and one plug for battery charger.
Step 5: CONNECT ALL TOGETHER
Connecting all parts: NodeMCU & reflector, solar & battery cells, flexible arm together.
Step 6: INTERACTIVE CONTROL PROGRAM
Color will be changed when we adjust flexible arm or rotate the lamp.
Step 7: WIRELESS CONTROL PROGRAM AND ANDROID APPLICATION
Another way, we can use Android App to control RGB LED with Android in WiFi Network. Link Android App:
NODEMCU control RGB LED APP
For Arduino program, you can refer to:
After uploading program to NodeMCU, the first run will give us the NodeMCU's IP address on serial print. In my case, it is: 188.8.131.52 at port 80.
Now, we can control wireless lamp with laptop/ tablet/mobile phone by entering address above into internet explorer.
Or using Android app: