Close
0%
0%

Educational keyboard toy

A computer keyboard based ABC and spelling toy for my 2 year old.

Similar projects worth following
NOTE: Not quite finished, but almost there. It functions, but needs polishing.

This is a PS/2 computer keyboard connected to an ATMega328-P, SD card, and audio setup. Essentially you press a key, the mcu receives the key stroke and plays a corresponding .wav file from an SD card.

It's intended as an educational toy for my 2 year old son. The idea is that he plays with letters and numbers and eventually spelling and maybe even math.

As mentioned above, there is a PS/2 keyboard attached to an ATMega328-P programmed using Arduino. The mcu is connected to an SD card via a DIY socket, and to an audio circuit. The audio makes use of dual pwm(8bit X2 = 16bit) and can support either 8-bit or 16-bit samples at either 8kHz or 16kHz. It runs through a buffer, low-pass filter, and amplifier before heading off to some speakers.

The alphabet and number keys simply speak those letters/numbers. The punctuation and other keys play animal sounds, words or phrases. I am planning to paint all the keys with big, colorful letters or pictures to match the sounds.

Unfortunately, I doubt that would keep a kids attention for very long, so I am currently implementing some simple spelling games and perhaps eventually some simple math games if he finds this toy interesting enough to keep that long. Of course, if I really want it to be entertaining there should be some visual aspect. At the very least some colorful LEDs, but a graphical display of some sort would be great. However, I do not want to go so far as a large monitor type screen because that would not be portable and handleable by a 2 year old. If I had a small graphical LCD screen, that would be ideal, but I don't happen to have one on hand.

Anyway, I'll post logs with all the details, schematics and code. I'm busy these days so I can't write it up all at once.

  • 1 × PS/2 computer keyboard
  • 1 × ATMega 328-P or Arduino with SD capability
  • 1 × LM317 adjustable voltage regulator or any voltage regulator that will give you 3.3V
  • 1 × SD card
  • 1 × dual op-amp I'm using NJM2068SD

View all 8 components

  • A very late update and some code

    shlonkin04/19/2015 at 11:10 0 comments

    So now the kid is three years old. Sorry for not updating this in so long.

    Everything works fine and I ended up scrapping the dual pwm, 16-bit setup because honestly the single pwm, 8-bit setup sounded better. 16-bit sounds much better on a high quality audio player, but in this case it just doesn't. Moreover, the 8-bit circuit and software are simpler. I like simple.

    Oh, and here's the software: https://github.com/shlonkin/KeyboardToy

  • The hardware

    shlonkin03/13/2014 at 04:42 0 comments

    This is how it stands at the moment, but it will certainly change a little before the end. Below is a rough schematic of the electronics. There are still a lot of empty I/O pins that could be used for visuals(LEDs, a display, etc.). For the final version I would like to cram everything inside the keyboard body and strap on a battery case so that it is completely portable and can be banged around by a little kid. But that's still down the road.

    Note: that picture is way too small. Go here for a larger version.

    The SD card is stuck in a really simple socket that I made from some header pins. The pads on the card have the same pitch, so this is easy. The bent pins on the left make contact with the pads on the card. If you do this, be sure that all the pins press firmly on the card or you will have some unpleasant bugs.

    And finally, here is a picture of the keyboard I'm working with and it's connector with an olde timey adapter. If you look closely you will find some keys you've probably never seen and some extra symbols next to the letters. This is what keyboards look like in Japan.

View all 2 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

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