MamboVisual
Contents
MamboVisual
MamboVisual is a graphical programming environment where the students are writing the robot program and upload it to the robot. MamboVisual is a very simple and friendly environment for writing programs, and is suitable for students who are six year old and up.
MamboVisual includes the following parts:
- Menu - 'file', 'edit' and 'help' standard menus
- Toolbar - includes standard instruction buttons like 'copy' and 'paste', as well as 'Upload to Robot!', 'Loop' and 'Settings'
- Editing area (on the right) - the students drag instruction blocks from the instructions area into the editing area while writing a program.
- Robot Instructions (blue button) - represents the robot parts like motors, channels, button, led, screen, etc.
- Control Instructions (orange) - includes control and logic commands like 'if', 'else', 'loop', 'and', 'or', etc
- Math Instructions (purple) - includes math instructions like '+', '-', '/', max (max number), min (min. number), abs (absolute value), etc.
- My Library - includes student's customzied instructions (functions)
Editing Area
The editing area is where the student acually writes the robot program: every program starts at the 'start' block at the top of the editing area, and from there 'flows' down. For example, the program on the right includes a loop that executes 5 times, each time printing the value of channel1 (assuming there is a sensor connected to this channel) for 1 second.
Robot Instructions
- Channels 1 to 4 - these are the controller input/output channels
- arrow on left - this is the channels' input
- arrow on right - this is the channels' output
- motor1, motor2 - robot motors: these robot are used to move the robot forward/backward and left/right
- ex - extra motor or channel
- screen - represents the robot screen on which strings and numbers can be displayed
- buzzer - used for making sounds at given frequencies
- led - can be on (1) and off (0)
- button1 - can be used by the program to receive input: 1 - pressed, 0 - released
Advanced sensors:
- ultrasonic sensor - a special command for using the ultrasonic sensor (which internally implements the triggering of the ultrasound transmission, reception of the returning signal and calculating of the distance).
- temperature sensor - a special command for reading the temperature sensor value in Celsius.
Control and Logic Instructions
The control and and logic instructions window contains instructions in the following groups:
- Control Instructions - 'if', 'while', 'loop', 'end block', delay, etc.
- Variables - numerical variable and string variable: you can drag-n-drop a variable into the editing area, then click on it and rename it to whatever name.
- Logic Instructions - like '<', '<=', 'and', 'or', 'true', 'false', etc.
Math Instructions
Includes math instructions:
- Basic math instructions: +, -, *, /, % (modulu)
- Advanced math instructions: power, sinus, log, etc.
User Customized Instructions
The "My Library" section includes instructions created by the user, by grouping a sub diagram into a single instructions (function).
Sample Programs
1. Run the robot forward
2. Run the robot left/right/backward
3. Move forward and avoid hitting obstacles - note the infinite loop (on the toolbar, top-right) is on
4. Line Following: using 2 light sensors, follow a black line on the robot pad
Algorithm:
in infinite loop:
move forward
while channel1 is white
turn left
while channel2 is white
turn right