We were inspired by our experience trick or treating. Many people leave a bowl outside when they are too busy or are out trick or treating somewhere else for the trick or treaters to get candy. We often observed people go up to a house and take more candy than they should or even dump the whole bowl in their bag! We decided to create "Alexa, Trick or Treat".

What it does

"Alexa, Trick or Treat" is an automated candy dispenser powered by Alexa. The user says "Alexa, trick or treat" and the machine dispenses a fixed amount of candy.

How we built it

The design is a funnel that lead into a 2-way dispenser that is run by a motor. This dispenser reduces jamming compared to other types of dispensers. We made an Alexa skill that uses an AWS Lambda function to update a text file in AWS S3. A python script running on a Qualcomm Dragonboard 410c checks whether the skill was invoked. We interfaced a Dragonboard with an Arduino which controlled the motor and sends it a binary flip which is recognized by the Arduino. The Arduino calls a function that powers the motor and pulls down the flap, dispensing candy to the user.

Challenges we ran into

Arduino 101 does not have a built-in Wi-Fi connection, so we needed to connect it to a DragonBoard. The DragonBoard uses 2.4 GHz Wi-Fi, which is much slower than 5 GHz (the normal frequency). Therefore, the DragonBoard could not check whether the skill was invoked before timing out. Also, when trying to dispense candy, the candy would sometimes jam at the exit, causing the candy to not come out.

Accomplishments that we're proud of

We're proud of constructing a functional mock-up model out of styrofoam. We are also proud of the coding and digital electronic wiring that we did.

What we learned

We learned about coding with AWS, the AWS Lambda function, and AWS S3. We also learned about coding the DragonBoard and Arudino, wiring everything together, and debugging.

What's next for Alexa, Trick or Treat

For the next iteration of Alexa, Trick or Treat, we would include voice recognition to prevent the same person from getting a treat repeatedly. We would connect the Arduino to a working Wi-Fi connection. We would also change the material to make it more sturdy and less likely to break.

Share this project: