EasyManua.ls Logo

LEGO MINDSTORMS Robots User Manual

LEGO MINDSTORMS Robots
226 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #195 background image
Figure 11-1.
A wire brick yields two connectors like the one shown here
You can wire the cut end directly to your sensor. Each wire brick therefore yields two connectors that you can use to make your sensors compatible with the RCX. If you don't want to ruin your
perfect set, you can order additional wires from Pitsco LEGO DACTA (800-362-4308), although you'll pay dearly for them.
Copper Tubing
The studs (or "bumps") on LEGO bricks are exactly 3/16 inch in diameter. You can use 3/16" copper tubing, available at hobby stores, to replace studs in a regular LEGO brick. In essence, the
tubing acts as an electrically conductive LEGO stud. Using the tubing, you can build a sensor into a brick and use the regular "wire bricks" that come with RIS to attach the sensor to the RCX.
The basic procedure is to drill out two of the studs in a regular brick. The n you push the tubing through the holes up as far as a regular stud. The sensor or sensor circuit can be soldered to the part
of the tubing that's inside the brick. You should place the tubing in diagonally opposite studs; this ensures that an electrical connection is made no matter which way the sensor is attached to the
RCX.
Michael Gasperi's excellent web site describes this technique clearly. For details, see the "Online Resources" section at the end of this chapter.
Machine Screws
Using machine screws is a variation on the copper tubing method. Instead of replacing studs with tubing, you replace them with 4/40 machine screws, which
Page 218
have a head that is 3/16" in diameter. You can use pan head or round head machine screws, but the pan head is shaped more like a LEGO stud. Instead of drilling out the stud, just shave off the top
of it, so that it's level with the surface of the brick. Then you can drill a hole and thread the screw down into the brick. An example of this technique is shown at
http://www.kabai.com/lego/lego.
htm. Again, you should replace diagonally opposite studs so that the sensor will be connected to the RCX, regardless of the orientation of the wire brick.
You'll see an example of this technique later. In the meantime, here are some construction tips:
1. Begin by shaving off two diagonally opposite studs on the brick. A hobby tool like a Dremel rotary tool or Black and Decker Wizard works well for this purpose if you have cutting disks for
it.
2. Now make sure the screw heads are the right size. Some 4/40 machine screws have heads that are larger than a LEGO stud. You can adjust the diameter of the screw by mounting it in a drill
(with the head facing out). Turn on the drill and use a file to reduce the diameter of the head. With round head machine screws, you may also need to flatten the top of the head. You can test your
modifications by trying to place the head of the screw in the bottom of a wire brick. You should only have to push it a little bit to get it to fit.
3. Solder a short wire to the tip of each screw before you put the screws in the brick. There are two very good reasons for this. It takes a lot of heat to solder on to the screws, so you don't want to
either melt the plastic around the screws by soldering them in-place, or burn out the sensor you're mounting by soldering it directly to the screws.
4. Thread the wires you just soldered to the screws into the holes in the top of the brick. Now turn the screws into the brick—they should thread nicely into the holes.
5. Now you're ready to mount your sensor in the brick and solder its leads to the screw wire from Step 3. Make sure to use heat sinks so you don't undo your previous work or damage the sensor.

Table of Contents

Question and Answer IconNeed help?

Do you have a question about the LEGO MINDSTORMS Robots and is the answer not in the manual?

LEGO MINDSTORMS Robots Specifications

General IconGeneral
Product LineLEGO MINDSTORMS
CategoryToy
Age Range10+
Batteries RequiredYes
Memory64 MB RAM, 16 MB Flash
ConnectivityBluetooth, USB
SensorsTouch, Color, Gyro
Battery TypeAA
Interactive FeaturesProgrammable, Remote Control
App CompatibilityiOS, Android
ProcessorARM9
Pieces Count601
Battery Count6
App NameLEGO MINDSTORMS EV3 Programmer App

Summary

Welcome to MINDSTORMS

What Is a Robot?

Defines a robot and its fundamental components: brain, body, actuators, sensors, power source.

Mobile Robots

Discusses the challenges and types of mobile robots (tethered vs. autonomous).

What Is MINDSTORMS?

Explains the MINDSTORMS product line and the Robotics Invention System (RIS) set.

Meet the RCX

Details the features and components of the RCX, the robot brain.

About the Software

Describes the components of the RIS software: documentation, programming environment, and downloader.

What About MacOS and Linux?

Discusses programming options for users not on Windows.

Online Resources

Lists official and unofficial websites for MINDSTORMS community and information.

Hank, the Bumper Tank

Building Instructions

Provides step-by-step instructions for building the Hank robot.

A Simple Program

Explains Hank's basic program for exploring and avoiding obstacles.

Locomotion

Discusses different methods of robot locomotion like treads, differential drive, and cars.

Bumpers and Feelers

Explains the design and function of bumpers for detecting collisions.

Gears

Details the purpose and types of LEGO gears used in robot construction.

Multitasking

Explains the RCX's multitasking capability for running multiple tasks simultaneously.

Trusty, a Line Follower

Building Instructions

Provides step-by-step instructions for building the Trusty robot.

Some Tricky Programming

Discusses the challenges of programming line following behavior.

State

Explains the concept of robot states for decision-making in programming.

The Light Sensor

Details how to use and calibrate the light sensor for accurate readings.

Idler Wheels

Explains the function and importance of idler wheels for robot stability.

Using Two Light Sensors

Describes how to use two light sensors to simplify line following.

Not Quite C

A Quick Start

Provides a simple NQC example to get started with programming.

RCX Software Architecture

Explains the software layers involved in programming the RCX.

NQC Overview

