24-Hour Temperature Monitor (ENGR 103)

The purpose of this project was to examine how the temperature in my apartment changes throughout the day. Specifically, I wanted to find the maximum, minimum, and average temperature across one full day, as well as determine how the temperature varies at different times of the day. In order to solve this problem, I wrote a program using the Arduino IDE that I uploaded to an Espressif ESP32 board. To actually calculate the temperature at a given time, I built a voltage divider with a known resistor and a thermistor in series, where I could measure the voltage drop across the thermistor as it changes with temperature. I converted the measured voltage to a resistance and then to a temperature as specified by the datasheet for the thermistor. Every second, the program measures the voltage and calculates the instantaneous temperature. The last 10 minutes are stored in an array used to calculate a 10-minute average for graphing purposes, and a running average since the start of the program. When requested by the user through the serial input, the program will print a summary of the max, min, average, and current temperature. After running the experiment for 24 hours in my apartment, I concluded that the average temperature was 68.23°F, the range was from 54°F to 90°F, and the hottest time of day was at 4:00pm while the lowest was after 12:00am.

0 Lifts 

Artifacts

Name Description
Description Video This video is an overview of my program and how it works.   Download
SourceCode This artifact includes the .ino file from the Arduino IDE where I created my program.   Download