You are on page 1of 41

Lesson Plans For

Educators
2 ActivePuzzle Course

Introduction to ActivePuzzle
What is ActivePuzzle?
ActivePuzzle is a game for learning robotics by simply building robots out of puzzles. This game
was designed to develop computational thinking while playing by experiencing and assimilating
basic computational concepts:
● Algorithm
● Input​ (from sensors) and ​Output​ (to actuators)
● Logic​ – inverse/NOT, AND, OR, filtering
● Conditional execution ​– robotic function execution as dependent on an input value.
● Repeated execution​ – robotic function execution while a certain condition holds.

Additionally, ActivePuzzle encourages creativity, problem solving and teamwork while playing and
building robots.

Who is this Course For?


This course is for educators who wish to teach students robotics. The ActivePuzzle game was
designed to enable ​learning by doing​, that is, to infer the above computational concepts from the
robot models they build. Therefore, we recommend the ​inverse learning methodology, where the
students first build robots, and then discuss and conclude the ideas and principles they
encountered. Educators can use the robot models, the concepts and the conclusions brought here
to support student learning in the class.

Course Structure
Each of the course lessons contains robot models. Each robot model is then discussed and
explained in detail, emphasizing scientific and technology principles.
Each lesson includes the following parts:
● Overview of the lesson.
● Goals of the lesson.
● Keywords mentioned during the lesson which are important to memorize.
● Experiments - robot models with each including a description and puzzle blocks, with their
ordinal number, composing that model.
● Detailed explanation of the robot models.
● Possible interventions of the educator during the experiments.
● Summary of the lesson.
● Reflection - discussing the missions, talking about the challenges/difficulties encountered,
comparing solutions, sharing ideas, etc.
We suggest letting the students first build the robots described in the lesson, experiment with their
operation, optionally alternating them, and then try to reach the conclusions by themselves, using
their own words.
3 ActivePuzzle Course

Connecting Puzzle Blocks


To connect two puzzle blocks first insert one into the other in 90 degrees, then rotate, as follows:

Due to the spherical joint it is a little difficult to connect two puzzle blocks upside-down, as we do
with regular puzzle games. An example connecting of puzzle blocks:

ActivePuzzle Principles
The following principles apply when building ActivePuzzle robots:
● The ​minimal robot principle​: An ActivePuzzle robot must include at least one battery ​block
(green), one input ​block​(red) and one output ​block​ (black).
● The value flow principle​: each of the puzzle ​block​s composing the robot has a value - the signal
voltage at that puzzle ​block – ranging between 0 and 1. The value is always generated by input
puzzle blocks​, which is why an input puzzle block must be part of each robot. For example, the
value in the following robot is generated by the light sensor (06) and is passed to its two neighbors –
the battery (16) and the voltmeter (04):
4 ActivePuzzle Course

If the light intensity near the robot is half of the maximum light, the light sensor will generate a value
of 0.5, which will then be transferred to its adjacent ​puzzle blocks​ – the voltmeter and the battery:

Note: the value in the battery in the above example is ​not used ​ in this robot, but if we connect it
with another puzzle block the new ​block​will receive the light sensor value through the battery.
In the following picture more ​blocks​ are added, and they receive the same value:

● The ​flow direction principle​: All ​puzzle blocks ​except the logic (blue color) are direction neutral,
that is, you can lay them in any direction, as their values flow ​in all​ directions equally.
5 ActivePuzzle Course

T​he logic ​blocks’ (blue) two inner circles are the inputs and the two outer circles are the outputs, as
follows:

In the example above, suppose that the light sensor value is now 0.7, and we add a NOT (11) ​block
and a LED puzzle (01) to the voltmeter’s right, this is what we would get:

Explanation: T​he light sensor ​block value is 0.7 and it is flowing to its neighbors, the battery and
the voltmeter. The logic NOT puzzle receives the 0.7 value from the voltmeter and inverses it
(analog inverse) calculating 1 - 0.7 = 0.3. The new 0.3 value is then passed by the logic NOT to its
outer circle neighbors – the LED in this case.
Another example​: ​I​n the following robot, the temperature sensor (07) and the proximity sensor (08)
generate values and pass them along to the logic OR (13) inner circles:
6 ActivePuzzle Course

The OR output then flows to the buzzer (03) ​through its outer circle. The received function in the
buzzer is “it’s warm OR it’s bright”. In this scenario the temperature is very cold (the sensor reads 0)
and it’s full of light (light sensor reads 1), so the OR result of the two is “1”.

The ActivePuzzle blocks


Following is a table of the existing ActivePuzzle blocks:

The blocks are numbered 01, 02 and so on, and have colors denoting their function category:
● Black ​blocks – ​output ​blocks​. These let you ​form ​an action. For example, with the LED (01) you
7 ActivePuzzle Course

