Brett Dunscomb David Howden Kevin Bedrossian Chris Clary
Develop a simple application that utilizes a sensor and a microcontroller Take a user input from sensor to generate visual stimulus Custom 8 ball messages Fun to build!
Take a 50 year old toy and modernize it. In an era where kids have tablets and cell phones in kindergarten, their toys should share similar excitement. Keep it recognizable to those that grow up with the original toy. An upgraded version of the current toy
Design a prototype for a digital version of the popular children’s toy “Magic 8 Ball” originally conceived by Mattel and improve upon it.
Current Magic 8 ball uses a plastic icosahedral (20 sided) die to display one of twenty possible messages Stuck with the same boring messages Custom 8 balls cost $2000 for mold 8_ball.html 8_ball.html
Acknowledge shaking motion to deploy message Have at least as many messages as are in the original toy Low power consumption Insure product is easy to use for all ages
Use accelerometer to acknowledge user input (shaking motion) Display random messages on LCD screen Use familiar “Magic 8 Ball” casing to house system
Display Mode Switch mode Sleep Pick Message Display Message Time delay expired Double tap interrupt Message chosen Mode selected Time delay expired Free fall interrupt Wait for interrupt
Motion Message Microcontroller Display Accelerometer Power SPI Interrupts I2CI2C DC Voltage Volt battery
3-axis measurement Two configurable interrupt pins Multiple low power modes Capable of threshold detection while in sleep mode Vin of 3.3V with 3.3V logic Analog Devices ADXL345 Breakout from Adafruit
Implementation I 2 C bus communication Threshold activity interrupt Low power state
Atmega 328p 8 bit processor 8 MHz clock 32K of flash memory 2K of Ram TQFP package 32 pins Inexpensive
Nokia 5110/3310 monochrome LCD from Adafruit 84 x 48 pixel count Backlit Runs off 3.3 volt Uses a SPI bus
Implementation: Display all 20 original 8 ball messages Readable in dark rooms Displays Bitmaps
Implementation 9V battery supply LM 317 voltage regulator steps down to 3.3V Low power mode draws 5mA down from 30mA when displaying a message
Atmel TWI_MASTER Library Adafruit Library Sparkfun Libray Display code Mattel for the 8 ball shell and idea
BREAD BOARD TESTS Tested power circuit output Tested random message display Tested accelerometer output levels IMPLEMENTATION TESTS Tested power to components Tested sleep mode Tested shake response
Initially tried powering the 8 ball with a shake generator but was unable to make it work 9V battery with single regulator was able to power all components System goes into sleep mode shortly after message is displayed System wakes up when shaken Display was clear and easy to read
Nokia 5110/3310 LCD$ ADXL345 Accelerometer$ Atmega 328p$ 2.50 Header pins$ 1.25 Board$ Ball housing$ 8.00 Resistors, caps, etc$ V battery$ 2.50 $ 59.20
Proper time management is important Setting documentation standards early and following them throughout is necessary Proper communication is key Have all the surface mount components ready to go at once, don’t try adding one later With access to reflow oven, the breakout board was an unnecessary cost
Brett Dunscomb: display coding, breadboard testing, and microcontroller pin assignment for display Chris Clary: schematic design, passive component setup, and board layout David Howden: power system design, power system test and board layout Kevin Bedrossian: accelerometer coding, breadboard testing, and microcontroller pin assignment for accelerometer Group: documentation, final construction, component research, and implementation testing