Close
0%
0%

SpatziCube

An electronic, cubical toy for my little son combining multiple games, featuring touch input, sound output and blinky LEDs.

Similar projects worth following
SpatziCube will be a 120mm x 120mm x 120mm cubic, electronic toy for my son. It will be made of plywood and implement six different games for toddlers/young children. The cube will feature touch input, sound output and blinky LEDs. An Atmega328 will be running the software. One or two MPR121 will handle touch, a WTV020-SD will be used for sound output.

Since I like to call my son Spatzi, the toy will be called SpatziCube.

Motivation and goal

My son is 4 months old now (Jan 2015). He's already very interested in shiny and blinky things (as most babies are, probably). I don't know when it will be the right time for him to start playing with these tedious blinky, loud toys made out of plastic with only one little game each: one to make some animal noises, one to play the piano etc... Each taking up some space in his room while being played only 5 minutes per week.
I want to build a toy not entirely made of plastic, including multiple games with different difficulties.

What I am going to build is a cube at about 120mm x 120mm x 120mm, made of plywood, implementing six different games for toddlers/young children. The cube will feature touch input, sound output and blinky LEDs.

Since I like to call my son Spatzi, the toy will be called SpatziCube.

Which games I want to implement

Since a cube has six sides, I want to implement six different games. Currently I am planning on implementing:

  • Animal Farm:
    • A bunch of animal images. When touched, the typical sound of the animal will be played. Other game modes could ask for a certain animal which must be touched or an animal's sound is played and the animal has to be touched accordingly.
  • Vehicles:
    • Same as animal farm, but with vehicles like car, train, ship, airplane etc.
  • Numbers:
    • Numbers 0..9 or 0..10 can be touched. Different game modes possible like counting, adding etc.
  • Instruments:
    • A piano covering one octave + symbols of different instruments making typical noises when touched (maybe also switching the piano to play with tunes from this instrument).
      Maybe a real xylophone could be used as piano bars. But I couldn't find a xylophone covering a whole octave (7 tones) small enough to fit in the 120mm. Any suggestions?
  • Simon says (my son will probably play this one a bit later)
  • A simple media player containing play/pause/fwd/rwd buttons and multiple symbol buttons to directly select a melody/song to be played

I'm not quite sure about the numbers game yet. Any suggestions are very welcome!

User interface

Games will be selected by placing the cube with the wanted game on the upper side. I want torealize input (buttons) with touch. Buttons like animal symbols etc. will be made of laser cut acrylic embedded into the plywood. Behind each button I will place an electrode connected to a capacitive touch sensor. Each button will also be lit by SMD LEDs placed on the side of the acrylic. I hope the lack of haptical feedback the player would get from push buttons won't be an issue for a toddler.

Materials used

I want to build the cube from 3mm birch plywood. The embedded touch buttons will be made of acrylic. Everything will be laser cut.

Component selection

An Atmega328 will be running the software. One or two MPR121 will handle touch, a WTV020-SD will be used for sound output.

  • 1 × ATMEGA328 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × MPR121 Semiconductors and Integrated Circuits / Misc. Semiconductors and Integrated Circuits
  • 1 × WTV020-SD Audio playback IC
  • 1 × WS2803 16 channel 8 bit LED driver
  • 1 × ADXL345 Semiconductors and Integrated Circuits / Misc. Semiconductors and Integrated Circuits

  • Reconsidering Size and Tilt Sensor

    Robert01/28/2015 at 11:25 0 comments

    After building a full scale model out of card board, I think I'll make the whole thing a bit larger than only (120mm)³. I think (180mm)³ will be better.

    I also did some testing for the DIY-tilt sensor suggested by @PointyOintment... this might work. I spent €3.49 on a set of steel balls and tried with steel nails as contacts. This didn't perform very well. Copper nails will cost me another €4+. I think I'll use the ADXL345 which provides 3 axis acc. measurement, interupts and costs around €2.60 directly from China (I ordered one for €5.60 from a supplier in Germany - I want to start testing it before Easter ;-) ).

  • Specification

    Robert01/21/2015 at 18:49 0 comments

    First I need to find out:

    • which games do I want to implement
    • how many touch input channels will I need (a single MPR121 can handle up to 12 electrodes)
    • how to handle tilt detection: use an accelerometer or something simpler?
    • how to select different game modes for each side of the cube?
    • how to drive the LEDs
    • which batteries to use (do I need to be able to recharge them inside the cube or is it enough if batteries can be changed)

    With the current set of games (see project details), one MPR121 supporting 12 touch channels should be enough. The piano (7 or 8 tones) + 4 or 5 instrument buttons will need the most buttons and I won't need individual touch sensor channels for all buttons on all six sides of the cube. I only need inputs from one side at a time.

    For each button I will need an LED which can be lit individually. As with the touch input there's no need to address all LEDs from all six sides of the cube at any time. I only need to be able to address the LEDs from the side which is currently facing up. Since I have one LED for each button and there will probably be no more than 12 buttons per side, I need to be able to drive 12 individual LEDs at a time.
    I see two possible ways:

    • shift register
    • WS2803 18 channel 8 bit LED driver

    I'll probably go for the WS2803, because I've got one lying around and I have working code to drive this kind of chip via SPI available. Plus I can use the 8 bit PWM to dim the LEDs.

    In order to find out which side of the cube is facing up I could use two 4-directional tilt sensors or an accelerometer. I have a 3-axis accelerometer lying around, but I think this will be too much for simple tilt sensing. But where can I get a 6-channel tilt sensor?

View all 2 project logs

Enjoy this project?

Share

Discussions

PointyOintment wrote 01/23/2015 at 04:44 point

Have a look at #DIY 3D Tilt Sensor

  Are you sure? yes | no

Robert wrote 01/25/2015 at 10:12 point

Good idea. Thanks!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates