- 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
93 lines
2.1 KiB
Plaintext
93 lines
2.1 KiB
Plaintext
---
|
||
title: "Activity: Stop On Colour Change"
|
||
date: "2021-06-03"
|
||
categories: ["Activities", "All"]
|
||
tags: ["Colour Sensors", "Branching", "Iteration"]
|
||
excerpt: "Learn branching, iteration, and how to use the colour sensors."
|
||
featuredImage: "/images/resources/stop-on-colour-change.png"
|
||
---
|
||
|
||
Program the rover to keep moving forward until it detects a change of floor colour with the colour sensors. Once it detects this colour, stop the rover.
|
||
|
||
####
|
||
Relevant Coding Skills
|
||
|
||
Branching
|
||
|
||
-->
|
||
|
||
Iteration
|
||
|
||
Functions
|
||
|
||
Variables
|
||
|
||
-->
|
||
|
||
Algorithm Design
|
||
|
||
-->
|
||
|
||
Maths
|
||
|
||
####
|
||
Relevant Rover Concepts
|
||
|
||
Ultrasonic
|
||
|
||
-->
|
||
|
||
IR
|
||
|
||
-->
|
||
|
||
Colour
|
||
|
||
Gyroscope
|
||
|
||
Accelerometer
|
||
|
||
Motors
|
||
|
||
LEDs
|
||
|
||
-->
|
||
|
||
Buzzer
|
||
|
||
-->
|
||
|
||
Activity Demonstration
|
||
|
||
### Setup
|
||
|
||
For this exercise we recommend a strip of tape stuck to the floor that contrasts the floor colour. It doesn't have to be tape, all that matters is there is a clear change in colour for the rover to detect. An alternative solution is to use a piece of coloured paper.
|
||
|
||
Your solutions should work no matter how far from the tape the rover starts. Make sure to test the same code from multiple starting positions.
|
||
|
||
### Here’s Our Approach
|
||
|
||
#### **Stage 1**
|
||
|
||
First we need the rover to drive forward towards a change in colour. We tell the rover to move forward with a start moving motor block.
|
||
|
||
#### **Stage 2**
|
||
|
||
As the rover drives forward, we need to be constantly checking the colour sensor. Use a repeat until loop block where the condition is set to detect the desired colour. Our code is looking for the brightness of the white tape.
|
||
|
||
#### **Stage 3**
|
||
|
||
The rover will keep checking the colour sensor in the loop block until the condition is true. After the repeat we stop all motors.
|
||
|
||
#### Note
|
||
|
||
If the simple colour sensor blocks aren’t working we may need to use a different comparison block to check more detailed readings from the sensor. Use the rover sensor view to identify the one that will work best for you.
|
||
|
||

|
||
|
||
Example Code 1
|
||
|
||

|
||
|
||
Example Code 2
|