Title:
Lego mindstorms interfacing
Personal Author:
Publication Information:
New York, NY : McGraw-Hill, 2003
Physical Description:
1v + 1 CD-ROM (CP 2522)
ISBN:
9780071402057
Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010022618 | QA76.9.U83 W54 2003 | Open Access Book | Book | Searching... |
Searching... | 30000010020015 | QA76.9.U83 W54 2003 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
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
Preface | p. xv |
Acknowledgments | p. xix |
Chapter 1 Wireless Basics | p. 1 |
Antenna, Transmitter, and Receiver Fundamentals | p. 2 |
The Antenna | p. 3 |
The Transmitter | p. 3 |
The Receiver | p. 4 |
An Experimental Wireless Controller | p. 5 |
Review of the Experimental Wireless Controller Block Diagram | p. 6 |
Experimental Test Procedure Introduction | p. 6 |
Test Procedure 1 | p. 8 |
Test Procedure 2 Objectives | p. 9 |
Test Procedure 2 | p. 11 |
Test Procedure 3 Objectives | p. 13 |
Test Procedure 3 | p. 13 |
Project: Remote Tracking Beetle Bot | p. 14 |
Proof of Concept (POC) Study | p. 14 |
Operation of RT Beetle Bot | p. 14 |
The RT Beetle Bot Electrical Architecture | p. 14 |
RT Beetle Bot Mechanics | p. 16 |
RT Beetle Bot Testing Procedure | p. 18 |
Test Procedure | p. 19 |
Mini Test Procedure | p. 21 |
Wrap-Up of the RT Beetle Bot Project | p. 22 |
Chapter 2 Developing GUIs: Software Control Basics | p. 25 |
The Hardware/Software Interface Block Diagram | p. 26 |
What Is VBA? | p. 28 |
Building the Robot Control Panel in Excel VBA | p. 29 |
Lab 1 Accessing the VB Toolbar | p. 30 |
Lab 2 Adding the Control Toolbox Toolbar for Excel | p. 31 |
Designing a Robot Control Panel Using VBA | p. 35 |
Constructing the V-Bot Control Panel Lab Project Objectives | p. 36 |
V-Bot Control Panel Build Procedure | p. 36 |
V-Bot Control Panel Build Procedure 2 | p. 45 |
Calling Up a VBA-Built Robot Control Panel GUI Using an Excel Spreadsheet Button | p. 47 |
Single Click Event for the V-BOT Panel CommndButton | p. 49 |
What Is an RDA? | p. 50 |
Building a Mindstorms RDA | p. 51 |
Objectives | p. 52 |
Build and Test Procedure | p. 52 |
Using State Machines to Write Code for the RDA | p. 59 |
VBA and OOP Basics | p. 62 |
The Robot Control Panel Programming Lab Project | p. 63 |
VBA Software Embedding Procedure | p. 63 |
The Software Interface Testing Procedure | p. 66 |
Testing Procedure | p. 66 |
An Alternative Solution for Data Acquisition (DA) and Measurement | p. 67 |
Chapter 3 Electromechanical Controls Interfacing | p. 73 |
Understanding the Touch Sensor RCX/Scout Interface | p. 74 |
DC Circuit Analysis | p. 75 |
Reading Logic Values from a Touch Sensor | p. 78 |
Touch Sensor Lab Procedure | p. 78 |
RCX Code--Procedure for Testing the Touch Sensor | p. 80 |
Scout Tool--Procedure for Testing the Touch Sensor | p. 82 |
How to Build a Homebrew Touch Sensor | p. 82 |
Buggel--The eInsect | p. 84 |
Controlling Buggel with a Homebrew Touch Sensor--Lab Procedure | p. 87 |
Enabling a Switch for a Homebrew Touch Sensor--Lab Procedure 2 | p. 90 |
Scout P-Brick Enable Switch Lab Procedure | p. 93 |
Resistive Switches | p. 94 |
Dual Function Control Using the Resistive Switching Lab Procedure | p. 95 |
Electromechanical Relays for RCX/Scout Input Control | p. 98 |
Controlling Buggel with an Electromechanical Relay Control Circuit Lab Procedure | p. 99 |
How to Build a Smart Switch Using the RCX P-Brick | p. 101 |
Smart Switch Lab Procedure | p. 103 |
How to Build a Switch Monitor Detector | p. 105 |
Reusable Code Concept | p. 105 |
Building the Switch Monitor Detector in VBA | p. 106 |
Software Listing for Switch Monitor Detector | p. 107 |
Switch Monitor Detector Software Lab Procedure | p. 108 |
Procedure for Testing the Switch Monitor Detector | p. 110 |
Chapter 4 Electronic Switching Circuits | p. 113 |
A Transistor Relay Driver Input Circuit | p. 115 |
Developing C-Bot | p. 116 |
A Simple Controller for C-Bot | p. 119 |
Transistor Relay Driver Lab Procedure | p. 120 |
Circuit Calibration Procedure | p. 123 |
DC Measurements Lab Procedure | p. 124 |
C-Bot Analysis | p. 126 |
Design Challenge | p. 128 |
Transistor Relay Monitor: VBA-C-Bot Application | p. 128 |
Transistor Relay Monitor Lab Procedure | p. 129 |
Procedure for Developing a New GUI Using an Existing UserForm | p. 130 |
Validating the Code/VBA Tool | p. 131 |
VBA Analysis | p. 132 |
A PMOSFET Relay Driver Input Circuit | p. 132 |
PMOSFET Controller for C-Bot | p. 133 |
PMOSFET Relay Input Circuit Lab Procedure | p. 134 |
Calibration of the PMOSFET Input Driver Circuit | p. 135 |
PMOSFET Relay Input Circuit Lab Analysis | p. 138 |
A Wireless Relay Driver Input Circuit | p. 138 |
Wireless Relay Driver Circuit Lab Procedure | p. 139 |
Wireless Lab Project Procedure | p. 141 |
Wireless Lab Analysis | p. 143 |
Electronic Output Switching | p. 144 |
Output Switching Control of an Audible Tone Generator | p. 144 |
An Audible Tone Generator Lab Project Procedure | p. 145 |
Audio Tone Generator Analysis | p. 147 |
CBL-DCU for Robot Diagnostics | p. 149 |
A DCU Diagnostics Tool Lab Procedure | p. 150 |
DCU Diagnostics Lab Analysis | p. 153 |
Chapter 5 Sensor-Interfacing Basics | p. 155 |
Sensor Basics | p. 156 |
Building a Sensory-Activated RDA | p. 158 |
Recycling of Mechanical Assemblies (ROMA) Concept | p. 159 |
Characterizing Sensors Through Electrical Measurements | p. 163 |
Characterization Lab | p. 165 |
Touch Sensor Procedure | p. 167 |
Reviewing and Playing Back the Logged Data | p. 170 |
Light Sensor Procedure | p. 171 |
Activating the Temperature Sensor | p. 173 |
Temperature Sensor Procedure | p. 174 |
What Is a Rotation Sensor? | p. 176 |
Activating the Rotation Sensor | p. 176 |
Rotation Sensor Procedure | p. 177 |
Characterization Lab Analysis | p. 179 |
The Silicon Diode Interface Circuit (SDIC) | p. 180 |
Coin-Operated T-Bot | p. 182 |
Coin-Operated T-Bot Lab Project | p. 183 |
Coin-Operated T-Bot Procedure | p. 184 |
Coin-Operated T-Bot Lab Project Analysis | p. 187 |
Rheostat-Sensor-Controlled T-Bot | p. 187 |
Rheostat-Sensor-Controlled T-Bot Lab Project | p. 188 |
Rheostat-Controlled T-Bot Procedure | p. 188 |
Rheostat-Sensor-Controlled T-Bot Lab Analysis | p. 190 |
Analog-Digital Sensor (ADS) Control for T-Bot | p. 191 |
ADS Control Lab Project | p. 193 |
ADS Control Lab Procedure | p. 193 |
Vision Command Camera Lab Procedure | p. 195 |
ADS Control Lab Project Analysis | p. 196 |
Chapter 6 Using Procedural Languages for Mindstorms Robot Control | p. 199 |
Experimental Design Format for This Chapter | p. 201 |
NQC | p. 201 |
NQC Overview | p. 202 |
Basic Tools for NQC Code Development | p. 202 |
Programming Style for NQC | p. 203 |
RCX to NQC Code Conversion Lab Project | p. 205 |
RCX to NQC Code Conversion Lab Procedure | p. 206 |
RCX to NQC Code Conversion Lab Project Analysis | p. 208 |
LASM | p. 209 |
LEGO LASM Smart Switch Lab Project | p. 211 |
The LEGO LASM Smart Switch Lab Procedure | p. 213 |
LEGO LASM Smart Switch Lab Analysis | p. 214 |
IC4 | p. 214 |
Getting IC4 from the Web | p. 215 |
Basic IC4 Functions for Immediate Control of the RCX P-Brick | p. 215 |
IC4 Basics Part 1 Lab Project | p. 221 |
IC4 Basics Part 1 Lab Procedure | p. 221 |
IC4 Basics Part 1 Lab Project Analysis | p. 222 |
IC4 Basics Part 2 Lab Project | p. 223 |
IC4 Basics Part 2 Lab Procedure | p. 223 |
IC4 Basics Part 2 Lab Analysis | p. 224 |
IC4 Basics Part 3 Lab Project | p. 224 |
IC4 Basics Part 3 Lab Procedure | p. 224 |
IC4 Basics Part 3 Lab Analysis | p. 226 |
Chapter 7 Client-Server Controller for Mindstorms Robots | p. 229 |
Electrical/Electronics and Mechanical Design | p. 230 |
Building and Testing the RCX-Controlled Timed-Delay Driver Circuit | p. 238 |
What Is Python Language? | p. 240 |
Building a Mini Server in Python Language | p. 241 |
Creating a Listbox Using Python - Tkinter | p. 244 |
Building a Mini Client in Excel VBA | p. 248 |
Putting the Controller Together | p. 253 |
Final Thoughts and Further Enhancements for the Client-Server Controller | p. 257 |
Chapter 8 Simulator Controls for Mindstorms Robots | p. 259 |
Monostable Circuit Basics | p. 261 |
Circuit Simulation Model Curves | p. 262 |
Creating a Virtual Timer User Interface (VTUI) | p. 266 |
Adding an Animated Electromechanical Relay | p. 271 |
Final Thoughts and Further Experimentation | p. 276 |
Chapter 9 Remote-Control Techniques | p. 279 |
Building Simple Basic Stamp Master Controller Hardware | p. 281 |
Programming the Basic Stamp Master Controller in P-Basic Language | p. 286 |
Distributive Load System for Mindstorms Robots | p. 291 |
Biology-Based Robots | p. 294 |
How Ciliates Move--The Mechanical Design Inspiration for CiliaBot | p. 294 |
Programming the CiliaBot Using IC4 Language | p. 297 |
Enhancing IC4 and P-Basic Programs for Remote-Controlled Robots | p. 300 |
Developmental Thoughts: Basic Stamp, Mindstorms P-Bricks, and Robots | p. 303 |
Further Thoughts and Experimentation | p. 304 |
Chapter 10 Virtual Prototyping and Control Using ActiveX Controls | p. 305 |
Real-Time ActiveX Instrumentation Controls | p. 307 |
A Switch Lever with a Seven-Segment Display Indicator Control Panel | p. 309 |
A Go-No-Go Test of the Digital Switch | p. 312 |
A Virtual Master/Physical Slave Controller | p. 313 |
A Basic Real-Time Diagnostics and Control (RTDC) Circuit | p. 316 |
Using an LED Indicator Switch for Mindstorms Robot Control | p. 318 |
Developing a New GUI Using an Existing UserForm Procedure | p. 319 |
Master/Smart-Slave Controller Technical Philosophy and Musing | p. 326 |
Real-Time Control Interface Design Methods | p. 327 |
Further Thoughts and Experimentation | p. 330 |
Chapter 11 Virtual Test Box (VTB) Development: Math-Based Controllers for Mindstorms Robots | p. 331 |
What Is a UDF and How Is It Used with a VTB? | p. 333 |
Assigning Variable Names to Multiple Cells | p. 333 |
Building a Decibel Meter VTB | p. 336 |
Create the Analog Processor Block Diagram | p. 337 |
Design the Spreadsheet | p. 338 |
Identify the Design/Analysis Equations and Define the UDFs | p. 338 |
Design the VTB | p. 340 |
Run and Debug the Software Application | p. 342 |
A-Bot: A POC Development in Automated Front-End Designs | p. 344 |
Building the A-Bot Automated Front-End Controller for the Sinewave Tone Generator | p. 345 |
RCX P-Brick Software | p. 346 |
The Sinewave Tone Generator Software for the Basic Stamp | p. 348 |
Reflections and Thoughts about the Decibel Meter Project | p. 350 |
Building a Frequency Cutoff Detection VTB | p. 351 |
Low-Pass Filters | p. 351 |
Create the Analog Processor Block Diagram | p. 354 |
Design the Spreadsheet | p. 354 |
Identify the Design/Analysis Equations and Define the UDFs | p. 355 |
Design the VTB | p. 356 |
Reflections and Thoughts about the Frequency Cutoff Detection Project | p. 358 |
Project | p. 358 |
Chapter 12 VBA Prototypes: Developing Mindstorms Tools with Advanced Programming Techniques | p. 361 |
Mindstorms Tools Development Using Real-Time Controls | p. 363 |
Testing the New Code with the VBA Prototype Diagnostics Controller | p. 368 |
A Few Words about Robo-Fly | p. 373 |
Using Arrays in Mindstorms Robot Applications | p. 373 |
Observations and Notes about the VBA Data Record-and-Retrieve Applet | p. 375 |
Debug Function for VBA-Assisted Troubleshooting of Mindstorms Robots | p. 375 |
Method One for Using Debug.Print | p. 376 |
Method Two for Using Debug.Print | p. 376 |
Musing with Message Boxes (MsgBox) | p. 377 |
Inserting Pictures Using the Image ActiveX Control onto the VBA Prototype Panel | p. 380 |
Technical Tools Musing Projects | p. 382 |
Basic Stamp/RCX Controllers | p. 383 |
A Robotics Training System | p. 384 |
Robotic Continuity Tester | p. 384 |
Index | p. 385 |