|Engineer||School||Area of Interest||Grade|
Amador Valley High School
When people picture global warming, they think of gas cars, oil spills, and litter. What they don’t really think about is all the food we throw away. Roughly forty percent of America’s food gets tossed out. That’s over 365 million pounds a day.
Accounting the land, water, and grain required to produce agricultural products (not to mention the exhaustion that comes from manufacturing, packaging, and transporting commercialized food products), the carbon footprint associated with wasted food soars above 3 billion tons of carbon dioxide.
A part of the problem is the way we store our produce. When stocking a fridge, consumers push back and hide soon-to-be expired products. When grocery shopping, customers often forget what they already have. To put simply, fridge design is meant for storage, not for display.
At my first hackathon, I developed an inventory app, Frigo, that acts as a “fridge on the go.” The app notifies users when items in their fridge are about to expire. While my team and I made progress on the design, it was evident that requiring manual input from the user was inefficient and tedious. Here is where my project comes in. The smart refrigerator is designed to provide an effortless user experience:
This outline will be explored and carried out in my three-milestone BlueStamp project.
With the intent to create a receipt scanner, I programmed an optical character recognition (OCR) script using OpenCV and Tesseract. After running an initial trial, the program had an output with over a fifty percent error. To improve the OCR’s accuracy, I made changes to the source film and applied a binarization method to the Pi camera’s footage.
After running the revised software, the percent error reduced to below a forty-percent margin, with most of the mistakes chalked up as misspelled words. To further improve the OCR, I had intentions to apply an auto-skew and spell-checker function to the program. However, taking a step back from this milestone, I realized that established grocery store franchises use heavy abbreviations to keep receipts concise. For example, Safeway’s “Signature Select Whole Almonds” appear as “SIG SEL WHL ALMDS.” Not to mention, receipt design varies among supermarkets. For these reasons, I decided to redirect my project to a more hardware-focused design.
With a working barcode scanner, I moved on to decorating my smart refrigerator with additional hardware. My second milestone included adding a slide switch, weight sensor, buzzer, and LED light.
Three wires connect the slide switch to the Rasberry Pi: A red wire connects to a 5V pin (power), a blue wire, connects the middle switch pin to the Raspberry PI’s GPIO pin, and a yellow wire connects to a ground pin. In my implementation, a toggle towards the red wire allows users to input items while a toggle towards the yellow wire outputs items.
Beginning with a pre-assembled HX711 weight sensor, I imported @tatobari’s repository for the HX711 module. To calibrate the scale, I loaded a 411g can of chicken stock and tampered with the reference number until the sensor recorded the weight correctly. Tatobari’s original software is an ongoing function that breaks with a keyboard trigger; it also takes multiple values before approaching the actual weight of the product. In my implementation, once the recorded weight on the scale passes 100 grams, the software begins a counter, and once that counter passes 10 ticks, the last recorded value becomes the weight.
Buzzer and LED Light
Using a breadboard, I connected the buzzer to the Raspberry Pi. In my application, when my software detects a barcode, the buzzer is triggered. Using a separate breadboard, I attached an LED light with a resistor and wires connected to power and GPIO pins. The LED light turns on and stays on during the runtime of my program. I included both hardware systems in my smart refrigerator so users would receive feedback while my software runs