Activity: Turn Over Rover

Program the rover to detect if it is upside down or not. When the rover is the right way up set it's LEDs to green. When the rover is upside down set the LEDs to red. The rover should change the LEDs as soon as it detects a change in orientation, you should not need to press the play button to trigger a change in colour.

Relevant Coding Skills

Branching
Iteration

Relevant Rover Concepts

Accelerometer
LEDs

Activity Demonstration

Setup

All you need is a flat, uniform surface to drive on. Different surfaces have different friction properties. This means the tracks will slip differently dependent on where the rover is driving. Some movement blocks such as turn by degrees are calibrated for an average friction. When driving on other surfaces you may need to turn more or less to get the desired angle.

 

Here’s Our Approach

Stage 1

Start with an IF Statement. Make the condition our sensor block that checks if the robot is the right way up.

Stage 2

If our condition is true (the robot is the right way up) we want to use a Set All LEDs block and make all the LEDs green. If our condition is not true (the robot is upside down), use the ELSE part of the IF statement to set all our LEDs to red.

Stage 3

If we run our code with just an IF statement it will check our sensor once and end the program. We want our robot to constantly check if it is upside down or not and change the LEDs accordingly so we put our entire IF statement in a repeat while true loop.

Example Code

Example Code

 

Related Posts

Previous
Previous

Activity: Flip Bot

Next
Next

Activity: Sumo