Cover image for LEGO Mindstorms interfacing
LEGO Mindstorms interfacing
Wilcher, Don.
Personal Author:
Publication Information:
New York : McGraw-Hill, [2003]

Physical Description:
xviii, 395 pages : illustrations ; 24 cm + 1 CD-ROM (4 3/4 in.)
General Note:
Includes index.
Format :


Call Number
Material Type
Home Location
Item Holds
TJ211.15 .W55 2003 Book and Software Set Non-Fiction Area

On Order



The Lego Mindstorm was originally marketed for children, but now more adults are using the kit to build and hack an assortment of widgets and gadgets. This book is a guide for readers who already have a basic understanding of Lego Mindstorm and are now ready to learn how to build electronic and software interfaces.

Table of Contents

Prefacep. xv
Acknowledgmentsp. xix
Chapter 1 Wireless Basicsp. 1
Antenna, Transmitter, and Receiver Fundamentalsp. 2
The Antennap. 3
The Transmitterp. 3
The Receiverp. 4
An Experimental Wireless Controllerp. 5
Review of the Experimental Wireless Controller Block Diagramp. 6
Experimental Test Procedure Introductionp. 6
Test Procedure 1p. 8
Test Procedure 2 Objectivesp. 9
Test Procedure 2p. 11
Test Procedure 3 Objectivesp. 13
Test Procedure 3p. 13
Project: Remote Tracking Beetle Botp. 14
Proof of Concept (POC) Studyp. 14
Operation of RT Beetle Botp. 14
The RT Beetle Bot Electrical Architecturep. 14
RT Beetle Bot Mechanicsp. 16
RT Beetle Bot Testing Procedurep. 18
Test Procedurep. 19
Mini Test Procedurep. 21
Wrap-Up of the RT Beetle Bot Projectp. 22
Chapter 2 Developing GUIs: Software Control Basicsp. 25
The Hardware/Software Interface Block Diagramp. 26
What Is VBA?p. 28
Building the Robot Control Panel in Excel VBAp. 29
Lab 1 Accessing the VB Toolbarp. 30
Lab 2 Adding the Control Toolbox Toolbar for Excelp. 31
Designing a Robot Control Panel Using VBAp. 35
Constructing the V-Bot Control Panel Lab Project Objectivesp. 36
V-Bot Control Panel Build Procedurep. 36
V-Bot Control Panel Build Procedure 2p. 45
Calling Up a VBA-Built Robot Control Panel GUI Using an Excel Spreadsheet Buttonp. 47
Single Click Event for the V-BOT Panel CommndButtonp. 49
What Is an RDA?p. 50
Building a Mindstorms RDAp. 51
Objectivesp. 52
Build and Test Procedurep. 52
Using State Machines to Write Code for the RDAp. 59
VBA and OOP Basicsp. 62
The Robot Control Panel Programming Lab Projectp. 63
VBA Software Embedding Procedurep. 63
The Software Interface Testing Procedurep. 66
Testing Procedurep. 66
An Alternative Solution for Data Acquisition (DA) and Measurementp. 67
Chapter 3 Electromechanical Controls Interfacingp. 73
Understanding the Touch Sensor RCX/Scout Interfacep. 74
DC Circuit Analysisp. 75
Reading Logic Values from a Touch Sensorp. 78
Touch Sensor Lab Procedurep. 78
RCX Code--Procedure for Testing the Touch Sensorp. 80
Scout Tool--Procedure for Testing the Touch Sensorp. 82
How to Build a Homebrew Touch Sensorp. 82
Buggel--The eInsectp. 84
Controlling Buggel with a Homebrew Touch Sensor--Lab Procedurep. 87
Enabling a Switch for a Homebrew Touch Sensor--Lab Procedure 2p. 90
Scout P-Brick Enable Switch Lab Procedurep. 93
Resistive Switchesp. 94
Dual Function Control Using the Resistive Switching Lab Procedurep. 95
Electromechanical Relays for RCX/Scout Input Controlp. 98
Controlling Buggel with an Electromechanical Relay Control Circuit Lab Procedurep. 99
How to Build a Smart Switch Using the RCX P-Brickp. 101
Smart Switch Lab Procedurep. 103
How to Build a Switch Monitor Detectorp. 105
Reusable Code Conceptp. 105
Building the Switch Monitor Detector in VBAp. 106
Software Listing for Switch Monitor Detectorp. 107
Switch Monitor Detector Software Lab Procedurep. 108
Procedure for Testing the Switch Monitor Detectorp. 110
Chapter 4 Electronic Switching Circuitsp. 113
A Transistor Relay Driver Input Circuitp. 115
Developing C-Botp. 116
A Simple Controller for C-Botp. 119
Transistor Relay Driver Lab Procedurep. 120
Circuit Calibration Procedurep. 123
DC Measurements Lab Procedurep. 124
C-Bot Analysisp. 126
Design Challengep. 128
Transistor Relay Monitor: VBA-C-Bot Applicationp. 128
Transistor Relay Monitor Lab Procedurep. 129
Procedure for Developing a New GUI Using an Existing UserFormp. 130
Validating the Code/VBA Toolp. 131
VBA Analysisp. 132
A PMOSFET Relay Driver Input Circuitp. 132
PMOSFET Controller for C-Botp. 133
PMOSFET Relay Input Circuit Lab Procedurep. 134
Calibration of the PMOSFET Input Driver Circuitp. 135
PMOSFET Relay Input Circuit Lab Analysisp. 138
A Wireless Relay Driver Input Circuitp. 138
Wireless Relay Driver Circuit Lab Procedurep. 139
Wireless Lab Project Procedurep. 141
Wireless Lab Analysisp. 143
Electronic Output Switchingp. 144
Output Switching Control of an Audible Tone Generatorp. 144
An Audible Tone Generator Lab Project Procedurep. 145
Audio Tone Generator Analysisp. 147
CBL-DCU for Robot Diagnosticsp. 149
A DCU Diagnostics Tool Lab Procedurep. 150
DCU Diagnostics Lab Analysisp. 153
Chapter 5 Sensor-Interfacing Basicsp. 155
Sensor Basicsp. 156
Building a Sensory-Activated RDAp. 158
Recycling of Mechanical Assemblies (ROMA) Conceptp. 159
Characterizing Sensors Through Electrical Measurementsp. 163
Characterization Labp. 165
Touch Sensor Procedurep. 167
Reviewing and Playing Back the Logged Datap. 170
Light Sensor Procedurep. 171
Activating the Temperature Sensorp. 173
Temperature Sensor Procedurep. 174
What Is a Rotation Sensor?p. 176
Activating the Rotation Sensorp. 176
Rotation Sensor Procedurep. 177
Characterization Lab Analysisp. 179
The Silicon Diode Interface Circuit (SDIC)p. 180
Coin-Operated T-Botp. 182
Coin-Operated T-Bot Lab Projectp. 183
Coin-Operated T-Bot Procedurep. 184
Coin-Operated T-Bot Lab Project Analysisp. 187
Rheostat-Sensor-Controlled T-Botp. 187
Rheostat-Sensor-Controlled T-Bot Lab Projectp. 188
Rheostat-Controlled T-Bot Procedurep. 188
Rheostat-Sensor-Controlled T-Bot Lab Analysisp. 190
Analog-Digital Sensor (ADS) Control for T-Botp. 191
ADS Control Lab Projectp. 193
ADS Control Lab Procedurep. 193
Vision Command Camera Lab Procedurep. 195
ADS Control Lab Project Analysisp. 196
Chapter 6 Using Procedural Languages for Mindstorms Robot Controlp. 199
Experimental Design Format for This Chapterp. 201
NQCp. 201
NQC Overviewp. 202
Basic Tools for NQC Code Developmentp. 202
Programming Style for NQCp. 203
RCX to NQC Code Conversion Lab Projectp. 205
RCX to NQC Code Conversion Lab Procedurep. 206
RCX to NQC Code Conversion Lab Project Analysisp. 208
LASMp. 209
LEGO LASM Smart Switch Lab Projectp. 211
The LEGO LASM Smart Switch Lab Procedurep. 213
LEGO LASM Smart Switch Lab Analysisp. 214
IC4p. 214
Getting IC4 from the Webp. 215
Basic IC4 Functions for Immediate Control of the RCX P-Brickp. 215
IC4 Basics Part 1 Lab Projectp. 221
IC4 Basics Part 1 Lab Procedurep. 221
IC4 Basics Part 1 Lab Project Analysisp. 222
IC4 Basics Part 2 Lab Projectp. 223
IC4 Basics Part 2 Lab Procedurep. 223
IC4 Basics Part 2 Lab Analysisp. 224
IC4 Basics Part 3 Lab Projectp. 224
IC4 Basics Part 3 Lab Procedurep. 224
IC4 Basics Part 3 Lab Analysisp. 226
Chapter 7 Client-Server Controller for Mindstorms Robotsp. 229
Electrical/Electronics and Mechanical Designp. 230
Building and Testing the RCX-Controlled Timed-Delay Driver Circuitp. 238
What Is Python Language?p. 240
Building a Mini Server in Python Languagep. 241
Creating a Listbox Using Python - Tkinterp. 244
Building a Mini Client in Excel VBAp. 248
Putting the Controller Togetherp. 253
Final Thoughts and Further Enhancements for the Client-Server Controllerp. 257
Chapter 8 Simulator Controls for Mindstorms Robotsp. 259
Monostable Circuit Basicsp. 261
Circuit Simulation Model Curvesp. 262
Creating a Virtual Timer User Interface (VTUI)p. 266
Adding an Animated Electromechanical Relayp. 271
Final Thoughts and Further Experimentationp. 276
Chapter 9 Remote-Control Techniquesp. 279
Building Simple Basic Stamp Master Controller Hardwarep. 281
Programming the Basic Stamp Master Controller in P-Basic Languagep. 286
Distributive Load System for Mindstorms Robotsp. 291
Biology-Based Robotsp. 294
How Ciliates Move--The Mechanical Design Inspiration for CiliaBotp. 294
Programming the CiliaBot Using IC4 Languagep. 297
Enhancing IC4 and P-Basic Programs for Remote-Controlled Robotsp. 300
Developmental Thoughts: Basic Stamp, Mindstorms P-Bricks, and Robotsp. 303
Further Thoughts and Experimentationp. 304
Chapter 10 Virtual Prototyping and Control Using ActiveX Controlsp. 305
Real-Time ActiveX Instrumentation Controlsp. 307
A Switch Lever with a Seven-Segment Display Indicator Control Panelp. 309
A Go-No-Go Test of the Digital Switchp. 312
A Virtual Master/Physical Slave Controllerp. 313
A Basic Real-Time Diagnostics and Control (RTDC) Circuitp. 316
Using an LED Indicator Switch for Mindstorms Robot Controlp. 318
Developing a New GUI Using an Existing UserForm Procedurep. 319
Master/Smart-Slave Controller Technical Philosophy and Musingp. 326
Real-Time Control Interface Design Methodsp. 327
Further Thoughts and Experimentationp. 330
Chapter 11 Virtual Test Box (VTB) Development: Math-Based Controllers for Mindstorms Robotsp. 331
What Is a UDF and How Is It Used with a VTB?p. 333
Assigning Variable Names to Multiple Cellsp. 333
Building a Decibel Meter VTBp. 336
Create the Analog Processor Block Diagramp. 337
Design the Spreadsheetp. 338
Identify the Design/Analysis Equations and Define the UDFsp. 338
Design the VTBp. 340
Run and Debug the Software Applicationp. 342
A-Bot: A POC Development in Automated Front-End Designsp. 344
Building the A-Bot Automated Front-End Controller for the Sinewave Tone Generatorp. 345
RCX P-Brick Softwarep. 346
The Sinewave Tone Generator Software for the Basic Stampp. 348
Reflections and Thoughts about the Decibel Meter Projectp. 350
Building a Frequency Cutoff Detection VTBp. 351
Low-Pass Filtersp. 351
Create the Analog Processor Block Diagramp. 354
Design the Spreadsheetp. 354
Identify the Design/Analysis Equations and Define the UDFsp. 355
Design the VTBp. 356
Reflections and Thoughts about the Frequency Cutoff Detection Projectp. 358
Projectp. 358
Chapter 12 VBA Prototypes: Developing Mindstorms Tools with Advanced Programming Techniquesp. 361
Mindstorms Tools Development Using Real-Time Controlsp. 363
Testing the New Code with the VBA Prototype Diagnostics Controllerp. 368
A Few Words about Robo-Flyp. 373
Using Arrays in Mindstorms Robot Applicationsp. 373
Observations and Notes about the VBA Data Record-and-Retrieve Appletp. 375
Debug Function for VBA-Assisted Troubleshooting of Mindstorms Robotsp. 375
Method One for Using Debug.Printp. 376
Method Two for Using Debug.Printp. 376
Musing with Message Boxes (MsgBox)p. 377
Inserting Pictures Using the Image ActiveX Control onto the VBA Prototype Panelp. 380
Technical Tools Musing Projectsp. 382
Basic Stamp/RCX Controllersp. 383
A Robotics Training Systemp. 384
Robotic Continuity Testerp. 384
Indexp. 385