Files
micromelon-website/content/resources/prison-escape.mdx
Tim Hadwen ae3ae18585 Major site overhaul: resources hub, content migration, new blog posts, forms
- Redesign /resources as sectioned hub with category pages
- Migrate 645 Squarespace CDN images to local /images/content/
- Create 9 new news/blog posts with event photos
- Fix blog post slugs (rename gibberish filenames)
- Rename Design Blog to Design Blogs across site
- Remove education page, replace with Platform in nav
- Redesign rover repair request form with dynamic rover entries
- Add school search combobox to contact, store, and repair forms
- Extract shared KNOWN_SCHOOLS data
- Make /rover-expansion-3d-printing dynamically pull from MDX
- Add related resources sections to product pages
- Fix homepage broken /quote links to /store
- Store page: sample kit cards, inline quote builder, mailing list opt-in
2026-03-01 17:14:05 +10:00

86 lines
2.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Activity: Prison Escape"
date: "2021-06-03"
categories: ["Activities", "All"]
tags: ["Colour Sensors", "Branching", "Iteration", "Motors", "Intermediate"]
excerpt: "Learn branching and iteration using the colour sensors and motors."
featuredImage: "/images/resources/prison-escape.png"
---
Use the colour sensors to find and drive through the gap in the box. Rovers start in the middle facing a random direction and must leave through the gap, they cannot drive over the lines.
####
Relevant Coding Skills
Branching
Iteration
Functions
Variables
-->
Algorithm Design
-->
Maths
####
Relevant Rover Concepts
Ultrasonic
-->
IR
-->
Colour
Gyroscope
Accelerometer
Motors
LEDs
-->
Buzzer
-->
Activity Demonstration
### Setup
Use tape on a table or floor or a printed arena to create an outline. It doesn't matter what colour the tape or surface is as long as they contrast to make it easy to detect with the colour sensors. Make sure the gap you leave in the wall is large enough for the rover the move through.
The same code should work no matter where the rover is placed to start. Do not hard code all distances in your solution.
### Heres Our Approach
There are multiple ways to solve this challenge. This starter approach simply moves the rover forward until it detects the wall. If we detect the wall it means we must reverse and change direction. This cycle repeats until the rover finds the exit. You can add randomness to the turning or some other strategy to find the exit faster.
#### Stage 1
Use an IF Statement block with a condition that checks if the colour sensor sees the tape which is brighter than the floor. If the rover does detect the tape is underneath it, it knows it has hit a wall. We use motor blocks to go backward then turn.
#### **Stage 2**
When our rover does not see the tape we must just use a motor block to set the rover to move forward slowly in the ELSE branch.
#### **Stage 3**
We want to repeat this behaviour until the rover finds the exit so we put all our code in a repeat while true loop.
![](/images/content/907fa8-screenshot-2023-10-31-083156.png)
Example Code