can turn on ​or ​off a light, and with the motor (01) you can run it or stop it.
● Red ​blocks – ​input ​blocks​. ​Using ​the input ​blocks you can get information from the outside
environment, like the amount of light (light sensor, 06) or knowing if there is something in front of the
robot (proximity sensor, 08).
● Blue blocks - ​logic blocks​. The logic blocks are used to alternate the robot value at some
point. For example, the logic NOT (11) can be used to invert the robot value flowing through
it.
● Green ​blocks – batteries. The battery is necessary as it is the robot power source. The battery
electricity power is transferred to all connected ​blocks​.
● White ​blocks​ – brick adapters, ​which l​ et you decorate the robot by ​attaching L
​ ego pieces to it.
8 ActivePuzzle Course

Lesson 1: Basic Robots, Basic Principles


Overview
This lesson plan is an introduction to ActivePuzzle. In this lesson students will meet and explore
some of the ActivePuzzle blocks, learn how to connect the puzzle blocks and how they interact.
The students will experiment with the basic sense-act principle, in which values of input blocks
activate neighbor output blocks.

Goals
# Get familiar with the ActivePuzzle blocks and learn the basic electronic principles of connected
blocks.
# Understand how the battery power reaches all the connected blocks.
# Get familiar with input blocks (red) and output blocks (black)

Keywords
● Block / puzzle block
● Sense-Act
● Battery, electric power
● Electric current
● Sensor
● Light intensity
● Voltmeter
● Motor
9 ActivePuzzle Course

Experiments
Experiment Robot Structure

1. Controlling the light intensity


A basic 2D puzzle robot functioning as a dimmer:
● The battery (16) supplies electric power to the
rest of the puzzle ​block​s.
● The potentiometer (09) ​provides ​an input
value (electric v​ oltage) to its adjacent
neighbors​.
● The LED lamp intensity is controlled by the
electric ​ oltage
v received from the
potentiometer​. Blocks:​ 1, 9, 16
Switch on the battery and rotate the
potentiometer knob to change the robot value –
notice the change in the LED light intensity!

2. Measuring the light intensity


Measure the light using a light sensor and a voltmeter:
● The light sensor (06) reads the intensity of the
light near the robot.
● The voltmeter (04) indicates the value of the
robot using its 4 LEDs: the higher the value the
more LEDs are on.
Switch on the battery and try exposing the robot
to a light (lamp or window), then hide the light
source – notice the change in the voltmeter.
Blocks:​ 4, 6, 16

3. Running the motors


Run the motor with a speed dependent on the
light intensity.
● Add motors one the side of the light sensor.
● Connect the wheel to the motor
Switch on the battery and test again the robot in
front of light and darkness and watch the wheel’s
running speed.

Blocks:​ 2, 6, 16
10 ActivePuzzle Course

Detailed Description
This lesson is an introduction to ActivePuzzle robotics. The students will become familiar with the
ActivePuzzle robotic principles by building some basic robots. All the robots in this lesson are two
dimensional, thus being simple to build and understand.
The basic working principle of ActivePuzzle robots is called sense-act: values of input blocks
activate neighbor output blocks.
1. Controlling the light intensity:
● The battery (16) provides electric power to adjacent puzzle blocks, and those blocks in
return pass on the power to their adjacent blocks so that all the connected puzzle blocks
are powered by a single battery block.
● The potentiometer (9) provides an input value - which is actually an electric voltage - to its
adjacent neighbors. By rotating the potentiometer knob we can either increase (turn
clockwise) or decrease (turn counterclockwise) this value.
● The LED lamp (01) receives its value (voltage) from the potentiometer, thus its light can be
controlled by the potentiometer knob.
Exercise: change the order of the puzzle blocks in the robot in experiment 1 – use the same
puzzle blocks but with a different structure. How many combinations did you find?
2. Measuring the light intensity:
● The light sensor (06) tells us the current amount of light near the robot. It provides to its
neighbours an electric voltage specifying the light value, which then can be measured by
the voltmeter.
● The voltmeter measures the voltage value received from its neighbor, the light sensor, and
displays it using four bars, the more bars displayed the higher the voltage.
Exercise: add more black blocks to the robot in experiment 2 as in the following picture:

What happens now when you switch on the battery?

3. Running the motors:


● The motor (02) can be run by simply providing it a high value. In this experiment we
connect the motor to the light sensor, and connect the wheel to the motor shaft.
● The light sensor passes a high value to the motor when in front of a light and a low value
when in front of darkness.

Possible Interventions
❖ Connecting the puzzle blocks for the first time - if they ask for it, show the students how to
11 ActivePuzzle Course

seephysically connect two puzzle blocks.


