ENGR103 Final Project
By
ESP-32 based environmental data collection & monitoring. I utilized a DHT22 Temperature and Humidity sensor to collect measurements of temperature and humidity, and used a Keyestudio KS0196 PM2.5 sensor based on the Sharp GP2Y1014AU sensor to collect PM2.5 particle data. I collected data for a total of 35 hours, as I figured, why not do more than 24. This meant a larger data section and more to analyze. I found that while both temperature and humidity varied wildly throughout the day, due to influences such as opening the doors and windows, or running a swamp cooler, particle count stayed relatively stable, save for a few outlying points. As for the hardware, I chose to use a Noritake CU24025ECPB-U1J vacuum fluorescent display to add to my project, and used its capabilities to display the data collected in real time. I had originally intended to use a Noritake GU140X16G-7002 matrix vacuum fluorescent display, but the manufacturers library was not compatible with the ESP32 due to relying on features present on only AVR microcontrollers. I decided against attempting to rewrite the library, as I wasn't really sure where to start. I used a DHT22 sensor as I was familiar with how they worked & had used its predecessor before, so it was quite easy to get working. It also gave me a humidity readout, effectively 2 sensors in one. The KS0196 was just the cheapest PM2.5 sensor I could find at the time, no other reason as for why I chose it. It works fine for this purpose, and seems reasonably accurate.
Artifacts
Name | Description | |
---|---|---|
Project Code | This file contains all of the code that runs on the ESP32 to power this project. The file is 460 lines in length and represents numerous hours spread over a week implementing all of the features & making sure they work properly. | Download |
Temperature Over Time | This is the graph of the data I collected over a 35 hour period of the temperature in my dorm room. It encompasses over 120,000 data points, one per second of elapsed time. | Download |
Humidity Over Time | This is the graph of the data I collected over a 35 hour period of the humidity in my dorm room. | Download |
Dust Concentration Over Time | This is the graph of the data I collected over a 35 hour period of the PM2.5 particle counts, represented in micrograms per meter cubed. | Download |
Wiring Schematic | This image depicts the breadboard layout of my ESP32, with labels for each pins function. | Download |
Picture of main board with 4 buttons | Main breadboard with ESP32, micro sd card reader, and 4 button module. | Download |
Picture of KS0196 PM2.5 Sensor | Sensor module with DIY airflow deflector | Download |
Picture of DHT22 | Temperature/humidity sensor module. shown attached to the side of a shelf using sticky tack putty. | Download |
VFD display | A cropped photo showing the VFD display on the default realtime data display. | Download |
Video | Brief video outlining major components of project, including code, user interface, and outputs. | Link |
Default serial output | the program sends data over the serial port once every second. this data contains measurements from all 3 sensors. | Download |
Requested serial output | when the user requests (by pushing one of the buttons on the button module) the program will send a summary report, including 10 minute averages, 24 hour averages, and overall minimums/maximums. | Download |
35 Hour collected data | The excel file + graphs created from the .CSV file the code outputted after 35 hours of running. | Download |