Reversing Safely

Connect

Make sure that you can answer to the following questions:
– What are the dangers of reversing a car or other motorized vehicle?
– What are your area’s regional statistics concerning accidents with reversing vehicles?
– How can a vehicle reverse more safely?
– What happens on the outside of vehicles when they are reversing to let pedestrians and other drivers know what they are doing?

Think about what you have learned, then document it. Describe the problem in your own words. Creatively record your ideas and findings.

gear-reverse-car

Construct

Build
Start by constructing this model.

ev3-robot-color-sensor

Program
Write a program that will drive your wheeled robot forward and put it into reverse when you press the Touch Sensor.
Your wheeled robot should display reverse warning lights.
Use the Brick Status Light to simulate reverse warning lights.

Think about what you have learned, then document it. Describe your pseudocode for this task. Creatively record your ideas and findings.

Consider using these blocks in your solution:

layout-ex-cbs-13

Contemplate

Extend your program so that your wheeled robot has more functions:
– Use the Touch sensor as a bumper to stop the robot.
– Use the Brick Buttons to reverse the robot.
– Have the robot indicate its actions.

Think about what you have learned, then document it. Describe your pseudocode for this task. Creatively record your ideas and findings.

Differentiation Option
Integrate new signals to your program, such as:
– Turn signals (a blinking light when turning left or right)
– Horn

Share
Consider the following questions:
How could you improve your program?
Have you used too many blocks? Is there a more efficient way of building your program?

Think about what you have learned, then document it. Creatively record and present your ideas, creations, and findings.

Consider using these blocks in your solution:

wait-brick-buttons-compare

Continue

Explore text-based programming solutions for this activity and compare these solutions using different programming languages.