Introduces Not Quite C (NQC) as an alternative to RCX Code.

Output Commands

Details NQC commands for controlling the RCX's outputs (motors, lights).

Input Commands

Explains NQC commands for reading sensor input values.

Program Flow

Covers NQC commands for program control, including waiting, loops, and conditionals.

Variables

Explains how to declare and use variables in NQC programming.

Sounds and Music

Describes NQC commands for playing sounds and music on the RCX.

IR Communication

Details NQC commands for sending and receiving data via the IR port.

The Datalog

Explains how to create and manage a datalog for storing sensor data.

Tasks

Introduces NQC tasks for organizing programs and multitasking.

Minerva, a Robot with an Arm

Building Instructions

Provides step-by-step instructions for building the Minerva robot.

Programming

Explains Minerva's basic program for picking up objects and returning.

Directional Transmission

Describes the mechanical system that allows changing direction of output shafts.

Pulleys

Explains pulleys as an alternative to gears for transmitting motion.

Mechanical Design

Discusses mechanical challenges in designing Minerva, including the grabber arm.

Balance

Addresses the challenge of balancing the robot due to its arm's weight.

Drivetrain

Details Minerva's complex drivetrain system for controlling wheel movement.

Two Sensors, One Input

Explains how to connect multiple sensors to a single RCX input.

Where Am I?

Discusses techniques for robot navigation and determining position.

Using Spirit.ocx with Visual Basic

You May Already Have Visual Basic

Discusses the availability of Visual Basic (VB) and its versions.

About Spirit.ocx

Explains Spirit.ocx as the interface between Windows applications and the RCX.

Calling Spirit.ocx Functions

Shows how to call Spirit.ocx functions directly from Visual Basic code.

Immediate and Delayed Gratification

Explains the difference between immediate and delayed execution of functions.

Programs, Tasks, and Subroutines

Describes how programs, tasks, and subroutines are structured in the RCX.

Tips

Offers practical advice on using Spirit.ocx, including retrieving input and timer values.

Retrieving the Datalog

Details how to extract datalog information from the RCX using Visual Basic.

Online Resources

Lists resources for LEGO Programmable Bricks, robotics, and programming environments.

RoboTag, a Game for Two Robots

Building Instructions

Provides step-by-step instructions for building the RoboTag robots.

Subsumption Architecture

Introduces subsumption architecture as a reactive robot programming paradigm.

RoboTag behaviors

Explains the four behaviors (cruise, tag, avoid, tagged) used in RoboTag.

Arbitration

Describes the arbitration task that manages which behavior controls the robot's motors.

Online Resources

Lists resources for RoboTag and subsumption architecture.

legOS

About legOS

Introduces legOS as a powerful, C-based firmware replacement for the RCX.

Development Tools

Details the necessary development tools like cross compilers (egcs) and Cygwin.

Hello, legOS

Provides a simple legOS program to display "Hello" and verify tool setup.

Function Reference

Describes important legOS functions for display, output, input, and multitasking.

Using the Display

Explains legOS functions for managing the RCX's LCD display with numbers and text.

Controlling Outputs (direct-motor.h)

Details legOS functions for controlling motor direction and speed.

Working with Inputs (direct-sensor.h)

Explains how to read raw input values and configure sensors in legOS.

Using the Buttons (direct-button.h)

Describes legOS functions for reading the state of the RCX's front panel buttons.

The Infrared Port (direct-ir.h)

Explains legOS functions for sending and receiving data via the IR port.

Multitasking in legOS (unistd.h and sys/tm.h)

Covers legOS support for multitasking using tasks and functions like execi() and tm_start().

New Brains For Hank

Implements a light-seeking version of Hank using legOS and subsumption architecture.

Make Your Own Sensors

Mounting

Discusses methods for physically attaching custom sensors to LEGO bricks.

Cut Wire

Describes using wire bricks to connect custom sensors to the RCX.

Copper Tubing

Explains using copper tubing to create conductive studs for sensor mounting.

Machine Screws

Details using machine screws as an alternative to tubing for sensor mounting.

Conductor Plate

Describes using conductive plates for attaching sensor electronics to RCX inputs.

Passive Sensors

Introduces passive sensors and their basic circuit diagram for RCX inputs.

Light Sensors

Explains how to build a passive light sensor using a photoresistor.

Temperature Sensors

Describes using a thermistor to create a simple temperature sensor.

Powered Sensors

Explains the concept of powered sensors and the active mode circuit.

Signal Splitter

Details the circuit for separating power and signal for active sensors.

The Touchless Touch Sensor

Explains how to build a touchless touch sensor using a Hall effect sensor.

Touch Multiplexer

Describes a circuit for connecting multiple switches to a single RCX input.

Other Neat Ideas

Briefly mentions other sensor and actuator possibilities like sound sensors and servos.

Finding Parts and Programming Environments

LEGO Sources

Lists vendors for LEGO parts and accessories like sensors and motors.

Parts

Provides a table of parts with their item numbers and prices from different sources.

Other Suppliers

Lists suppliers for electronic components needed for custom sensors.

Programming Environments

Summarizes available RCX development environments, languages, and tools.

A pbForth Downloader

System Requirements

Lists the necessary software (JDK, Communications API) for the downloader.

Usage

Explains how to use the Java-based downloader program to transfer Forth files.

Source Code

Provides the Java source code for the pbFORTH program downloader.

Future Directions

RIS 1.5

Mentions the upcoming RIS 1.5 version and its rumored features.

Java for the RCX

Discusses the RCXJVM project for programming the RCX with Java.

LEGO Robots as JINI Devices

Explores the concept of integrating LEGO robots into a JINI network.

Related product manuals