This project is based on control via the app Blynk, a matrix of Neopixels. Since a simple lamp was not enough, I added a watch, and a temperature and humidity sensor.
LED Matrix
I built a small array of Neopixels as in the diagram below. It is controlled by Arduino with the library "Adafruit_NeoPixel.h". It is very bright, and is advisable not to look when the LEDs are turned on.
Sensor DHT
I used the DHT 22 sensor to monitor the environmental conditions. The LED color variation, represents the temperature, in 12 color variations from blue (cold) to red (hot).
Clock
The clock is controlled by the RTC. I used a DS1307, but it can also fit the DS3231. For details, see "Clock Set Date Time". Contrary to that project, I removed the pull-down resistors to the buttons, P1, P2 and P3, which are used to adjust the time, and made a small change in the code.
IOT
Arduino is connected to the internet via the ESP8266, which in turn, is connected to the App Blynk.
Colors
Through the phone you can change the color of the lamp depending on the mood. The colors are set as follows:
- V1 = Red
- V2 = Green
- V3 = Blu
- V5 = Yellow
- V6 = Purple
- V7 = Cyan
- V8 = White
- V4 = Temperature
Electric scheme
As you can see from the wiring diagram, the heart of the circuit is "Arduino". In my case I used "Arduino Nano".
- Pin A4 and A5 are connected to the respective SDA and SCL of the I2C 16x2 display, and the RTC.
- The temperature and humidity sensor is connected to Pin 4, through a resistor Pull-Up.
- The Diverter, connected to pin 12 of Arduino, switches from the IOT mode to a nice play of light, referred to as "rainbow".
Power
To power the ESP8266 I used a LM1117 regulator, while for lowering the voltage at RTX, I used a resistive divider (R1-R2). The group D1, D2, D3 has a protective function:
- D1 protects against reverse polarity.
- D2, in case we change the Arduino code, prevents the feeding of Neopixel matrix.
- D3 lowers 5.6 Volts to 5 Volts.
Arduino Code
Libraries:
- Wire.h – Arduino IDE
- RTClib.h
- LiquidCrystal_I2C.h
- DHT.h
- Adafruit_NeoPixel.h
- ESP8266_Lib.h
- BlynkSimpleShieldEsp8266.h
Parameters to be set in the code:
char auth[] = "YourAuthToken";enter the Token code of app Blynk.Blynk.begin(auth, wifi, "ssid","password");enter the SSID and password for your router Wi Fi.
Expanded Technical Details
Smart Mood Lighting Orb
Bright Ball is a WiFi-connected, spherical mood light that can be controlled via a smartphone app from anywhere in the world.
- Blynk Cloud Orchestration: Uses an ESP8266 web-server core. The user can select colors and brightness levels from the Blynk mobile app, which are then transmitted to the "Ball" in real-time.
- NeoPixel Animation Suite: Manages a cluster of WS2812B LEDs inside the translucent orb. The firmware includes presets like "Rainbow Swirl," "Warm Glow," and "Thunderstorm," allowing the user to set the perfect room atmosphere.
Efficiency
- Power-Aware Dimming: Includes a software "Brightness Cap" to prevent the LEDs from overheating the enclosed ball housing during long-duration use.
Utilization
Since my cat does not like the Christmas tree, during the holidays I used this lamp in "rainbow mode".