❖ Often students tend to pick more blocks from the kit and experiment with them, instead of
working with the blocks they were given for the mission, especially during the first lessons.
Depending on the available time you have, decide how long you’ll let them do so before
asking them to concentrate on the relevant blocks.
❖ What language and keywords do the students use to communicate about their robot
construction process? Save these findings for the reflection stage.
❖ Encourage sharing of the robot models in the class with other students, as well as taking
pictures of the accomplished robot models.

Summary
The battery ​block​ (green) provides the electric power to all puzzle parts in the robot.

Input ​blocks​ (red) generate values and pass them to their neighbor ​blocks​.

Output ​blocks​ (black) receive the input values and output them.

Reflection
● World examples - ask for real world examples matching the class experiments - e.g. street
lights, electric cars.
● At the end of each experiment, make sure all the students have completed the robot
structure and that it works. Show the solution robot on the presentation and/or show a real
robot model, so that those who didn’t complete it can do so.
● Ask the students to document the puzzle robots they have constructed. This can be done in
any way they prefer - drawing the actual robots, drawing squares with icons and/or
numbers or writing it textually.
● Discussion: ask the students to tell about the robot models they constructed, reflecting on
their experience. Encourage class discussion and sharing of difficulties, solutions, other
12 ActivePuzzle Course

ideas, etc.

Lesson 2: Energy Saving


Overview
In this lesson the students will experiment with energy saving robots. The students will build
“smart” things which use sensors to learn about the robot environment and act based on that
information. These robots mimic known systems the students meet every day like air-conditioning
which stop upon reaching the desired temperature, street lights which turn on only when someone
is in front of them, water taps that open the water automatically when detecting hands, etc.

Goals
# Understand energy saving robots and their basic work principle.
# Learn how to to use the sense-act principle to implement energy saving
# Meet the logic blocks and see how they can be used to manipulate the robot value
# Learn how to balance tall robots using puzzle blocks laid in a vertical dimension.

Keywords
● Energy
● Smart things
● Logic NOT
● Proximity sensor
● Conditional execution (IF statement)
13 ActivePuzzle Course

Experiments
Experiment Robot Structure

1. Smart Fan
The motor fan works only when an object is
detected by the proximity sensor.
● Connect the proximity sensor to the battery.
● Connect the motor to the proximity sensor.
● Connect the brick adapter to the battery
vertically, to stabilize the robot.
● Connect the propeller to the motor.
Switch the battery on and bring your hand in front
of the proximity sensor – the motor runs when Blocks:​ 2, 8, 16, BR
detecting your hand!

2. Smart Street Light


The street light is ON when something or someone
is in front of it:
● Connect the puzzle blocks as shown.
● Again, the brick adapter is connected
vertically to the battery to balance the robot.
Test the robot by putting your hand in front of the
robot and see how the LED lamp light changes
accordingly.
Blocks:​ 1, 8, 16, 18, BR

3. Smart Street Light 2


The LED light is activated when it’s dark.
● Connect the puzzle blocks as shown.
● Logic NOT direction: make sure that the
light sensor is connected to the inner circle
of the NOT, and that the LED lamp is
connected to the outer circle of the NOT.

Blocks:​ 1, 6, 11, 16, 18, BR

Detailed Description
This lesson demonstrates how to build smart things and save energy. Using sensors, robots can
act based upon ​input​ conditions, thus making ​conditional execution​.
1. Smart Fan: this robot is based on the proximity (08), which contains a sensor for detecting
objects in front of the sensor. When it detects an object it passes a high value to the motor, thus
14 ActivePuzzle Course

causing it to run.
The following chart represents the smart fan conditional execution:

The flowchart’s textual meaning is “​If PROXIMITY then run the motor, else stop it”. The Smart Fan
robot implements a ​conditional execution​, that is, it makes actions dependent on some
conditions.

2. The street light robot characteristics:


● The LED bl​ock ​should be at the top, like in real street lights, in order to increase its coverage.
● The conductor ​block​ (18) is used as an extension to make the street light higher
Exercise: draw this robot’s flowchart.

3. The second smart street light version uses the light sensor along with the logic NOT to activate
the LED lamp when it’s dark.
● The logic NOT ​block is positioned between the light sensor and the LED lamp, and so it inverses
the value coming from the light sensor, and passes the ​inverted​ value to the LED lamp.
The robot’s flowchart expressing the sentence “If NOT LIGHT then turn on the light, else turn off
the light” is:
15 ActivePuzzle Course

Possible Interventions
❖ Do the students identify the flow direction of the robot value? This is important in this lesson
as they now work with logic blocks where the direction of connection is important. One
common mistake is to connect the logic NOT in the wrong direction, causing the robot to
work incorrectly.
❖ Often students tend to pick more blocks from the kit and experiment with them, instead of
working the blocks they were given for the mission, especially during the first lessons.
Depending on the available time you have, decide how long you’ll let them do so before
asking them to concentrate on the relevant blocks.
❖ What language and keywords do the students use to communicate about their robot
construction process? Save these findings for the reflection stage.
❖ Encourage sharing of the robot models in the class with other students, as well as taking
pictures of the accomplished robot models.

