I've got a great idea for a fun gift for that favorite preschooler, and you'll learn how to make things talk at the same time!
Let me introduce you to Storytime Bear, the stuffed animal that can sing, tell stories, or say anything you want.
Storytime Bear is powered by the Propeller microcontroller and speaks using pre-recorded .wav files from a microSD card.
Here's what you'll need to create Storytime Bear:
- The "Open Source" Pocket Mini Computer (Or replicate the audio, keyboard, VGA and microSD sections of that project)
- A 4 cell AA battery pack
- A USB cable with "micro" end.
- A Servo cable
- A 40pin male pin header
- A 10K resistor
- A small piece of "perf" board
- A small amplified speaker
- A stuff animal with at least one trigger button. (Mine has it in the paw)
Step 1: Storytime Bear
In this build, I focus primarily on the "talking/singing" aspect, but there is no reason why this project couldn't be expanded to include transistor controlled movement using the original motors. (I'm saving that for another project)
As long as your "Bear" has one push button somewhere, we're good to go!
Step 2: The Pocket Mini Computer
You might be scratching your head at the requirement of a Pocket Mini Computer.
What's a Pocket Mini Computer? I'm glad you asked!
The Pocket Mini Computer is an open source "mini computer" design which uses the Parallax Propeller microcontroller as it's brain. The kit from Propellerpowered.com comes pre-loaded with a retro-style BASIC. The hardware itself is extremely powerful & featured.
The Pocket Mini Computer is quite a bit more advanced than the COSMAC VIP.
Here's the specs:
- The Pocket Mini Computer hardware specifications:
- Parallax Propeller Quickstart Board (8 cogs, 32K RAM, 64K EEPROM)
- Improved VGA Output
- Stereo R/L Audio Output
- PS/2 Keyboard/Mouse Input
- Wii(tm) compatible controller connection
- Optional microSD adapter connector
- Optional iR connector
- Experimenter's port
The Pocket Mini Computer is language compatible with Spin, Assembly (PASM), C, and BASIC.
COLOR BASIC features:
- 4094 available bytes free
- 64 colors
- 1 "SIDlike" audio channel
- 127 character re-programmable character set
- plot, line, and box graphics commands
- I/O access commands
- 95+ BASIC Commands, operators, and functions
- SD operating system
- Full screen editor (requires a microSD card.)
- Ability to execute non-basic binary programs
- Extended memory features (requires a 23K256 SRAM chip)
More details about the Pocket Mini Computer can be found on this Wiki.
Schematics and Souce Code are avaible for anyone who wants to "roll their own".
Step 3: Connecting the Switch
I used a small piece of "perf" board to create a simple switch interface which plugs into the "Experimenter's Port" on the Pocket Mini Computer. The circuit uses a single 10k resistor to keep the switch circuit from "bouncing" switch states.
A servo cable is a perfect way to connect this circuit to your bear. Since I repair computers for a living, a grabbed an old reset switch connection from an old computer case to give the switch from the bear a nice plug for my board. The image on this page should provide everything you need to create this simple circuit.
- A Servo Cable
- 1 small piece of "perf" board
- 1 10k resistor
- 1 40pin male pin header
Step 4: Battery Power for Your Pocket Mini Computer
- A USB cable with a "micro" plug
- A 4cell "AA" battery pack
Cut the USB cable to expose the four wires, red, black, green, and white. Connect the red and black wires to the red and black wires of the battery pack. Solder, tape or shrink tube to protect the connections.
Step 5: Testing Your Switch Circuit
Type in the following program and run it to test your switch connection:
- 10 A=INT
- 20 PRINT A
- 30 GOTO 10
You should see a line of 0's until you press the switch, then you should see 1's until you let go.
Step 6: Time to Tell a Story
This is the perfect project for someone who is going to be away from their children for any length of time. Hearing your voice tell their favorite bedtime story Reading to a child is one of those most powerful things we can do to influence a young lifelong love of reading.
We'll be using a free program called Audacity (download) to record our story, and convert it to the proper format for our project.
Once you've recorded your favorite story, use the following to save it in the correct format: (Refer to the image)
- Click on the "Name Tab" pulldown
- Select "Set Sample Format"
- Select "16-bit PCM"
- Click on "File"
- Click on "Export.."
When saving the file, call it "story.wav" and move that file to the Pocket Mini Computer's microSD card.
Step 7: Putting It All Together!
Since we're using the Pocket Mini Computer, all we need now is a simple program written in BASIC. You'll also need to download and copy PLAY.BIN (The wav-player binary for PMC) to the microSD card.
Type in and RUN the following program:
- 10 HOLD
- 20 A=INA
- 30 IF A = 1 THEN BRUN "PLAY.BIN" STORY.WAV
- 40 FOR X = 1 TO 1000
- 50 NEXT X
- 60 GOTO 20
Congratulations! You've got a wonderful give for that favorite child!
Step 8: Credits
He's ready to go!
Credits: Without the resources of several people who have provided MIT licensed objects, projects like this wouldn't be possible!
BASIC/WAV PLAYER on the Pocket Mini Computer thanks:
- Mike Green - FemtoBASIC
- Tomas Rokicki - FemtoBASIC, & FSWR
- Marko Lukat - Despair & Hope VGA
- Jon Williams - Wii Controller & Wav Player
- Johannes Ahlebrand - TinySynth
- Michael Park - Edit
- Andre' LaMothe - SRAM
There is a dedicated forum to Pocket Mini Computer. Regardless if you built the kit, or "rolled your own" drop in and join the conversation!