Getting Started With The Micromelon Rover
The Micromelon Rover
The Rover is a versatile tool for learning robotics and programming designed by the Micromelon team in Australia. It is tough, packed with sensors, and will run for hours. This post will cover the Rover’s basic functions, its included sensors and actuators, and how to program them. There is also a variety of detailed activities and robotics challenges you can do right out of the box.
Rover Basics
Turning The Rover On & Off
The ON/OFF Switch is located at the back of the Rover. Use this switch to turn the Rover on. Once turned on, the Rover will beep, the LEDs will light up, and the Rover Screen will show a 4-digit number (the Bot ID) and the battery indicator.
On a full charge each Rover should last around 5 hours of use. It is a good idea to charge your Rover before first use.
Charging The Rover
The Rover’s Charging Port is located next to the ON/OFF Switch. The Rover charging port is USB-C.
Charging Class Sets
School sets come with a 10 Rover charging dock.
Connect the Rovers to the charging dock with the USB-C cables. Plug the charging dock into any wall outlet. Any Rovers attached to the dock will begin charging.
Charging Individual Rovers
Inside Rover box there will be an included USB-C charging cable. Plug the cable into the charging port and connect it to the included power adapter. Other USB power adapters and computers will also work if they can provide sufficient power.
Charging Tips
While charging you can still connect to the Rover, however its motors will be disabled.
If Rovers are intermittently starting and stopping charging, you may be using an underpowered adapter. This issue should not occur with any power adapter shipped with Micromelon Rovers.
How To Program The Rover
Each Rover has 5 different types of sensors, 2 motorised tracks, 8 RGB LEDs, a buzzer, 2 servo motor connectors and a UART/I2C expansion header. All of these are programmable with either the Micromelon Code Editor or the Micromelon Python Module.
The Python module facilitates programming the Rover with any Python capable IDE. If this is your first time using Micromelon, we recommend you use the Code Editor. The Code Editor is the most accessible method of programming the Rover. To learn more about the Code Editor, continue reading below.
The Code Editor
The Code Editor is the programming environment developed by Micromelon for use with the Rover. Code that you’ve written in the Code Editor can be run on any Rover that you connect to.
Step 1: Download The Code Editor
Step 2: Open The Code Editor & Create An Account
Once downloaded, install the Code Editor and open it. If you are using Micromelon in your school as a teacher or student, your accounts will be created by your school administrator. If you are using Micromelon outside of a school package, you can create a home account. You can also choose to use the Code Editor in offline mode, although some features require an account (particularly in the Micromelon Robot Simulator).
For School Users
If you are the school admin, you should have instructions on how to create accounts from Micromelon. If you aren’t the school admin, you can have the school admin create your account.
For Personal Users
Press the ‘Create Account’ button and fill in the details for your account.
Step 3: Turn on Bluetooth & Connect To The Rover
Now that your Code Editor is set up, you can connect to a Rover and begin coding. Make sure your device’s Bluetooth is turned on as Bluetooth is required to connect to a Rover. Once your Bluetooth is on, turn the Rover on. The 4 digit number on the Rover screen is the Bot ID. Enter the Bot ID into the Bot ID box in the code editor and press GO!
Only one Code Editor can be connected to a Rover at a time. To disconnect a Rover from the Code Editor press the Unlink button or turn the Rover off.
Step 4: Code Editor 101
You’ve now connected the Rover and it’s time to start programming the Rover with the Code Editor.
Block programming is done in the Block Editor. Drag in blocks from the Block Catalogue. Alternatively, you can write Python code in the Text Editor. You can find information on the Micromelon specific Python functions that are available to you in the Function Dictionary. Once you’ve written some code you can run it by pressing the Run Code button. The code will be executed by the Rover connected to your Code Editor. Any errors or print messages will appear in The Console.
Writing Your First Line Of Code
Now that we have the basic layout of the Code Editor and a connected Rover, we can begin coding. Let’s write a program to move the Rover forwards to become familiar writing and running code.
Editing Blocks
In the Code Editor, look over to the Block Catalogue and find the Movement category. Click this to expand the category. Find the Move Forward 10 cm block. Click and drag this code block over and place it into the Block Editor area. We want to attach this block to the orange Start Block.
Note: Any blocks we want to run need to be attached to the orange Start block. Blocks not attached will not be run by the Rover.
We’ve written our first line of code using blocks, now let’s edit some Python.
Editing The Python
The Python in the Text Editor should have updated. Look to the Text Editor on the right, and you should see the code Motors.moveDistance(10) on the first line. This is the same piece of code we just created with our blocks, but now it is represented in Python. All of the changes we make to the blocks will translate to Python and vice versa. Let’s edit the Python now.
The number 10 in the brackets is the number of centimetres the Rover will move. In Python we call this an argument. Let’s change this 10 to a 20. Our code will now make the Rover move 20cm instead of 10cm. Once we change this the Blocks will update to reflect the change.
Running Our Code
The only thing left to do now is run the code. Press the Run Code button in the top right. This will send our code to the Rover and it will move forward 20cm. Make sure you place the Rover somewhere with enough space, so that moving forward 20cm won’t cause it to crash when you run the code.
If you need to stop a running Rover, you can click the ‘Stop’ button that replaces the ‘Run Code’ button in the Code Editor. You can also press one of the buttons on the Rover to stop it.
What Parts Of The Rover Are Programmable?
As mentioned before, the Rover has 5 different types of sensors, 2 motorised tracks, 4 RGB LEDs, a buzzer, 2 servo motor connectors and a UART/I2C expansion header. All of these are programmable from the Code Editor. Let’s look at what each of these do.
Actuators
Motorised Tracks
The motorised tracks allow you to move the Rover around. You have control over both tracks and can control direction and speed of motors.
Blocks to program the motorised tracks are found in the Movement and Advanced Movement categories of the Block Catalogue in the Code Editor.
Buzzer & LEDs
Program the buzzer to play sounds and the LEDs to illuminate colours. These can be used to signal changes in robot behaviour or coordinated with motor movements to create music or dance.
Blocks to control the LEDs and Buzzer are found in the Lights/Sounds category of the Block Catalogue in the Code Editor.
Sensors
The sensors will help you program your Rover to respond to its environment, including objects, surfaces, and the orientation of the Rover.
Blocks to control all of the sensors discussed here can be found in the Sensors category of the Block Catalogue in the Code Editor.
Ultrasonic & IR Distance Sensors
The ultrasonic and IR distance sensors are located on the front and sides of the Rover. These allow you to check distance (in centimetres) of objects from the sensors. These sensors allow you to check if there are obstacles at the front and sides of the Rover and how far away the obstacles are.
Colour Sensors
There are three colour sensors located on the underside of the Rover. The colour sensors can help you determine the colour of the surface the sensors are driving over.
Accelerometer & Gyroscope
The accelerometer and gyroscope allow you to determine the Rover’s current orientation in space and changes in velocity as well as rotation.
Rover Sensor View
When planning the code you are going to write for the Rover, it is useful to be able to see what the Rover sees. When you are connected to the Rover in the Code Editor, you can click the Rover icon to the left of the Bot ID to open a live view of what every sensor is currently reading. This can be useful for calibrating your sensors and debugging your code. The sensor values can also be cycled through on the Rover screen using the buttons on the Rover.
Expansion
The Rover has built in capabilities for attaching your own external attachments and electronics.
Blocks to interface with the Servo and UART/I2C connectors are found in the Expansion category of the Block Catalogue in the Code Editor.
Ready To Begin Programming? Here Are Some Activities
Beginners
If this is your first time using Micromelon or you are still becoming familiar with how to control the Rover, here are some good starter activities.
Intermediate
If you are starting to get the hang of things, try these intermediate activities.
Advanced
Once you are comfortable with programming the Rover actuators and sensors, test yourself with these advanced activities.