Skip to content

uzbhutta/IoTUselessGooseBox

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IoT Useless Goose Box

Have you ever seen one of those videos of a box that simply turns itself off after being turned on by a user and thought, "...How useless?" Well we've found a way to make that box just a little less... useless!

This year's 2016 EngHack Winner, is a Waterloo themed useless box that uses an intuitive Android app to incorporate user customization. This not only incorporates awesome IoT functionality, but additionally gives the user the power to remotely define new patterns in which the box can turn itself off; via an array of light bulbs, speakers, and servo motors.

#Here Is How We Did It

Materials

HARDWARE

  • Particle Photon
  • Arduino Uno Kit
  • Toggle Switch
  • 3 Relays
  • Speaker (Goose Quacking)
  • 2 Servo Motors
  • Mini Light bulb
  • Flashlight
  • Plushy Goose
  • Wood
  • Wood Glue
  • Nails
  • Soldering Iron & Solder
  • Metal Hinges
  • Hook
  • Cardboard

SOFTWARE

  • Android Studio: Java
  • Particle Dev: C++/Arduino/Particle

Building the Box

The box's encasing is a rectangular prism shaped wooden box. The lid of the box was secured with hinges; allowing it to easily rotate open with a sevrvo motor. A thicker piece of wood was used to cut out the arm that was later covered in pipe cleaners and fastened to a second servo motor. Both servos were secured to the inside faces of the box.

A combination of scrap wood, hot glue, and screws were used to fasten the switch, LED, light bulb, speaker, and hook to hold the goose to the inside of the box. All parts were cut and drilled to shape using a drill press and band saw.

Control Program

The control program of the GooseBot was written in such a way that allows the user's box to open in one of two ways: with randomized patterns or patterns designed by the user.

Main Loop

A main loop is continuously run that checks whether or not the switch has been turned on. When it has, a pattern is randomly chosen from an array of either pre-set or custom patterns and used to open the box.

Pattern Definition

Each pattern is a combination of 5 actions that include the actuation of the mini light bulb, flashlight, servo motors, and goose speaker. Various combinations of these actions make up the patterns the box performs before turning itslef back off. Each action can vary in the way in which it actuates as follows:

Flashlight and Mini Light Bulb
  • On
  • Delayed On
  • Off
  • Flicker
Servo Motors for Arm and Lid
  • Normal
  • Fast
  • Slow
  • Shake
Goose Speaker
  • On
  • Off

Each of the actuation methods corrolates to a char of letter A through D. When a pattern is created the 5 letters are saved as a string and added to an array of custom or pre-set patterns. The main loop then uses this array from which to randomly select a pattern to perform.

App

About

EngHacks Hackathon Project - Control Program

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 82.3%
  • Other 16.8%
  • Other 0.9%