Lego Technics
Lego Dacta Control Lab
Lego Dacta Robo Lab
Lego Mindstorms
Lego Droids
Walking Dinosaur
Lego DACTA Control Lab
In addition to the familiar building sets seen
on toy store shelves, the LEGO company
produces building sets for a range of
machines for use in science and technology
 At the low end of the product line are the
LEGO Technic sets
 At the high end is the LEGO DACTA Control
Lab that allows construction of computer
(PC) controlled machines.
Lego DACTA Control Lab
 Examples
– a greenhouse that automatically
regulates its temperature using a
ventilation system,
–a robotic arm, a vending machine,
–a PC plotter, and
– an automobile on a dynamometer
(see Fig. 1).
Fig. 1. LEGO DACTA controller
and automated model.
Lego DACTA Control Lab
Sophisticated simulations of real-world
systems have also been created such as
an auto manufacturing line
en/lego/index.html) and various kinds
of robots
The Fischertechnik corporation
produces a product similar to the
LEGOs that have also been used in
teaching environments
The LEGO DACTA Control Lab
The Control Lab set includes:
– the usual LEGO blocks,
– pieces from the Technic sets for building machines (gears, pneumatics,
pulleys, etc.)
– computer controllable devices.
These devices include:
– lamps,
– motors,
– sound elements,
– touch sensors,
– temperature sensors,
– light sensors and
– angle sensors.
The LEGO DACTA Control Lab
The devices are connected to a controller,
which in turn interfaces with a serial port on a
personal computer to permit software control of
the devices.
The controller is capable of controlling eight
input devices and eight output devices.
Communication between the PC and the
controller is via a protocol developed by LEGO.
Figure 1 (shown previously) illustrates a LEGO
model connected to the controller.
Software is used to coordinate the actions of the
LEGO devices (motors, sensors, etc.) in sophisticated
models, such as the automobile on a dynamometer,
shown in Figure 1.
LEGO ships the Control Lab with a unique version of
the Logo programming language for writing the
control software (Martin, 1993).
Although Logo is satisfactory for illustrating
programming concepts, more sophisticated users
may wish to use other programming languages for
control purposes, as for instance Visual C++ or Visual
Davis Creek Elementary
Intelligent House Projects
Davis Creek Elementary's fifth grade class has been working on
the LEGO Dacta Control Lab Intelligent House Project.
The students use LEGO Dacta Control Lab software to build and
program the fan, burgler alarm, garage door, satellite dish,
keylock, and photo gate door entry.
The students worked in pairs doing one of the set projects and
ended by doing a design of their own with programming.
The pictures below are a sampling of the Intelligent House
Projects the eighteen fifth graders did the month of October.
Under the pictures are examples of some of the programs written
by fifth grade students.
Home Automation
Doggy Burglar Alarm
to doggy
waituntil [and (light5 > 48) (light5 < 52)]
talkto "lampa on
tone 80 5
tone 90 4
talkto "motorb setright onfor 9
talkto "motorb setleft onfor 9
talkto "lampa off
Different Design
We used the sensor to make noise.
When you slide different colors and textures past the sensor the program made
different noises.
to lc
waituntil [light5 < 90]
tone 50 30
waituntil [light5 < 60]
tone 80 30
to noise
repeat 100 [make "n
tone :n 1]
to garage
waituntil [light5 < 90]
tone 50 3
tto "motorb setleft
onfor 10
wait 70
tone 80 1 wait 1 tone
50 1
waituntil [light5 < 90]
tto "motorb setright
onfor 10
tone 80 10
Haunted House Ride
to pop
tto "bones up setpower 4 onfor 3.2 wait
tto "bones down onfor 3
to 2pop
waituntil [touch4] pop wait 6 pop
to move
launch [waituntil [light5 > 43 ] tto "lamph flash 10 2 ]
tto "motore setright onfor 40 2pop
wait 3
tto "motore setleft onfor 40
flash 0 0
to lighton
forever [ifelse light5 > 42 [tto "lamph on] [tto "lamph off]]
Easter Bunny
What did we learn?
 Robotics
can bring new excitement to
computer classes and design classes.
 Students love robots
 It is difficult to build curriculum
without kits
 Several kits are available, from very
simple (preschool) to very complex
(University graduate education level).
What did we learn?
Robix allows to build various robots.
 It allows to have deeper curriculum than
Lego but less ready material is available
 It allows access to the “guts” of software
and electronics
 Having one kit for a school is enough, you
can purchase additional servos for smaller
price on WWW and build the rest in class.
What Did We Learn?
There is a variety of methods how robotics can
be taught in high school
 The choice should depend on:
teacher’s preferences
student interest and quality
does the school have a mechanical/wood/electrical
– Normal classes/special projects
Robotic Arm
by Alex (11) and John Michael (11)
This project will take the bricks, sort them out by color
using a light sensor, then it will use the robotic arm to
grab the bricks and put them in the right bins
according to their color.
The bricks must be loaded horizontally into the chute
or else they will not be able to move.
– It might not determine the colors correctly because of an
above average intensity light source disturbing the light
sensor which scans the blocks.
– Do not worry if one of the blocks stops out of view of the
light sensor, the backup routine will relocate it right below
the sensor.
Input/Output Interface
Right after you load this project, you will see the Input/Output
Interface as shown above.
– Click on the Pages menu, then click on Program. You will see lots of
buttons and a picture as shown above.
– If your robotic arm is not positioned directly above the pickup trough,
position it there by clicking on either the Right adjustment or Left
adjustment buttons (Right adjustment moves the arm counter-clockwise
and Left adjustment moves it clockwise).
– If the arm is holding something or is not fully open, press the red Drop
button. After you're done positioning it, press the Calibrate button.
To start the project, either click the Start button or depress the
external touch sensor.
If you see that it's not functioning properly, click the Emergency
Stop button.
Procedures for project
– ;start of assembly line routines
– to setupfornextuse ;after it's done with all the
bricks, set it up for next use
waituntil [angle5 > -1] movoff
– to manleft ;moves the robotic arm clockwise
tto "motora setleft setpower 5 on
– to movoff ;stops the movement of the robotic
tto "motora off
Procedures for project
– to manright ;moves the robotic arm
tto "motora setright setpower 5 on
– to pickup ;makes the robotic arm grab
tto "motorb setright setpower 6 onfor 6
– to letgo ;makes the robotic arm release
tto "motorb setleft setpower 6 onfor 6
Procedures for project
– to determine ;uses the light sensor to scan what's
under it
if and light7 > 7 light7 < 13 [make "ptype 2] ;2 =
if and light7 > 14 light7 < 24 [make "ptype 1] ;1 =
if and light7 > -1 light7 < 2 [make "ptype 0] ;0 =
other or nothing
– to bluebin ;makes arm go to the blue bin and
release brick
manleft waituntil [angle5 < -50]
Procedures for
– to btas ;makes arm go to assembly line and pick up
manright waituntil [angle5 > -1]
– to yelobin ;makes arm go to wellow bin and release
manleft waituntil [angle5 < -61]
Procedures for project
– to preset ;moves the very first block below the light sensor
tto "motorc setright onfor 60
– to advance ;moves the following blocks below the light sensor
tto "motorc setright onfor 40
– to backup ;emergency routine if block isn't in view of light
tto "motorc setleft onfor 15 ;back up for 1.5 sec.
determine ;do a rescan if it's still not good
if :ptype = 0 [tto "motorc setright onfor 15] ;forward for 1.5
determine ;then rescan;
Procedures for project
– to initautomaticsequence ;the main routine
resetrotation 5
determine if :ptype = 0 [backup]
if :ptype = 1 [btas yelobin]
if :ptype = 2 [btas bluebin]
determine if :ptype = 0 [backup]
if :ptype = 1 [btas yelobin]
if :ptype = 2 [btas bluebin]
determine if :ptype = 0 [backup]
if :ptype = 1 [btas yelobin]
if :ptype = 2 [btas bluebin]
if :ptype = 0 [backup]
if :ptype = 1 [btas yelobin]
if :ptype = 2 [btas bluebin]
Your tasks
Be sure that you obtain the key to the laboratory
Go to the laboratory and be sure that you know what is where
Specifically, know what are the tools and where are they located.
Learn what is in the library in Industrial Robotics Lab and that you
know how to borrow and return books from Anas Al-Rabadi
– In Intelligent Robotics Lab, be sure that you know where are the books
describing your project: Lynxmotion, Parallax, Stamp Documentation,
PIC documentation.
If you are in trouble, ask Mike Levy, Mikhail Pivtoraiko or Bryce Tucker, or
any students that are there to help you.
– Learn also, on which computer there is the software that you plan to use in your
project. Do not remove any software. Notify Bryce about the software that you
– Learn what are the materials to be used in your project: aluminum, dural, balsa,
playwood, wood, plastics (different kinds), rubber, screws, Home Depot
components, old kits and Goodwill items to be used.
– If you are not sure if you can re-use some item, ask Perkowski
Never remove motors or sensors or any components from other student robots even if
you think that they are no longer working on them

No Slide Title