Inspiration

During the global pandemic COVID-19, many of us frequently stop by our refrigerators for refreshing snacks. As quarantine can be destructive to daily habits, some may become more absent-minded or forgetful. Be it in the morning, evening, or at night, forgetting to close the refrigerator door leads to a waste of electricity, and can invite unwanted guests to feed on our precious snacks. Lo and behold, our project: the Refrigerator Door Detection! With this device, you will no longer have to worry about accidentally leaving the refrigerator door open.

What it does

Refrigerator Door Detection (RDD) is hooked up to your refrigerator door. Equipped with an LED and a buzzer, we created RDD to alert people when they accidentally leave their refrigerator door open. The temperature sensor reads the surrounding environment, and is programmed to detect the usual temperature inside of a refrigerator. When the temperature reading drops to "refrigerator level," a timer is activated. After sufficient time passes, the timer will signal the LED to light up and buzzer to go off. Since the temperature must remain under a certain threshold for a specific period of time to trigger the LED and buzzer, this can only indicate that the refrigerator door has been left open for longer than intended. The RDD also features a motion sensor that will snooze the LED and buzzer for a designated period of time; afterwards, these components will only resume if the temperature still falls below the specific threshold. The LED and buzzer alert the user to return and close the refrigerator door. RDD can lead to saving energy and users becoming more cognizant of closing their refrigerator door.

How we built it

Since we do not have access to lab equipment at the current time, we built our project in TinkerCAD. An Arduino is hooked up to a breadboard containing all of the devices in our project, and we used code to activate/de-activate the multiple components when necessary. Our project is meant to be attached to a refrigerator door, so the temperature sensor can accurately reflect the temperature of the refrigerator when it is opened. A motion sensor turns off the buzzer and LED when pressed, so the user can temporarily de-activate them (hands-free!) and close the refrigerator door.

Challenges we ran into

In our code, we feature constants signifying the timer delay, snooze duration, as well as temperature threshold; however, it is likely not practical to have these things hard-coded in (as we do right now), since there exist many different refrigerator models, and the room temperature within a household could also vary. Although we didn't realize it at the time, refrigerators actually act as heat pumps, which in effect gradually heats up the room it resides in. Consequently, the temperature sensor may observe an increased reading as opposed to decreased, which would mean our threshold logic would have to change. Additionally, someone with malicious intent could potentially mess with the LED / buzzer triggers by exposing a cold object close to the temperature sensor, thereby throwing off the readings. They could also use an object to block the ping sensor, preventing the LED and buzzer from sounding off.

Accomplishments that we're proud of

Building a cool project in TinkerCAD from start to finish! Also, being able to visually observe our code functioning in the (virtual) hardware is great.

What we learned

We gained experience with TinkerCAD so we can translate these skills to hardware development in the future. We learned how to incorporate a timer with code, and we learned how to program a temperature sensor into an Arduino to convert from output voltage to temperature in degrees Celsius. We experimented with different voltage outputs to the buzzer to control its pitch/noise level.

What's next for Refrigerator Door Detection

In the future, we could possibly implement RDD into actual hardware. Once incorporated as hardware, RDD can have real-world applications, even though it is best suited for our current global pandemic. One potential improvement upon our project could be to add a configurable timer, so users can set the elapsed time without directly modifying the code.

Built With

Share this project:

Updates