Summary
Using the proximity sensor within the fan robot makes it “smart” – it knows when someone is standing in
front of it, and so it saves energy and ​stops​ working when no one is there.

Likewise, the street light becomes smart using the proximity sensor, to be activated only when someone is
standing in front of it.

The logic NOT puzzle inverses the value it reads, and it passes the ​inverted value to its outer circle
neighbors.

Reflection
❖ Encourage the students to name real world examples of energy saving instruments and
16 ActivePuzzle Course

systems and compare them to the robots they built - for each discuss its working principles
(according to what the students think).
❖ Discuss energy in the class: what types of energy exist? How can energy saving machines
help our planet?
❖ At the end of each experiment, make sure all the students have completed the robot
structure and that it works. Show the solution robot on the presentation and/or show a real
robot model, so that those who didn’t complete it can do so.
❖ Ask the students to document the puzzle robots they have built. This can be done in any
way they prefer - drawing the actual robots, drawing squares with icons and/or numbers or
writing it textually.
17 ActivePuzzle Course

Lesson 3: Alarm Robots


Overview
Alarm robots notify us of something that might have happened or something that might have
changed. In this lesson the students will build and investigate alarm robots and their components -
the detection component, the alarm component and the involved logic. Moreover, one of the alarm
robots will be composed of two separate robots that will interact using infrared communication.

Goals
# Understand how smart alarm systems work.
# Experience with infrared communication
# Experience with interaction between two robots
# Re-visit and experiment again with the logic NOT reverse function

Keywords
● Alarm
● Buzzer
● Infrared
● Transmitter
● Receiver

Experiments
Experiment Robot Structure

1. Mom-Comes-In Alarm
The proximity sensor, which is watching the
room entrance, triggers the buzzer when mom
comes in.
● The proximity is in front of the room
entrance.
● The buzzer is in front of the child
location in the room. Blocks:​ 3, 8 ,16
18 ActivePuzzle Course

2. Wake Alarm
The light sensor triggers the buzzer when the
sun shines.
● The light sensor is at the top of the
robot, in front of the window.
● The buzzer is in front of the child's bed.
● The conductor (18) is used to extend the
robot and to make the robot higher.

\
Blocks:​ 3, 6, 16, 18

3. Thief Alarm
The thief alarm is composed of two distinct
robots, one containing the infrared (IR)
transmitter, and the other containing the
infrared receiver:
● The IR transmitter (05) sends a constant
signal to the IR receiver (10).
● When the thief comes into the room, his
foot blocks the IR signal.
● The logic NOT inverses the robot value,
so that the buzzer is activated when the
IR signal is blocked.
Blocks:​ 3,10, 11, 16 5, 9, 16, 18

Detailed Description
Alarm robots notify us of certain events, so that we can react accordingly. They use sensors to
sense those events, and actuators – such as sound or light based - to notify us when those events
occur.
The basic logic of an alarm robot is “if a-certain-event-occurred then make a notification”.
Expressing it in a flow chart would look as follows:
19 ActivePuzzle Course

Infrared (IR) communication: many devices use IR to communicate. Well known examples are TV
and air-conditioning controllers. The IR communication is based on a beam sent from the
transmitter to the receiver in certain frequencies and protocols. Therefore, there must be a
line-of-sight (LOS) between the transmitter and the receiver.

● Puzzle 05 is an IR transmitter, and it transmits an IR beam according to its value – if the value is “1”
it transmits a signal and if it is “0” it doesn’t transmit anything.
● Puzzle 10 is an IR receiver and it can detect an IR beam sent by the IR transmitter. In order to
properly receive the IR signal, the IR receiver must front the IR transmitter.

Possible Interventions
❖ While building the robots the students will probably need feedback regarding the orientation
of the puzzle blocks - let them reach the answer by giving them guiding questions, e.g.
“Who should be notified by the buzzer? Where are they seated?”
❖ If you have an infrared remote controller in the class you can give it to the students to
experiment with activating the receiver robot directly from the infrared remote controller.
❖ What language and keywords do the students use to communicate about their robot
construction process? Save these findings for the reflection stage.
❖ Encourage sharing of the robot models in the class with other students, as well as taking
pictures of the accomplished robot models.

Summary
❖ Direction of the robot parts: the sensors in alarm robots should front the event location, while the
actuators ​should be oriented towards​ those who need to be notified.
❖ The logic NOT can be used to inverse the condition, which then can be expressed as “if
an-event-did-not-occur the​n​ make a notification”.
20 ActivePuzzle Course

❖ The infrared ​blocks – the transmitter (05) and the receiver (10) – can be used for communication
between separate robots, as demonstrated by the thief alarm example.

