Synoposis

This device is a prototype comfort/vibe regulator for small spaces. It adjusts the temperature and mood lighting based on environmental conditions as well as the user's preferences. It utilizes a temperature/humidity sensor and photoresistor as inputs to sense the environment of the room it's in. Then it uses a fan and RGB led to adjust the temperature and mood lighting accordingly. The user can set the temperatures at which the fan activates and pick what color mood lighting, if any, they desire. This device is a proof of concept prototype, as the fan and RGB led would be significantly enlarged in a production-ready version.

Inspiration

My partner and I were brainstorming ideas for simple innovative products we could make without Arduino kits when a Nest Thermostat next to an LED mood lighting strip on the wall caught my eye. We thought what if we had fun with this project made a portable mood and vibe regulator of sorts. This is how our device was born.

How We Built It

We built this device using two sensors and two actuators. We used a photoresistor to sense the room's ambient light levels and a DHT11 temperature and humidity sensor to sense the room's ambient climate. As for the two actuators, we used an RGB LED to represent mood lighting and a motorized fan to represent air conditioning or some sort of climate control.

We coupled this physical design with the adafruit dashboard, which allows the user to view the sensor inputs from any wifi from any wifi-connected device. Furthermore, the user can also control the functionality of the fan and RGB LED using this adafruit dashboard.

Challenges Along the Way

We faced two main challenges when constructing this prototype. First, the nodeMCU was only able to output 3.3 volts, which was barely able to make the fan motor run. Hence, after a bit of research, we decided to have the fan powered by a separate 9-volt battery but still controlled by the nodeMCU via a transistor. Using this method we also had to install a diode to protect the transistor and nodeMCU from the negative spike of voltage whenever the motor is turned off and continues to spin.

The second significant challenge regarded the code. The DHT sensor library that we originally opted for utilized nonblocking function calls in order to update its measurements. In this case, a nonblocking function call runs in parallel with the rest of the program. However, the nonblocking property of the DHT library conflicted with the manual delays that were set in the main loop in order to prevent the program from exhausting the Adafruit API resources. With help from our TA mentor Kshitiz Garg, we found an alternative DHT library that did not use nonblocking function calls. We were able to implement the new DHT library without any further conflicts between the function calls and main loop.

Built With

Share this project:

Updates