Let's Make Robots!

IBS-Wormy

isotope's picture
Wigles
Cost to build: 
$50
Time to build: 
22 hours
AttachmentSize
IBS-Wormy.bas3.34 KB

Last Update: 3-Aug-2011 :

Finished assembly. Updated board photos and added few more.


Meet IBS-Wormy! This is a simple bot for my baby-daughter to play with. And I hope she'll like it :)

IBS stands for "Isotope's Baby Series". I'm planning to build more bots under this tag in future.

Wormy has only one sensor so far - a tilt switch. By sensing changes in sensor's state bot knows if it is being "played" with, and starts wigling like a worm. The body is four segments of PVC pipe linked togeather with three servos which create wigling motions. It has LED eyes for blinky stuff and a speaker to make some noises. All it is enclosed in funny phonendoscope cover made of soft fabric.

This is what I did start with:

The pipe was cut into segments. This particular PVC pipe was quite heavy, so I did a bunch of perforations to make it lighter.

  Mounting of servos was a little bit tricky, as I wanted as sturdy link as possible. So, each servo had to be bolted by two bolts at each side. Top connections was somewhat straightforward, but for the bottom ones I had to design a little mounting plate which is bolted to servo bottom by four screws that hold the servo togeather. I have used 3mm thick Sintra. I found this material really handy for construction. It is soft enough to be cut by utility knife or even scissors, but strong enough for most robot parts.

 

 

 

The links turned out even better than I thought!

The eyes. Wormy looks like a Terminator now :)

This comprises the hardware part.

Wormy has a Picaxe 18X as brain. Full electronic parts list:

  • C1                    10uF Electrolytic Capacitor
  • IC1                   PICAXE-18X
  • J1                    Basic Servo
  • J2                    Basic Servo
  • J3                    Basic Servo
  • LED1               Red LED - 5mm
  • LED2               Red LED - 5mm
  • Programming jack   Stereo Jack (TRS) 3.5mm
  • R1                 4.7kΩ Resistor
  • R2                 22kΩ Resistor
  • R3                 10kΩ Resistor
  • R4                 330Ω Resistor
  • R5                 330Ω Resistor
  • R6                 330Ω Resistor
  • R7                 68Ω Resistor
  • R8                1kΩ Resistor
  • R9                10kΩ Resistor
  • S1                 Mechanical (ball) Tilt Switch
  • SPKR1           Loudspeaker 8 Ohm
  • VCC1             4AA Battery Holder
  • Power switch (not on schematic) Slide type DPDT

The electronic schematics for Wormy (including LEDs and Speaker to be added in future. Made in Fritzing) is:

And this is how my board looks:

Circuit board is located in the first segment (head). Battery pack and power switch in last one (tail).

Assembled wormy w/o skin:

And with skin:

An this is how I program it :D          (BTW, The code is attached)

Videos:

  1. Video shows Wormy on it's first test.
  2. Wormy is assembled and ready :)
  3. [coming soon] This video should actually show wormy doing what it was made for: playing with my baby, should she like it  :D

This is it. I hope you did like my Wormy! :D

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
isotope's picture

Thanks for mentioning this, I did try this now, and it is really hard to get pinched unless you do put your fingers in between sections intensionally and in proper places. And even though the force is nowhere near to be damaging. All I felt was little pressure, that was it. Anyway, this robot will be played with under constant control. :)

robologist's picture

Isotope, this is a really cool configuration!  Kinda freaky how it moves, should be entertaining. 

Does the "skin" help prevent litle fingers getting pinched?

isotope's picture

Thank you all for your feedback! :) I do really appreciate it!

@ignoblegnome: I hope too :) She is away now with her mother visiting her granny, so I hope she will like it when she is back :)) In the worst case it was fun at least for me to build this robot :)))

@OddBot: These servo savers look like a good solution and are pretty cheap in general, so I think I will consider using them in my future projects involving servo abuse :))) Thanks!

@Dan M: Yeah, that was a dillema for me actually. Even though I marked this project as done, I still think of adding a vibro to the project, that is why at this point I decided to go with conventional output for LED eyes and spare PWM pin (which 18x has only one) for possible future vibro motor control. Anyway my daughter has to judge the robot first :) And if she does not like it, I might go ahead and swap LED output with PWM pin. Thanks for your constant attention! You do have a lot of experience to share!

Dan M's picture

In that second video, it actually has a look like a small baby trying to move and turn over. Looks like something a baby might like.

I wonder a bit about the eyes, though. My first robot attempt (40 years ago) was a doll for my baby daughter. I made a doll that moved and it was actually bigger than she was (--Probably a key factor). When she saw it, she started screaming in terror. I'm not totally sure why; (probably the size being bigger than her, or maybe she thought it looked like a moving, dead baby, and the "zombie apocalypse" had started), but it scared her.  I did not even have any flashing red eyes and anything. just took a large regular doll and made the arms and legs move. It still looked like a doll on the outside, but like I said, it was an abysmal failure. Eventually, like 6 to 8 years later, she started playing with it, but it frightened her as a small child.

Something to be learned here.  Don't make it too strange.  I was thinking about your wormy's eyes. You have a picaxe, so why not, instead of flashing the eyes on and off, you send PWM to that port pin instead? You can slowly let the eyes get brighter as though it were opening its eyes, rather than the sudden on/off flashing.  No wiring change is needed; just add a couple for-next loops to the code where the on/off flashing is now.

Just a suggestion.

Dan M.

 

[ sample code ]

Main:

for b1= 5 to 225 step 3
pwm 4,b1,1 ;             increase pulse width / increase brightness
next b1

for b1= 255 to 5 step -3
pwm 4,b1,1 ;              decrease pulse width / decrease brightness
next b1

goto main

 

OddBot's picture

Great Stuff!

As I have a 6 year old step son now I am also thinking about robotic childrens toys. Although in my case it is how to make the robot tough enough to handle a childs love (aka abuse).

Might I suggest you look into "servo savers" for your future projects. These are spring tensioning systems that go between your servo and the servo horn. They are designed for "off road" RC cars and trucks where the steering servo can take a lot of abuse.

I have tried to duplicate these in my newest robot (Chopsticks V2) but you can buy them in most RC hobby shops.

ignoblegnome's picture

Cool project. I hope you daughter likes it!

fritsl's picture

Fantastic work as always, isotope :D

Dan M's picture

I like this. It is looking good.

I noticed the speaker; what kind of sounds are you thinking of doing?

isotope's picture

I did not decide yet, but probably it is going to be simple beeps or creeps :)

Dan M's picture

I've been playing around with sounds for my robot, Schrödinger.

Even some tunes.  That is when I found out there are like about 1000 tunes available for free download at the picaxe site, www.picaxe.co.uk. That is also why I made the blogs page with simple transistor speaker drivers. You may find some tunes that your baby would like, so check it out.

Beeps are okay, but in Schrödinger's case, I think he needs to be able to talk, so I ordered a voice chip for him (and another i²c memory chip, too).  It has not arrived yet, but I am hopeful it will work out well.