Reflection
● World examples - ask the students to name as many infrared controlled devices as possible
- air-conditioning, TV controller, car keys, etc. Ask the students to discuss and compare
those systems to the infrared robot they built. More specifically, ask them to identify the
transmitter and the receiver on each example. Compare these examples with non-IR
examples that don’t require a line of sight (LOS) to communicate, like mobile phones using
Wifi and Bluetooth, and like wireless mouse and keyboard which use radio frequencies (RF)
to communicate with desktop computers.
● If you have a remote controller in the class and you used it as suggested above, discuss it
in class - how did the receiver robot react to the transmitter and the remote controller.
● At the end of each experiment, make sure all the students have completed the robot
structure and that it works. Show the solution robot on the presentation and/or show a real
robot model, so that those who didn’t complete it can do so.
● Ask the students to document the puzzle robots they have constructed. This can be done in
any way they prefer - drawing the actual robots, drawing squares with icons and/or
numbers or writing it textually.
● Discussion: ask the students to tell about the robot models they constructed, reflecting
about their experience. Encourage class discussion and sharing of difficulties, solutions,
other ideas, etc.
21 ActivePuzzle Course

Lesson 4: Motion Robots


Overview
In this lesson students will start building robots that move using the motors and wheels. Motion
robots can move and react to objects, events that occur nearby, or they can move until reaching
some goal - the actual behavior depends on the sensors we use and the way we construct the
robot.

Goals
# Learn how to build robots that can move by assembling the motors vertically.
# Learn how to stabilize moving robots
# Experiment with robot motion that is dependent on certain events
# Experiment with real 3D robots

Keywords
● Center of mass
● Three dimensional (3D)
● Motion robots
22 ActivePuzzle Course

Experiments
Experiment Robot Structure

1. Follower Dog
The proximity sensor triggers the motor when a
hand is detected.
● Make sure the motor switche is set so as
the motor moves the robot forward.
● The voltmeter and LED are used in this
robot only as extensions

Blocks: 1, 2, 4, 8, BR, 16

2. CaveBot
This robot finds the cave exit: it moves with one
motor, which rotates while no (NOT) light (light
sensor) is detected, then it stops and beeps
when reaching the light.
● Moving inside the cave, the light sensor
value is low, thus the motor value is high,
as it’s inverted by the logic NOT.
● Upon reaching the cave exit, the light
sensor value is high, and so is the Blocks:​ 2, 3, 6, 11, 16
buzzer’s, which beeps. The motor now
has low value and it stops.

3. Electric Scooter
The potentiometer triggers the two motors &
wheels. The bottom brick adapter stabilizes the
robot, and the top one is used for Lego
decorations.

Blocks:​ 2, 2, 9, 16, 18, BR, BR


23 ActivePuzzle Course

Detailed Description
Motion robots are robots that move, essentially using motors and wheels. The motors are output
blocks (black) that receive their value from other blocks in the robot, with the motor speed set by
the value received: the higher the value the higher the speed. The motor block also includes a
switch to set the rotation direction – clockwise or counterclockwise.
In order to use a motor for motion, its shaft needs to be inserted into the wheel central hole (cross
shape), as in the following picture:

1. Follower Dog – this robot uses the proximity sensor to move when it detects something. The
robot uses the motor to move.
Note that the voltmeter (04) can be used as an extension, just like the inductor (18), as it doesn’t
affect the robot behaviour, except for its LEDs coming on and off. Similarly, the LED (1) and the
brick adapter are also used as extensions.
There is another version for the follower dog, with two motors and two wheels:

2. CaveBot –based on a single motor+wheel, positioned so in order to provide stability to the


robot.
3. ElectricScooter – this robot runs with two motors and wheels positioned along the same side,
where a ground brick adapter is used for balance.

Possible Interventions
❖ The students may need help inserting the wheel into the motor shaft for the first time, as
well as stabilizing the 3D robots, so be prepared to offer help.
❖ In the Follower Dog example the students can use another puzzle block to put in front of the
proximity sensor for the dog to follow it. For the CaveBot guide the students to simply cover
the light sensor with their hands to simulate darkness, then remove it to simulate reaching
the light.
❖ What language and keywords do the students use to communicate about their robot
construction process? Save these findings for the reflection stage.
❖ Encourage sharing of the robot models in the class with other students, as well as taking
pictures of the accomplished robot models.

Summary
❖ Moving robots are constructed with the motors being vertically assembled, so that the wheels
will touch the floor and so that the robot will “look” forward.
❖ Center of Mass: the robot structure should be determined not only by the electronics design
considerations, but also by ​mechanical​ constraints, such as center of mass and balance.
24 ActivePuzzle Course

❖ The logic NOT position and direction are crucial when designing the robot structure, as it affects only
the ​blocks​ following its outer circles.

