Close
0%
0%

Customizable Baby Soother

Record soothing movements with accelerometer, "play" them back using a vibration motor. Bolt to seat containing a baby, go drink a beer.

Similar projects worth following
For those who have kids, you may find yourself kicking the side of the car seat or baby carrier to get your infant to go to sleep. Every kid is different, some like gentle periodic thumping, others like a consistent motion, others like sudden unpredictable jolts. I thought it would be cool if you could record whatever pattern "works" for your kid and then effectively play it back in a loop using a series of vibration motors or maybe other devices capable of creating bumps and thumps.

You can get infinitely complex with this concept, but I thought I would start with an Arduino nano, an accelerometer and a vibrator motor.

To operate, you hold a button to begin recording accelerometer values every 100 milliseconds, after reading each x/y/z value it takes a vector sum and stores that value in an array. When recording is done it stores the array in EEPROM.

To play back, you press a different button, this loops through the EEPROM, reads each value into an array and then loops through the array seting motor voltage proportional to the acceleration value stored. Very simple!

I run out of memory in the nano after storing about 500 accelerometer values, so I have a limit of 50 seconds record time at 100 ms interval right now.

  • 1 × Motor Driver 1A Dual TB6612FNG x1 Sparkfun ROB-09457
  • 1 × Triple Axis Accelerometer Breakout - MMA8452Q x1 Sparkfun SEN-12756
  • 1 × vibration motor Jinlong ZJQ24-35F580C
  • 1 × Arduino nano

  • This project sucks!

    Alex Rich03/05/2016 at 19:32 6 comments

    My kids have grown out of this and frankly it never did much for them. I love the idea, but my implementation was terrible.

    If you want to do something worthwhile, follow Matthias Wandel's project, he's a damn genius:


  • Random Shaking

    Alex Rich03/10/2015 at 23:38 0 comments

    Just wrote some code to randomize vibrate amplitude, duration and delay between vibrations. This works really well for keeping my human subjects guessing. Also shows that if you can write a little code the accelerometer "record" feature is not completely necessary.

  • It works, but

    Alex Rich03/08/2015 at 17:02 0 comments

    The motor I chose has a hefty weight and can only change speed so fast, especially because it has a large off-center mass attached to it creating quite a bit of rotational inertia. It obviously will never reproduce the exact motion you "record" but it does at least output a random pattern of buzzing, which in itself is cool.

    Some ideas for improvements:

    • bank of motors ranging in size, the large ones would be able to capture lower frequencies, smaller would capture higher frequencies.
    • weighted solenoid for "jolts" not attainable with rotary motors
    • instead of just changing motor voltage, write code to slam the motor on then reverse voltage and stop it as quickly as possible. This would give more of a "thump" feel.

View all 3 project logs

Enjoy this project?

Share

Discussions

Does this project spark your interest?

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