* Team Number: 14
* Team Name: HumidifierZ
* Team Members: Haomin Zhu; Hao Zhang
* Github Repository URL: https://github.com/ese5160/a14g-final-submission-t14-humidifierz.git
* Description of test hardware: (development boards, sensors, actuators, laptop + OS, etc): laptop, whole humdifier product
Here is the link of our video https://youtu.be/VFljNrePpyU
This is a humidifier that can spray water automatically. We use multiple sensors to detect humidity, temperature, tank level and other parameters. Users can set the target humidity according to their own needs. After the setting is completed, the humidifier will work automatically and display the environmental data on the user interface in real time. After setting, the humidifier will work automatically and display the environmental data on the user interface. Users can adjust their own settings according to the data feedback from the user interface, also can control the humidifier remotely by cell phone or computer.
Water is an indispensable part of people’s lives. Living in a humid environment has certain benefits for the human body, so in recent years humidifier is a more popular household appliances. However, humidifiers on the market generally do not have networking capabilities, but also can not be controlled remotely, very inconvenient. So we wanted to design a smart humidifier that can be controlled remotely and can see the room humidity, temperature and other parameters in real time to provide a better user experience.
This device has five main parts. There are two sensors, two actuators and one controller. It can detect the ambient temperature and humidity by temperature and humidity sensors (SHTC3-TR-10KS), also detect the water level of the humidifier tank in real time by distance sensor (4007). Then the information of the temperature, humidity and water level data in real time will be displayed on the OLED (SSD1306) display. The second actuator is humidifier module. It is made up from two parts: one is vibrating tablet and other is driving circuit which can supply specific frequency power signal. This module starts when the ambient humidity is below the set value and stops when it is above the set value. In general, the user can control the humidifier through the software, and power the atomizing ceramic piece through the driving circuit to form a spray. When the water level is below a certain condition, the software will alert the user and the display will present warning text to prompt the user to change the water.
First of all, the BOOST circuit we found did not output 5 volts as expected. After several tests, we realized that we could not add resistors as per the datasheet, and after shorting the resistors, we got the desired voltage.
There is also the issue of doing microsecond delays in freerots. We solved this problem by using higher frequency hardware clocks.
There is also the fact that the readings from the distance sensors fluctuate wildly. We solved this problem by using multiple samples and then sorting the data and averaging it after removing the maximum and minimum values.
Don’t put electronic components too densely, may need place to improve circuitry.Cables and batteries need to be considered when designing the model of the device.
I might design the board shape based on the desired shape of the device.
Need to find a waterproof container for the water. Obviously, the 3D printed material is not waterproof, and we simply added a plastic film to the inside, which didn’t work very well. Add more features, show time, debug mode, etc.
We learned a lot, such as circuit design, layout design, programming, the use of various sensors, SPI, I2C, UART, FREEROTS, and so on!
URL to Node-RED Considering that Microsoft often blocks our devices for strange reasons, we also saved the Node-RED to github.
Code link A12G code repository
We meet the requirement.
We meet the requirement. The range of measurement distance have a small change, it is 3cm to 14cm.
We meet the requirement.
We meet the requirement.
We meet the requirement.
We meet the requirement.
We did not create a button to control. When we build 3D model, we found that there is hard to place a button and it is not useful. According to this, we detect this part. The code for this feature is labeled in the documentation and is commented out.
We meet the requirement.
We meet the requirement.
We meet the requirement.
We meet the requirement.
We meet the requirement.
We meet the requirement.
</img> </img> </img> </img>
TOP
</img> </img> </img>
BOTTOM
</img>
THERMAL IMAGE
</img>
2D View
</img>
3D View
</img>
Node-RED dashboard
</img>
Node-RED backend
</img>
</img> </img>