Reflection
● The moving robots add a lot of excitement - use it to encourage the students to talk about
their robots, how they built them.
● Guide a discussion about electric cars and autonomous cars as a real world examples,
along with comparison to the students’ robots: what do they think of how autonomous cars
work, what sensors do they need to drive safely, etc.
● Ask the students to document the puzzle robots they have constructed. This can be done in
any way they prefer - drawing the actual robots, drawing squares with icons and/or
numbers or writing it textually.
25 ActivePuzzle Course

Lesson 5: Logic
Overview
This lesson dives deeper into the logic in ActivePuzzle and shows students how to combine logic
blocks to create a robot with advanced logic behavior. The experiments in this lesson further
explain logic and input-output concepts, where the direction of the logic blocks expresses the
input-output direction.

Goals
❖ To learn more about logic and how combinations of logic blocks can express complex
behaviors.
❖ To better understand the input-output concept.

Keywords
● Logic AND
● Logic OR
● Analog-to-digital
● Threshold
26 ActivePuzzle Course

Experiments
1. Mom-Wake Alarm
A robot for both alerting when mom
comes in or when the sun shines.
● Both the light sensor and the
proximity sensor outputs go into
the logic OR as inputs.
● The logic OR output activates the
buzzer when either of the two
sensor values, or both, is high.

Blocks: 3,6,8,​13​,16

2. Smart Fan – Two Sensors


A smart fan which works only when it’s
both warm and in front of someone, i.e.
both the proximity sensor value and the
temperature sensor value are high.
● The proximity sensor output goes
into the logic AND.
● The temperature sensor output
goes into the analog-to-digital,
which is used as a thermostat –
sets the active level.
● The analog-to-digital output then
goes to the logic AND.
● The OR output activates the motor.
Blocks: 2,7,8,​12​,16,19

3. Smart Street Light – Two Sensors


A smart street light which works only
when it’s both dark AND it is in front of
someone.
● The proximity sensor output is one
input for the AND block.
● The light sensor output goes
through the NOT block and then
into the AND’s second input.
● The AND output goes into the LED
lamp, activating it only when both
conditions apply.

Blocks: 1, 6, 8, ​11, 12​, 16, BR


27 ActivePuzzle Course

Detailed Description
The logic OR (13) activates the output block based on input coming from two sensors. The logic
OR outputs high value if either of the two sensor values, or both, is high, otherwise its output is
low. The OR is used in logic as follows:

Like the logic OR, the logic AND (12) activates the output puzzle based on input coming from two
sensors. The logic AND outputs high value only when ​both sensor values are high, otherwise its
output is low. The AND is used in logic as follows:

Logic blocks can be cascaded to achieve a more complex condition. As in the smart street light
example, the output of one logic – the NOT – goes as input to another logic – AND, thus forming
the sentence “if proximity value is high AND NOT the light sensor is high then notify, else do
nothing”.

1. Mom-Wake Alarm: here we use the OR (13) to activate the alarm on the occurrence of any of
the two events (or both).
28 ActivePuzzle Course

2. Smart Fan - Two Sensors: here the fan motor reacts to both events - high temperature and
detection of someone in front of the robot. The AND (12) makes it work only when both events are
true.

The ​analog-to-digital (19) is a logic block which translates an input analog value into a digital
value - that is 0 or 1 - according to a threshold set by the lever position.
3. Smart Street Light - Two Sensors: A smart street light which works only when it’s both dark
AND someone is in front of it.
29 ActivePuzzle Course

Possible Interventions
❖ The combination of logic blocks requires an understanding of how they work with regards to
input-output. Use the flow diagrams above to better explain the logic IO.
❖ As it is crucial to put the logic blocks in the right direction, students might find their robots
don’t work - be prepared to guide them and use these “bugs”to better understand logic and
IO.
❖ Encourage sharing of the robot models in the class with other students, as well as taking
pictures of the accomplished robot models.

Summary
❖ Logic blocks implement logic functions such as OR and AND. They are used within conditions
to activate output blocks depending on inputs coming from more than one sensor.
❖ The direction of the logic blocks is important: the inner circles are the inputs and the outer
circles are the outputs.
❖ Complex logic functions can be implemented by cascading logic puzzle blocks.

Reflection
● World examples - ask the student to investigate mobile phone sensors - find out what
sensors are there, when are they activated - then draw diagrams showing the logic
behavior.
● Ask the students to document the puzzle robots they have construct ed. This can be
done in any way they prefer - drawing the actual robots, drawing squares with icons and/or
numbers or writing it textually.
● Discussion: ask the students to tell about the robot models they constructed, reflecting
about their experience. Encourage class discussion and sharing of difficulties, solutions,
other ideas, etc.
30 ActivePuzzle Course

Lesson 6: Advanced Puzzle Blocks


