a14g-final-submission-t14-humidifierz

Review Assignment Due Date

a14g-final-submission

* 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

1. Video Presentation

Here is the link of our video https://youtu.be/VFljNrePpyU

2. Project Summary

Device Description

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.

Inspiration

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.

Device Functionality

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.

Challenges

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.

Prototype Learnings

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.

Next Steps

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.

Takeaways from ESE5160

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.

Node-RED code file in github

Code link A12G code repository

PCBA on Altium 365

3. Hardware & Software Requirements

Hardware Requirement

HRS 01 – Project shall be based on SAMW25 microcontroller

We meet the requirement.

HRS 02 – 4007 distance sensor shall be used for obstacle detection. The sensor should be able to measure a 16cm change in water level (the sensor shall be able to measure a minimum of 4cm and a maximum of 20cm from the water surface). Data shall transfer to microcontroller via GPIO.

We meet the requirement. The range of measurement distance have a small change, it is 3cm to 14cm.

HRS 03 – An 1.30 inch OLED SSD1306 display shall be used for user interface. The display shall communicate with the microcontroller via I2C bus.

We meet the requirement.

HRS 04 – A Temperature and humidity sensors(SHTC3-TR-10KS) shall be used to detect ambient temperature and humidity. Data shall transfer to microcontroller I2C bus.

We meet the requirement.

HRS 05 – A humidifier module shall be used to generate water mist to humidify the air. Humidifier module shall be controlled by GPIO.

We meet the requirement.

HRS 06 – A WIFI module WINC1500 shall be used to send data to cloud service and receive commands from cloud service. The WIFI module shall communicate with the microcontroller via SPI.

We meet the requirement.

HRS 07 – A button shall be used to control the device on and off. The button shall be connected to the microcontroller via GPIO.

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.

HRS 08 – A LED shall be used to show device on and off. The LED shall be connected to the microcontroller via GPIO.

We meet the requirement.

Software Requirment

SRS 01 – The 4007 distance sensor shall measures the water level continuously. When the water level falls below a certain value, low water mode will be activated.

We meet the requirement.

SRS 02 – The temperature and humidity sensors shall measures the ambient temperature and humidity continuously.

We meet the requirement.

SRS 03 – OLED shall display ambient temperature humidity and water level.

We meet the requirement.

SRS 04 – The wifi module shall be able to send temperature, humidity, operating status, and water level information to the cloud service. The wifi module shall be able to accept commands from the cloud service.

We meet the requirement.

SRS 05 – Humidifier module shall work below the set humidity level and stop working above the set humidity level. The set humidity level shall be set by user via wifi module.

We meet the requirement.

4. Project Photos & Screenshots

Final Project

</img> </img> </img> </img>

PCBA

TOP

</img> </img> </img>

BOTTOM

</img>

THERMAL IMAGE

</img>

Design Circuit

2D View

</img>

3D View

</img>

Node-RED Screenshot

Node-RED dashboard

</img>

Node-RED backend

</img>

Block diagram

</img> </img>