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
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".
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.
- Wire.h – Arduino IDE
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.
Since my cat does not like the Christmas tree, during the holidays I used this lamp in "rainbow mode".