Overview
In this lesson students will experiment with more complex robots and learn about some of the
advanced puzzle blocks like the wave (15) and the analog-to-digital (19). Also, they will learn how
to build a robot with separate functions using the insulator (14). Another advanced block part is the
Arduino (17) which can be used to interface ActivePuzzle with external devices.

Goals
# Experiment with the transformation of the robot value into a frequency.
# Experiment with robots built out of sub-robots.
# Understand how robot values can be transformed from analog to digital and how to set the
threshold of the transformation.
# Experiment with interfac‫ן‬ing ActivePuzzle using the Arduino block from external devices.

Keywords
● Frequency
● Analog-to-digital
● Insulator
● Threshold
● Arduino
31 ActivePuzzle Course

Experiments
Experiment Robot Structure

1. Police Car
A police car with a siren.
● The wave block (15) translates the value
received into a frequency.
● The wave puzzle causes the LED and the
buzzer to oscillate while the robot moves, just
like in a police car.

Blocks:​ 1, 2, 3, 9, 15, 16, 18

2. Lighthouse
A lighthouse with blinking light and with
ship-coming-in notifications.
● The insulator (14) insulates the two parts of
the robot so that they can operate
independently.
● The two isolated robots are LED light blinking
constantly using the wave (15) and a
potentiometer, and the buzzer beeps when
detecting a ship.

Blocks: 1, 3, 8, 9, 14, 15, 16, BR

3. Soil Moisture Monitor


Soil moisture monitor using the Arduino external
interface:
● The Arduino block (17) is connected to an
external moisture sensor.
● The buzzer is activated when its dry beyond
the level set by the analog-to-digital (19).

Blocks:​ 3, 11, 16, 17, 19


32 ActivePuzzle Course

Detailed Description
1. Police car – this robot demonstrates the use of the wave puzzle (15), which translates its input
value (voltage) into a ​frequency​, thus being a ​voltage-controlled oscillator (VCO). In this robot,
the potentiometer (09) is used to set the wave value – the higher the value the longer the waves it
generates (and therefore, the lower the frequency).
Note that the potentiometer also sets the motor speed, so for lower values the robot will move very
slowly.
2. Lighthouse – a lighthouse is used to inform ships of the shore location at night, thus it normally
includes blinking lights and/or rotating flashlight. In this robot the LED positioned at the lighthouse
top is blinking, as it follows the wave block. The ​insulator (14) is used to separate between two
sub-robots: the lighthouse and the coming-in-ship notification.
Note that the insulator does not prevent the electric power from reaching both sides of the robot,
but only the blocks value flowing. Therefore, the insulator saves the need for another battery.
3. Soil moisture monitor – this robot uses two advanced puzzle blocks: Arduino (17) and
analog-to-digital (19). That is how it looks in reality:

The ​Arduino is a logic block which provides a full control over the puzzle interfaces, including the
power. It has 6 double pins with functions as follows (left to right):1.Left input, 2.Bottom input,
3.Ground (-), 4.Power (+), 5.Top output, 6.Right output.
33 ActivePuzzle Course

You can connect new sensors to the Arduino block inputs (left/bottom) and then build a puzzle
robot that reacts to them, like in the planter moisture monitor. You can also connect your Arduino
microcontroller (or any other microcontroller) to the Arduino block and customize the robot
behavior: read inputs coming from the left and/or bottom and determine the outputs on the top and
right.
The ​analog-to-digital (19) is a logic puzzle which translates an input analog value into a digital
value, according to a threshold set by the lever position:

In this example, the analog-to-digital reads the Arduino dryness value (as the NOT inverted the
moisture value) and depending on its lever position it outputs “1” if above the level set, or “0” if
below. As a result, the buzzer beeps when the planter soil moisture is below the required level.

Possible Interventions
❖ As these are advanced experiments the students are expected to be challenged - be
prepared to assist.
❖ Note: the Soil Moisture Monitor requires an external moisture sensor - simply search for
“moisture sensor for arduino” on the internet, it is a cheap sensor to purchase.
❖ Encourage sharing of the robot models in the class with other students, as well as taking
pictures of the accomplished robot models.

Summary
❖ Frequency relates to the occurrences of a repeating event per unit of time. The higher the frequency
the higher the number of occurrences. The wave ​block generates a wave ​with a frequency dependent
on the value coming from a predecessor neighbor.
❖ The ​Insulator (14), as opposed to the conductor (18), prevents the value flow, thus insulating the robot
structure into two separate parts.
❖ The Arduino external interface provides a way to extend ActivePuzzle robots by connecting it to
microprocessors and electronics outside of the ActivePuzzle parts.
❖ The analog-to-digital puzzle translates analog voltage values into digital, according to the level set by its
34 ActivePuzzle Course

lever.

