|Name of Activity
||NXTs, cars, car, trolly, trollies, light sensor, loop, proximity sensor, sound sensor, threshold, switch
||4, 5, 6, 7, 8, 9+
||2 Hours Total
||Students program their NXT cars to be trollies. The activity has three tasks.
(1) Using a light sensor, the trolly must follow the black tape loop that runs through the “town”
(2) Using a proximity sensor, the trolly must detect stations and stop for boarding.
(3) Using a sound sensor, the trolly must stop for townspeople whistling for the trolly.
||Programming with conditional loops and switches.
Determining and implementing multiple sensor thresholds.
||Pre-built NXT car and complete NXT kit.
Computers with Mindstorms NXT software.
Black tape for trolly track.
Boxes/Books/etc for trolly stations.
Extra LEGO people.
|Preparation and Set Up:
||Set up a the trolly track with black tape in the classroom.
Place the trolly stations either all inside or all outside of the loop. (This is so the proximity sensor can be pointed to the right or left).
||In order to follow a line, students will have to program their cars to repeatedly jump off and back on the line. In fact, they aren’t following the black line, but rather the line formed by the edge of the black tape and white floor. Students programs should consist of four blocks:
- Turn Right.
- Wait for Darker.
- Turn Left.
- Wait for Lighter.
Students will need to use a conditional loop or a switch to stop following the line at the station. A conditional loop will keep performing the line following functions until the distance threshold is breached. It will then move on to the next bit of code. A switch will make a decision about the program flow based on a sensor value.
Threshold – The sensor value that when breached, will trigger a wait for block or a conditional loop. (Some students have had a better time understanding it as a “benchmark”)
Switch – A program structure that makes a decision about which line of code to run next based on some criterion (time, sensor value, logic etc)
||Introduction 10 minutes Review loops with the students and why they are useful in programs.
- Loops allow us to repeat a set of commands that would otherwise be tedious to program over and over.
Sometimes loops should go on forever. Ask the students for examples they’ve done where loops go on forever. In more sophisticated programs, they should not. Ask if they can think of a situation in which you don’t want a program to go on forever. A conditional loop is a great way to end a loop exactly when you want it to end and move on to another task. Our brains use conditional loops all the time!
- When crossing the street, we look both ways. If its not safe, we do it again. We keep doing it until its safe, and then we cross the street.
Activity – 40 minutes If students haven’t done a line follower before, introduce the concepts using the line follower activity on the activities database. For the second task, students will have to use a conditional loop to look for the stations. After the loop, they should stop the car for 5 seconds. It’s important to note that you must drive past the station before you start looking for a new station. Therefore, there should be a loop with a counter on it, or another conditional loop to follow the line past the station before looking for the next one. For the third task, the students will have to use switches. First look at one of the sensors, say the sound sensor. If it detects a whistle, stop for five seconds, if not, look at the proximity sensor. If it detects a station, stop for five seconds. If not, continue following the line. Clean up/ Wrap up – 10 minutes
- What was easiest? What was hardest?
- What would you have done differently?
- What were some good ideas you saw that other groups came up with?