English (United Kingdom) Hebrew

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