Learning Goals 3 min
By the end of this lesson you will be able to:
- Build the Wipers with their Medium Motor in port A.
- Make the wiper sweep one way, then back, by running the motor forward then in reverse.
- Play a sound on each sweep so the motion and sound stay in time.
Meet the Model — the Wipers 6 min
What is a windscreen wiper?
A windscreen wiper is a rubber blade on an arm that sweeps across a car's glass. It pushes away rain and dirt so the driver can see clearly. Most cars have two that swing together.

The science behind it
A motor swings the wiper one way, then reverses it back — a back-and-forth, or reciprocating, motion. A small gearbox called a linkage turns the motor's spin into this swinging sweep. Each pass wipes the glass clean.
Where you meet it
Wipers work on cars, buses and trains, and they earn their keep in Malaysia's heavy tropical downpours. Planes and some boats use them too.
What we'll build
We'll build a wiper driven by a Medium Motor on port A. It sweeps the arm one way, then counterclockwise back, with a sound on each sweep.
Warm-Up 4 min
A wiper does not spin in circles — it sweeps one way, then back. That is forward, then reverse.
Quick-fire puzzle
Aisyah runs this. How does the wiper move?
when program starts :: events hat [A v] run [clockwise v] for (1) [rotations v] :: motors [A v] run [counterclockwise v] for (1) [rotations v] :: motors
Reveal the answer
The wiper sweeps across one way, then sweeps back the other way. Switching the run-motor block to counterclockwise runs the motor in reverse. Forward then reverse makes one full wipe.
New Concept — reverse and sound in time 10 min
To make something rock back and forth — a wiper, a pendulum, a tail — you run the motor forward, then run it the same amount in reverse.
Blocks reference
| Block | Category | What it does |
|---|---|---|
[A v] run [clockwise v] for (1) [rotations v] :: motors | Motors | Sweeps the wiper one way. |
[A v] run [counterclockwise v] for (1) [rotations v] :: motors | Motors | The counterclockwise direction runs the motor in reverse — the wiper sweeps back. |
play sound [Information / Blip 1 v] until done :: sound | Sound | Plays a short clip. Put one after each sweep so sound and motion match. |
Synchronising sound with motion
Because blocks run in order, a sound placed right after a sweep plays exactly when that sweep ends. Sweep, sound, sweep, sound — the timing lines up on its own.
Why it matters
Car wipers, metronomes and clock pendulums all swing back and forth. Adding a sound on each swing is how toys feel alive — every action gets its own click or beep.
Build & Program — the Wipers 17 min
Part A — Build
Build the Wipers. A Medium Motor turns a gear linked to a wiper arm that sweeps across a "windscreen".
Components & ports: EV3 Brick · Medium Motor → port A.
- Build the windscreen frame and pivot the wiper arm at its base.
- Link the Medium Motor to the wiper arm through gears; plug it into port A.
- Set the arm so it starts at one side of the windscreen.
- Turn the motor by hand to check the arm sweeps the full width.
Part B — Program
Sweep across, play a sound, sweep back, play a sound — two wipes.
- Start the program:
when program starts :: events hat
- Set a steady wiper speed:
[A v] set speed to (40) % :: motors
- Sweep one way, then blip:
[A v] run [clockwise v] for (1) [rotations v] :: motors
play sound [Information / Blip 1 v] until done :: sound
- Sweep back the other way, then blip:
[A v] run [counterclockwise v] for (1) [rotations v] :: motors
play sound [Information / Blip 1 v] until done :: sound
when program starts :: events hat [A v] set speed to (40) % :: motors [A v] run [clockwise v] for (1) [rotations v] :: motors play sound [Information / Blip 1 v] until done :: sound [A v] run [counterclockwise v] for (1) [rotations v] :: motors play sound [Information / Blip 1 v] until done :: sound
Expected behaviour: the wiper sweeps across at a steady speed and blips, then sweeps back to the start and blips again — one full back-and-forth wipe with sound on each pass.
Try It Yourself — three small builds 11 min
Goal: A slower, calmer wipe. Drop the speed to 20%.
when program starts :: events hat [A v] set speed to (20) % :: motors [A v] run [clockwise v] for (1) [rotations v] :: motors [A v] run [counterclockwise v] for (1) [rotations v] :: motors
Goal: Three full wipes in a row, each with a blip at the end of every sweep.
when program starts :: events hat [A v] run [clockwise v] for (1) [rotations v] :: motors play sound [Information / Blip 1 v] until done :: sound [A v] run [counterclockwise v] for (1) [rotations v] :: motors play sound [Information / Blip 1 v] until done :: sound [A v] run [clockwise v] for (1) [rotations v] :: motors play sound [Information / Blip 1 v] until done :: sound
Goal: Wei Jie wants "intermittent" wipers: a wipe, a 2-second pause (like real rain settings), then another wipe.
when program starts :: events hat [A v] run [clockwise v] for (1) [rotations v] :: motors [A v] run [counterclockwise v] for (1) [rotations v] :: motors wait (2) seconds [A v] run [clockwise v] for (1) [rotations v] :: motors [A v] run [counterclockwise v] for (1) [rotations v] :: motors
Mini-Challenge — the talking wiper 6 min
Combine today's back-and-forth sweep with last lesson's screen text. Show "WIPING" on the screen while the wiper does three full wipes with a blip on every sweep.
It works if:
- The screen reads WIPING during the wipes.
- A sound plays at the end of every sweep, both directions.
Recap 2 min
You made a motor sweep back and forth by switching the run-motor block to counterclockwise for the return stroke. Because blocks run in order, a play sound [Information / Blip 1 v] until done after each sweep keeps sound and motion in time.
- Reverse (counterclockwise)
- Choosing counterclockwise in a run-motor block spins the motor the other way.
- play sound (block)
- Plays a chosen sound clip. Placed after a move, it sounds when that move ends.
- Synchronise
- To make two things — like sound and motion — happen at the same moment.
Homework 1 min
Five clean wipes. Make the wiper do five full back-and-forth wipes that all return to the same start position.
Bring back next class: a short video or note saying whether the arm drifted off-centre, and why.
Heads up for next class: EV3-L1-08 builds the Stegosaurus and times a sound to each walking step.