Fun with ActivityBot
By Carol Hazlett View In Digital Edition
Some simple and fun things to do with your Parallax ActivityBot.
One of the most versatile differential drive little robots on the market is the Parallax Boe-Bot. It comes in several configurations: a BASIC Stamp based one; an Arduino version; a Propeller controller; and one with a micro:bit controller on it is now available.
For the two short projects I’ll be discussing, I’m going to be using an ActivityBot, which is the robot based on the Propeller microcontroller. I’ll be using BlocklyProp to program it.
Front of ActivityBot.
Back of ActivityBot.
BlocklyProp is a graphic language Parallax adapted from Blockly. It’s an easy to learn and use program and has many added features that make it simple to utilize with many different sensors.
If you don’t have one of these robots, you can read about and order one from parallax.com. Parallax also has extensive literature on their products at learn.parallax.com. There are many projects to make with the robots on this site.
One of the fun things to do while on the Internet is to watch videos of babies, animals, and robots dancing to music — especially the song, Uptown Funk. Many of you have probably seen the Boston Dynamics robot called Spot doing this.
I decided to do this with the small two-wheeled ActivityBot. How can you make a wheeled robot dance? Here is my humble attempt (which I think turned out to be kind of cute).
One method to do this would be to program the dance move into one long code listing, but I decided to do it a quicker way. I programmed a dance move into each button of an IR remote controller. This way, you can change a move on-the-fly without having to reprogram the robot.
Activitybot and remote control.
Circuit for IR receiver.
I made up different routines for each of the nine buttons on the remote. The directional buttons for forward, left, right, back, and stop were given their normal functions.
On the “dance” bot, I put on the Parallax kit for a swiveling PING))). This gives the robot nice big eyes, plus moving its head around adds to its life-like creature look.
The buttons are programmed this way:
- The head swivels to the left.
- The head looks straight forward.
- The head swivels to the right.
- The front wheels quickly go right and left making the robot “shimmy.” If you face the robot backward, it tries to simulate a twerking move.
- This one is a robot version of a moon walk. The wheels go forward then backward quickly with a time difference of about one-third forward and two-third’s backward. You can change this ratio to get different looks.
- Doing the same thing backwards gives you a backwards moon walk.
- On this button, I put a head swivel. The head goes left and right in a continuous move.
- This is a simple spin in place to the right, but it can be used in two ways. You can just spin around or hit the button intermittently to give it a different move.
- Spin to the left.
There’s a video of these on my YouTube channel at https://www.youtube.com/watch?v=jI8H2HcS6iQ.
Programming the ActivityBot
The Propeller version of the Boe-Bot can be programmed in C using Parallax’s Simple IDE (integrated development environment), a language called Spin developed for the Propeller, or BlocklyProp. The reason it’s called a Propeller is its ability to run eight different processes at the same time. This makes multitasking a breeze!
I chose to program this project in BlocklyProp because it’s so simple to use and already has programming blocks both for the IR remote and the servos.
Blocklyprop code for IR program.
On the Parallax Learn site, there are many tutorials on using BlocklyProp and a tutorial on how to program an IR remote control. The Learn site and the user forum make educating yourself and/or experimenting with their products fun and easy.
The accompanying graphic of my code for this project gives you an idea of what BlocklyProp looks like. If or when you have access to the BlocklyProp site, this is project #80697.
If you don’t want your robot to dance, maybe you’d like it to fight! This project is a trebuchet mounted on the ActivityBot.
Trebuchet mounted on Activitybot.
I attached a PING))) on the front for detecting an obstacle to shoot at. An IR sensor or a laser would work fine too.
A servo mounted on the back of the robot raises its arm when the sensor on the front sees an object. This releases a small tab holding the trebuchet sling down, which causes the sling to go forward and throw the marshmallow.
Close up of release mechanism.
The bucket on the bottom of the sling is filled with lead weights to make it fall quickly. I usually put marshmallows in the ammo bucket at the top of the sling.
Assembly is not very difficult. All parts for the trebuchet and the PING))) mount are on Thingiverse.
Trebuchet on Scribbler 3 robot.
Again, I used BlocklyProp to program it; it’s project #80348.
Blocklyprop code for trebuchet.
I hope you have some fun with these two simple projects with ActivityBot. SV