There are currently 0 users and 5 guests online.
Make your own Automated, Self-Seeking Drumming Bot
Submitted by MaltiK on November 24, 2008 - 3:08pm.
This robot was inspired by a robot that was granted tons of attention, called the Yellow Drum Machine, I will link to it later when I can find it. This robot uses tank treads to roam around, it uses its ultrasonic sonar to find impediments, It will determine the hardness/softness/echo of an object with sonar. Once it finds an object worth playing on, it will snake into place, then, using motorized drumsticks, make a short 20-60 sec. beat. Using an external recording/playback module, it will record 20sec of the beat, and play it back in sync with the continuously playing beat (with the robot still playing). Upon completion of this minute long jam session, it will roam away, and attempt to find another, in an endless loop. Very fun to watch/listen!
1 Gear Motor and Tread Package-$39.99 BuyBuy
Assemble the Treads:
Self explanatory, assemble the tracks, and screw in the wheels into your geared motor that came with it. On the other end of the treads, hot glue on one of the aluminum tubing so that it spins freely.
Solder one wire to each of the slabs on the motors (two for each). The previous picture should do the justice for this too.
Connect the GM10->L293D->Picaxe board like the picture below and run the code:
high 1 low 0
low 1 low 0
low 1 high 0
low 1 low 0
Get your IC Board and 16pin DIP, solder on the DIP into the middle of the IC board like this:
Plug in the L293D into the project board, and solder on the four wires from the motors to the A-B terminals. Now write the code in your programmer:
Switch the two numbers around until both wheels turn forwards
Hot Glue on two of the GM10s, two aluminum tubings, each the same length, you want ones that give it a good "ding" when you hit something hard against it. And the third is gonna be the bass drum, so this will be (thicker?), or will just produce a deeper sound, I am not musical, I dont know :). Pretty self explanatory enough to go without pictures?
Cut the V+G from the recorder module, you want it long, so keep it long
Connect the V+G to the Picaxe's V+G ports
Cut one of the recording modules' wires, and connect the non cut one to a Picaxe output 0
Cut one of the playback modules, and connect one to another output 1
***IMPORTANT: if your playback is a button, then take off the button, exposing the membrane, and follow the board imprint from there, should lead you to a tiny hole, the manufactor uses this to test it to see if its working, solder your wire into that, this is your single playback wire (connects to output)****
Run the code:
Solder on 5 header pins onto your SRF05 (came with) refer to the datasheet if you are unsure which side to solder to
And connect the srf05 to the picaxe and run this code:
symbol trig = 3
symbol echo = 6
symbol range = w1
let range = range * 10 / 58
your srf05 should be blinking red, good
Assemble the Bot
Glue up the Sintra into a bookshelf-like design (mine had two stories) and hot glue this (or use an L-Bracket if you want yours sturdy) onto the base of your bot.
Connect one wire of each drumstick to an output on the picaxe (0-7), connect the other wire of each to a V+ terminal (V1)
Connect the Playback to one output, and the record to another, as well as the V+G wires from the board
Connect the spare L293D, and 4th GM10 to that chip and execute the code:
This is just a test, to make sure everything works, not the final beat :P
and you should get the following video:
minus the dog+and family yelling in the background
Use that last test you did (step 12) to see which command controls which drum/record/playback, and make it rhythmic using various time differences (pauses, followed by the number is the time in Ms)
Try to make, say the output of the recording module start in the beginning of a session (high ) and end in the end of a session (low _)
and then in the next session, make the drummer playback the beat over the next session (high, low, etc)
I will edit this later to share how to incorporate the srf05 seeking into code