Inspiration

Many moons ago, we used to eat cereal in the morning out of the cereal dispensers in the dining halls. These machines were great ways to dispense cereal, but would be even better if we didn’t need to turn the knob on the machine. So, we sought out to design a system that would automatically dispense the cereal for us.

What it does

When a bowl is detected underneath the dispenser, it will turn the crank on the machine, dispensing cereal for a customizable length of time. It will then stop dispensing until the bowl is removed.

How we built it

An ultrasonic distance sensor detects whether a bowl is currently placed underneath the dispenser. This detector is connected to an Arduino, which controls the logic for the device. The Arduino will send a signal to a DC motor to begin spinning until the input from the distance sensor is removed, or a set amount of time is reached.

Challenges we ran into

Getting the motor to run for a set amount of time was tricky, we ended up needing a hot loop instead of keeping track of the state via global variables.

Accomplishments that we're proud of

The behavior for the device is quite natural, especially how it will react to the bowl being removed, and will wait for the bowl to be removed and placed back again before being able to dispense again.

What we learned

We learned how to hook up a DC motor in a circuit, and also generally learned more about programming for the Arduino.

What's next for int motorPin = 3;

We would like to actually integrate this with the physical components!

Built With

Share this project:

Updates