Parallax Boe-BotThe Boe-Bot is one of Parallax's most popular products. With many add-ons and applications available it also proves to be a very versatile product and is used widely in academic, research and hobbyist communities.
The Parallax Boe-Bot module provides control of the Parallax Boe-Bot from RoboRealm. The module provides you with a way to send commands to the Boe-Bot based on variables created within RoboRealm.
This module makes three assumptions:
1. You have loaded the BS2 BoeBotControl.bs2 into the Boe-Bot using the Parallax Basic Stamp Editor.
2. You are using the easyBT (or older eb500) wireless bluetooth connection to the Boe-Bot. If you are using the older eb500 interface card you will need to switch the pin configuration at the top of the bs2 program referenced in assumption #1.
3. You have finished the Whisker, IR, Speaker (Piezo Buzzer), constructions on the Boe-Bot breadboard.
While RoboRealm can still communicate with the BoeBot connected directly to the Boe-Bot is it assumed that for most of the interesting applications of vision and the Boe-Bot one expects the robot to be wireless and free from constraints.
If you prefer to create your own Boe-Bot communication protocol you can use the Serial Module to send custom commands to the Boe-Bot of your own choice. See the Boe-Bot forum discussion on how that can be accomplished.
The provided Boe-Bot module will allow you to quickly get RoboRealm and the Boe-Bot communicating. Note that as the communication between the PC and the Boe-Bot increases you will notice a decrease in processing frame rate. This reduction in frame rate is due to bluetooth wireless delays that are normal in most bluetooth devices. To keep the frame rate usable be sure to turn off any non-essential communications between the Boe-Bot and the PC. This is accomplished by un-checking the checkboxes next to the appropriate groups.
1. COM Port - First select the appropriate COM port where the easyBT has attached to. Note that only the COM ports that are recognized by the system are displayed. If you have not yet attached your bluetooth USB device or activated the internal bluetooth wireless capabilities you should do so before running RoboRealm otherwise the appropriate COM port will not show up.
2. Baud Rate - Select the appropriate baud rate. It is best to use 38400 if your bluetooth device can support that baud rate as this will ensure minimal communication slowdown on the processing framerate.
3. Motors - To test the connection slowly move the Left and Right motor sliders. If everything is working the motors should slowly start to move. If this does not happen check that the little led in the upper right corner of the easyBT is on. If not check your COM port settings, or that your bluetooth device is on. Note that when first connecting the devices can take up to 30 seconds to secure a connection so be patient.
If the motors work you can then select a variable (or type one in) that will be populated from another module that will contain the motor values to send to the Boe-Bot. Note that 100 is considered neutral whilst 0 and 200 are the opposite extremes.
If you motors move even when the value is at 100 (neutral) you may need to use the trim values to offset the amount until they stop moving. This amount is automatically added to values sent to the robot in order to keep both servos at the same speed.
See Variable Control for more information on how to programatically move the robot.
4. Whiskers - assuming you have constructed the whiskers on the Boe-Bot breadboard pressing one or both of the whiskers will change the appropriate checkbox by turning it on or off. Be sure to have enabled the Whiskers by clicking on the checkbox next to "Whiskers (Pins 7,8)" which tells RoboRealm to start querying the Whisker states on the Boe-Bot. Note that this will slow down the frame rate.
If you want to access the Whisker states from other modules select or type in the variable name that will contain a "1" when the whisker is pressed and "0" when the path is clear.
5. IR Sensors - assuming that you have constructed the IR sensors on the Boe-Bot the appropriate checkbox will turn on when something is in front of the IR sensor. Be sure to have turned on the IR Sensors by selecting the checkbox next to "IR Sensor" which will tell RoboRealm to start querying the state of the IR sensors on the BoeBot. Note that this will also slow down the frame rate.
If you want to access the IR states from other modules select or type in the variable name that will contain a "1" when the IR sensor detects an object and "0" when the path is clear. Note that the IR sensor is a binary sensor and does not return range information as some other IR sensors do.
6. Sound - to test that the piezo buzzer is working select a frequency from the second dropdown menu and a appropriate during in the next dropdown. Click on Play and you should hear the note coming from the Boe-Bot.
To automatically play a sound type in or select a variable for both frequency and duration that will contain the appropriate frequency and duration number. When these variables become set RoboRealm will command the Boe-Bot to play the note and then will remove the variables' values. The variables are cleared to prevent the note from being played again and again. To once again play a note, simply set the variables again with appropriate values.
7. Maneuver - To perform a set sequence of movement click on the appropriate button to execute that movement on the BoeBot. The following are the movements for the provided buttons:
If you wish to automatically execute these movements without pressing the button select or type in a variable that will contain a value (presumably U, R or L) that will be sent to the BoeBot to execute the appropriate movement. Note that you can modify the bs2 program to accept more movement commands by changing the bs2 code appropriately. Specifying that new command in the Maneuver variable will then send that command to the BoeBot as RoboRealm does not restrict the command letters that are passed to the Boe-Bot.
8. Input/Output Pins - The Boe-Bot comes with 16 IO pins on the Board of Education. Most of these pins are for user usage and can be configured as input or output pins. RoboRealm provides a way to either receive or send signals to these pins via the bs2 program. Note that several of the pins are already in active use by the Whiskers, IR Sensor, Buzzer, etc. The IO Pins interface in RoboRealm provides you with a way to interact with other digital devices other than those provided in the base Boe-Bot kit.
Each pin can either be set as an input or output. Do this by selecting the "in" or "out" radio button next to each pin. If you are specifying a pin as an output selecting the checkbox will then turn that pin high or low.
For input pins the checkbox will reflect the high or low states of the pin but remain disabled.
To automatically send or receive a bit select or type in a variable that will be set if the pin is configured as an input or read into if the pin is configured as an input. Note that you can tell RoboRealm which bit of the variable you want to set/get by using the provided bit dropdown.
As an experiment, you can connect an LED to pin 15 via a 220 resistor as specified in the Boe-Bot manual. Then select the pin as an "out" and by checking and un-checking the checkbox you can make the LED blink. If you then select the IMAGE_COUNT variable (which holds the current image counter) as the variable and select Bit 0 the LED will blink for every two frames captured. Selecting successively higher bits will slow the blinking by a factor of 2 for every bit.
Parallax Servo Controller
For more information
| New Post
|Parallax_BoeBot Related Forum Posts||Last post||Posts||Views|
Boe Bot Arduino Shield module
Hi Folks, I recently purchased the roborealm software which is great. Unfortunately my main robot test ...
I need help
I have boe bot I did all the program in the books for boe and ir remote But all what I get round <...
boe bot serial connection
i am trying to get robot relm to control the boe bot through the usb connection i changed the rx to a value of 16 and i cant see...
two Newbie questions
Hi there; I just purchased this today and am looking for help in two general areas: First, using the...
How should i go about making my boe bot accurately shooting a ping pong ball?...
Help~ cannot overwrite the chipboard of the robot
What should i do if my code does not overwrite the boe bot robot? is that any solution so that i can troubleshot t...
rr not working w/ camera, can\'t see!!!!!!
I put RR on an old P3(win xp pro) w/ camera software. can't view image in RR or camera software. when I remote desktop I can se...