Reflection
● Ask the students to raise ideas about other external devices and/or sensors which can
interface ActivePuzzle to achieve new abilities, and discuss those ideas in class.
● Ask the students to document the puzzle robots they have constructed. This can be done in
any way they prefer - drawing the actual robots, drawing squares with icons and/or
numbers or writing it textually.
● Discussion: ask the students to tell about the robot models they constructed, reflecting
about their experience. Encourage class discussion and sharing of difficulties, solutions,
other ideas, etc.
35 ActivePuzzle Course

Lesson 7: Space Probes


Overview
In this lesson we will be building space probes which will be built to do a certain job - find holes,
detect heat sources or find volcanoes. The compound robots will give us the opportunity to talk
about algorithms, loops and how to implement them.

Goals
# Experiment with building vehicles with complex behavior
# Learn about space and planet phenomena and how to physically characterize them
# Experiment with interfacing ActivePuzzle using the Arduino block with external devices

Keywords
● Space probe / planetary probe
● Heat detector
● Volcano
● Planetary vehicle
● Algorithm
● Repeated execution / loop / ​while ​loop
36 ActivePuzzle Course

Experiments
Experiment Robot Structure

1. Hole Detector Probe


A planetary probe which searches for holes: the
probe moves forward until reaching a hole, then it
stops and it makes a sound notification.

Blocks: 1, 2, 2, 3, 8, 11, 16

2. Heat Detector Probe


A planetary probe which searches for heat sources:
the probe moves forward, and when heat is detected
by sensing a high temperature it transmits a signal to
the base station behind.

Probe - Blocks: 1, 2, 2, 5, 7, 9, 14, 16, 19


37 ActivePuzzle Course

Base station - Blocks: 3, 10, 16, 18, BR,


BR

3. Volcano Finder Probe


A planetary probe which searches for volcanoes: the
probe moves forward until reaching a volcano, which
is detected by sensing both a hole and a high
temperature, then it transmits a signal to the base
station behind.

Base station is similar to the above.


38 ActivePuzzle Course

Blocks: 1, 2, 2, 5, 7, 8, 11, 12, 16, 19

Detailed Description

1. The hole detector probe is a planetary vehicle which searches for holes using the proximity
sensor. It stops when detecting a hole and makes a sound notification using the buzzer. The
sound is generated using the logic NOT, to reverse the proximity value.
Algorithm ​is a decomposition of a complex problem into well defined steps which can be
executed by the computer or the robot we are working with. For example, when we draw a
flowchart to describe a robot behavior we actually write an algorithm, as each of the steps in the
flowchart is well defined and can be executed using ActivePuzzle.
The hole detector algorithm can be described using a flowchart as follows:

We can describe the above flow chart as “Move forward ​while ​the proximity value is true, then
stop and make a sound”. The important word here is ​while - the robot does certain actions while
some condition holds - we call this a ​loop​. Using loops our robots can implement a ​repeated
execution of some actions. In the hole detector probe the repeated action is moving forward, and
it ends up when the loop condition becomes false.
39 ActivePuzzle Course

2. The heat detector probe searches for heat sources using the temperature sensor and the
analog-to-digital, for detecting heat above a certain temperature, called a ​threshold​. If it goes
near such a heat source it transmits a signal to the base station behind and continues to move
forward.
The robot uses the insulator (14) to separate between the motion and temperature sensing
circuits, so that each works independently.
The Head Detector Probe flowchart:

The flowchart expresses the sentence “Move forward, and if heat is above the threshold send a
signal”. Note that the moving forward is not dependent on the detection of a heat, only the signal
sending is.
3.The volcano finder probe searches for volcanoes by combining both proximity sensing of holes
and temperature sensing of heats. Using the logic AND, the volcano is detected when both are
true.
The Volcano Finder Probe flow chart:
40 ActivePuzzle Course

The sentence described by this flowchart is “Move forward ​while ​the proximity value is true, then
stop, and ​if ​detecting a heat then send a signal”.

Possible Interventions
❖ Be prepared for student questions about planets, if possible guide them to info sources
such as Wikipedia to get more information about space probes and their missions on
planets.
❖ The vehicles in this lesson are a little complex and might challenge the students - if they
ask for help try providing them hints, or use guiding questions.
❖ Encourage sharing of the robot models in the class with other students, as well as taking
pictures of the accomplished robot models.

Summary
Space probes can be used for various research missions on planets, like searching for holes, heat
sources and volcanoes. With ActivePuzzle robots we can simulate those probes.
41 ActivePuzzle Course

Reflection
● “What other missions can be done using robots on planets?” - encourage a discussion in
class. For each mission mentioned by the students ask them to characterize the functions
composing that mission, like motion, sensing temperature, alerting, etc.
● Ask the students to think of new puzzle blocks that would support research missions
(including those mentioned in the previous discussion) on planets like Mars and Venus.
● Ask the students to document the puzzle robots they have constructed. This can be done in
any way they prefer - drawing the actual robots, drawing squares with icons and/or
numbers or writing it textually.

You might also like