`
`EXHIBIT B3
`
`
`
`
`
`lego mindstorms sensor input page
`
`224 captures
`22 Sep 99 - 9 Apr 16
`
`MindStorms RCX Sensor Input Page
`
`
`
`OCT DEC
`
`4
`
`2003 2004
`
`Extreme Mindstorms: An Advanced Guide to Lego Mindstorms by Dave Baum, Michael Gasperi, Ralph Hempel and Luis Villa. It
` has information about programming the RCX in NQC, Forth, and using legOS, but most importantly it has two whole chapters
` that I wrote on Building Homebrew Sensors. These chapters take the time to go through the construction process step-by-step
` in easy to follow instructions. Click the box below to find out more about the book and how to purchase it online. I receive a
` referral fee from Amazon if you actually purchase it by following this link.
`
`
`
`There is a nice article about LEGO Mindstorms in the IEEE Spectrum that can be read online.
`
`Contents:
`
` A few words of background Please don't skip over this.
`
` Sensor Basics
`
` Some ways to overcome the limits of only having 3 inputs
`
` How to see RAW values with only the standard RCX software
`
` Homebrew Sensors
`
` All about Vision Command
`
` A program for plotting RCX sensor input values on a PC
`
`https://web.archive.org/web/20041204111548/http://www.plazaearth.com/usr/gasperi/lego.htm[6/10/2016 1:33:32 PM]
`
`
`
`lego mindstorms sensor input page
`
` LEGO Rotation Sensor
`
` LEGO Light Sensor
`
` How does the parameter Slope work in SetSensorMode?
`
` Where do I buy Motors, Sensors, Wires, etc?
`
` Look what I built!
`
` W. Grey Walter's Machina Speculatrix Reproduction
`
` Other places you should go
`
` Corresponding with me
`
`A few words of background:
` The not so fine print: This page is not connected with or endorsed by The LEGO Group. LEGO, LEGO SYSTEM, LEGO
` TECHNIC, LEGO DACTA, LEGO MINDSTORMS are trademarks of the LEGO Group.
`
` I started these pages in October 1998. Since then many experimenters have contributed to the knowledge presented
` here. I hope that I have identified all of you properly, given your e-mail address and links to your pages. I thank those
` who are courteous enough to return the favor.
`
` The usual caveats apply. If following any instructions provided here causes damage to your RCX or anything else in
` the universe, it is your own tough luck.
`
` Many people write me with questions about the projects described on these pages and I try to answer all of them.
` However, you will probably find the following booklets helpful in obtaining the electronics knowledge needed to build the
` projects and a lot more. They are available from Radio Shack for only $1.99 each and were written by my personal idol
` Forrest Mims III. In order of my preference: Sensor Projects 62-5026, Science Projects 62-5018, and Environmental
` Projects 62-5019. I have also learned a lot about building projects by reading printed magazines like Popular Electronics
` and Electronics Now by Gernsback and Everyday Practical Electronics published online by EPEMAG.
`
`Sensor Basics:
`
`The work was done mostly using the Spirit OCX and a Visual Basic program that let me directly select sensor types and
` poll for their readings. The timing and voltages were made with a scope and the pull up resistances were calculated by
` loading the inputs and measuring the voltage drop.
`
`The RCX reads Touch, Temperature and Light sensors in the pretty much the same way. Rotation is a lot like Light but
` will be covered later. The voltage on the input is converted to an internal RAW value in the range 0V=0 to 5V=1023.
` Depending on the sensor type, the RAW number is converted into the number you see in the program, Test Panel or
` View.
`
` Touch sensors: If the RAW value is less than about 450 it becomes a 1 and if the RAW value is greater than about 565 it
` becomes a 0.
`
` Temperature sensors: In degrees C, Temp=(785-RAW)/8 within the range -20C to +70C.
`
` For Light sensors: Light=146-RAW/7 within the range 0 to 100.
`
` Summary Input Table
`
` Volt Raw Sensor Ohms Light Temp C Touch
` 0.0 0 0 - - 1
` 1.1 225 2816 - 70.0 1
` 1.6 322 4587 100 57.9 1
` 2.2 450 7840 82 41.9 1
`
`https://web.archive.org/web/20041204111548/http://www.plazaearth.com/usr/gasperi/lego.htm[6/10/2016 1:33:32 PM]
`
`
`
`lego mindstorms sensor input page
`
` 2.8 565 12309 65 27.5 0
` 3.8 785 32845 34 0.0 0
` 4.6 945 119620 11 -20.0 0
` 5.0 1023 Inf 0 - 0
`For Touch and Temperature type input, the RCX has a 10,000ohm resistor pulling up the input to 5V. The sensor only
` needs to provide some resistance to create a reading. You can create a fake temperature sensor by hooking a 4,700ohm
` resistor in series with a 50,000ohm potentiometer (both available from Radio Shack). This will read from about -11C to
` +60C. With Touch or Temperature sensors there is no reason why you can't overdrive the input to whatever voltage you
` want within the 0V to 5V range.
`
`You should NOT try to overdrive an input that thinks it has a Light or Rotation Sensor type on it. Use one of the general
` purpose analog interfaces. The RCX has a 120ohm resistor pulling up to about 8V (probably a diode drop from the
` battery voltage) to power the red LED for about 3ms and then looks at the sensor voltage during a short 0.1ms time.
` During the short time the sensor is read just like the Touch or Temperature sensors. The fake Temperature sensor from
` above will read Light values from 100 down to about 22 without the risk of damaging the RCX since it never loads the
` input with less than 4,700ohms. I doubt any real damage would occur to the RCX since people could accidentally
` connect a Touch sensor where a Light sensor should be or even a motor output to a sensor input. I can't imagine LEGO
` letting this destroy the RCX. Don't say I didn't warn you.
`
`Some ways to overcome the limits of only having 3 inputs:
`
` Two or more touch sensors can be connected to the same input. This ORs their value. If any of the sensors are touched
` the input will be a 1. If all you want to do is reverse motors when you touch something this is the way to go.
`
` Tom Schumm has figured out how to orient the wires to allow two or more Touch sensors to be hooked in series to
` create the AND function. Here is his diagram.
`
` Brian Stormont suggested that a Light sensor and a Touch sensor could be connected to the same input. When the
` touch sensor is pushed the Light value will be 100, and when it is not, you get the normal Light values.
`
` Rob Stehlik has a way to use LEGO lamps to connect two Touch sensors to the same input and still determine which is
` pressed.
`
` Build a Three Touch Sensor Expander: Paul Haas originally suggested that you can put 3 Lego touch switches on one
` input by adding 3 resistors. I've built on Paul's idea and the Dean Husby cut-up LEGO electric plate method to design the
` Three Touch Sensor Expander.
`
` Build My Input Mux: Several people have suggested Multiplexing (Mux) the inputs. Most schemes involve using a motor
` output to switch either electrically or mechanically between various extra inputs. I'm working on a scheme that doesn't
` require using a motor output. I think it was first proposed by Sven Horstman.
`
` Dean Husby has a page that shows a way to make an expander similar to mine at TFM Lego Invention Page.
`
` Wes Matchett shows how to build a relay based switch that uses a motor output to select between different inputs or
` outputs on his extender page.
`
` Durwood Fletcher sent me this output expander design that uses a sensor input to toggle between a primary and
` secondary motor output.
`
` Lorenzo Zago has plans for a DAC based expander on his Boolean Input Multiplier page.
`
` Rob Duff has plans for an elaborate 6 touch input Mux on his RCX Input Page.
`
`How to see RAW values with only the standard RCX software:
` Open "Robotics Invention" Software and Login
` Go to "Program RCX"
` Go to "RCX Code"
` Bring out the "Test Panel" from lower right corner
` Configure Sensor 1 as Touch and leave the other two sensors blank (This inadvertently sets the
` other sensors to type 0 which is RAW)
`
`https://web.archive.org/web/20041204111548/http://www.plazaearth.com/usr/gasperi/lego.htm[6/10/2016 1:33:32 PM]
`
`
`
`lego mindstorms sensor input page
`
` Click "Get Sensor Values" (Only Sensor 1 will show a value of 0)
` Now on the RCX itself, push View two times to select Sensor 2 (yes Sensor 3 does the same
`thing)
` The RCX display should now read 1023 if there is nothing connected
` Attach an electrical connector cable to Sensor 2 input
` On the under side of the unconnected end you can clip lead resistors, voltmeters, etc.
` 10,000ohms will give a View reading of 512 and 0ohms will give 0
` You can apply a voltage here if you are absolutely sure about its polarity and value etc.
` 0V will equal 0 and 5V will be 1023
` Unfortunately you can't do anything with the RAW values in RCX Code.
`
`Homebrew Sensors:
`
` My General Purpose Analog Interfaces can be used to interface many other sensors.
`
` My Temperature Sensor is made from a $2 Radio Shack part, some brass tubing and a cut-up LEGO block.
`
` My Sound Sensor gives your robot an ear that can be used to turn your $200 MindStorms into a Clapper (program
` included).
`
` My CdS Light Sensor is more sensitive to visible light than the LEGO Light sensor and is made from a $2.29 Radio
` Shack part.
`
` My Differential Light Sensor is better at tracking a light source because it uses two photocells and only sends the
` difference in light level to the RCX.
`
` My Rotation Sensor is built from 100% LEGO parts and can be interfaced with either software or hardware.
`
` My Post-in-Ring Sensor allows you to make an all around touch sensor.
`
` My Almost Ultrasonic Motion Sensor detects the motion of objects near to the RCX.
`
` My Motor Speed/Torque Sensor allows you to measure the speed or torque of a running motor.
`
` My Pressure Sensor can measure the actual pressure generated with LEGO pneumatics.
`
` My Simple Angle Sensor is made with a tiny potentiometer and reads angles up to 270 degrees.
`
` My Galvanic Skin Response Sensor measures the resistance of your skin to determine your emotional stress level.
`
` Sven Horstmann is developing a specialized sensor for Line Tracking .
`
` Brian Stormont has a page that discusses the details of making a Temperature Sensor like mine plus a Light and a
` Bend sensor at Homebrew Lego Sensors.
`
` Dean Husby has a page that shows a way to make a Temperature Sensor like mine by cutting LEGO electric plates into
` 2X2 connectors at TFM Lego Invention Page.
`
` Malcolm S Powell has an opto-interrupter based sensor that can be used to make a Zero Force Limit Switch, Rotation
` and Linear Motion Sensor.
`
` Imre Kabai has come up with an interesting connector idea. He replaces two studs of a regular LEGO block with 4/40
` brass screws.
`
` Terry King uses copper foil to make connectors for his LED bricks.
`
` Bert van Dam has a page for the LEGO Cybermaster that contains a RCX compatible Temperature Sensor, Variable
` Resistor, and other projects at New Sensors.
`
` Wes Matchett has a couple of pages for making Touch Sensors from old PC mouse parts off his Mindstorms Page.
`
` There are photographs of LEGO compatible sensors at ESG Lego Robotics Seminar.
`
` Mario Ferrari has a Hall effect Magnetic Sensor and more in the home-made sensors section of his LEGO page.
`
`https://web.archive.org/web/20041204111548/http://www.plazaearth.com/usr/gasperi/lego.htm[6/10/2016 1:33:32 PM]
`
`
`
`lego mindstorms sensor input page
`
` Ralph Hempel shows a simple modification to the LEGO Light Sensor that makes it work better in ambient light on his
` Mindstorms Light Sensor Tricks page.
`
` Sasuraibito has plans for a Pyroelectric Infrared sensor on his Japanese Homebrew Page. Also take a look at his
` Internals page for some great photographs of the guts of most of the Mindstorms hardware.
`
` There is information about standard LEGO sensors compiled by Nick Holdbrooks at Lego-Robotics Wiki.
`
` For those of you who can't get enough redundant information about RCX sensors including yet another Temperature
` Sensor and Connector idea try the Lego Robotics Laboratory.
`
` Robert P. Munafo has taken the idea of using LEGO motors as velocity sensors to a new level on his Adapter Page.
`
` Rob Hendrix has a simple sound sensor (maybe too simple) on his Sensors Page.
`
` John Barnes sent me this design for an Ultrasonic Range Sensor.
`
` Henery Chea has a passive infrared or pyrolectric sensor based on the Eltec 442-3 sensor.
`
` Jonathan Knudsen has a short chapter on homebrew sensors in his book The Unofficial Guide to LEGO Mindstorms
` Robots.
`
` Ben Jackson has a design for a LEGO Train Axle Sensor on his Train Sensor Page.
`
` Philippe Hurbain has plans for a rotation sensor, Sharp distance sensor, and other sensor related devices on his
`
` Mindstorms Page.
`
` Robobull-team in Luxembourg has built many homebrew sensors including some very complex sound sensors.
`
` Heinrich Pötter has a design for a LEGO compatible rotation sensor using reed switches on his Rotation Sensor page.
`
` Greg Blount sent me a nice design for a pyroelectric sensor based on a very inexpensive sensing element from Glolab.
`
` Andreas Peter has a distance sensor based on the GP2D02 sensor and other homebrew projects in his Inchlab.
`
` Gordon McComb's book Robot Builder's Bonanza Second Edition has several pages on RCX sensors and a lot of good
` information about robots in general.
`
` Michael Brandl has a way to use the LEGO polarity switch as a rotation sensor plus more ideas on his Tips&Tricks
` page.
`
` Rainer Balzerowski has an interface for three Sharp DP2D12 IR distance sensors.
`
` Mark Dresser has sent me his design for a Hall Effect Rotation Sensor.
`
` Michael Hannrick has built his own pressure sensor and plans for more on his Mr. Spy page.
`
` Here are the plans for a Heart Rate Monitor using a modified LEGO Light sensor.
`
` The book Building Robots With Lego Mindstorms is an excellent guide to Mindstorms in general with some great
` information about sensors too.
`
` Rob Limbaugh posted a tutorial on cutting LEGO electric plates.
`
` Dean Camera has some sensor ideas on his En-Tech site.
`
` Lloyd Gordon has a description of plans for a Double Rotation Sensor.
`
`https://web.archive.org/web/20041204111548/http://www.plazaearth.com/usr/gasperi/lego.htm[6/10/2016 1:33:32 PM]
`
`
`
`lego mindstorms sensor input page
`
`Other places you should go:
`
`
`
` Russell Nelson keeps the closest thing to a FAQ at Lego Mindstorms Internals.
`
` You can buy the LEGO MINDSTORMS: Robotics Invention System online.
`
`
`
` The Lugnet Robotics News Server is where most of the hackers hangout.
`
` Don't forget the official LEGO MindStorms page.
`
` Selected Mindstorms Site of the Month
`
`In case you feel compelled to send me mail:
`
`
`
`https://web.archive.org/web/20041204111548/http://www.plazaearth.com/usr/gasperi/lego.htm[6/10/2016 1:33:32 PM]
`
`
`
`113 captures
`28 Nov 99 - 24 Mar 16
`
`Almost Ultrasonic Motion Sensor
`
`OCT DE
`
`4
`
`2003 200
`
`This sensor uses the sound generator in the RCX to make a 15kHz audio tone, which is almost ultrasonic. The tone is received
` with circuitry similar to my Sound sensor. The output of a crystal microphone MIC is amplified and then only the very high
` frequencies are further amplified (see plot). This signal is enveloped detected with a diode D1 and capacitor C1. The voltage on
` the capacitor will equal the average volume of high frequency sound the microphone is picking up at any moment. Motion of
` objects near to the RCX and microphone cause the volume level to vary as the signal path and distance between them changes.
` The variation in level is further amplified and fed to the RCX. The RCX sees a level of about 31 when there is no motion, and
` peaks to over 50 when there is rapid significant motion.
`
`The circuit diagram is below. An LM324 quad Opamp is used for all stages, and the diodes are all 1N4148s.
`
`This is a plot of the frequency response of the High Frequency Amplifier stage. The gain has been set to peak at about 15kHz so
` that interference from other sounds is minimized.
`
`Here is a photo of my finished sensor. I built it on a piece of PC board and mounted it inside of a LEGO #5391 9V Battery Box.
` The microphone is attached to the end with double face foam tape.
`
`https://web.archive.org/web/20041204113943/http://www.plazaearth.com/usr/gasperi/motion.htm[6/10/2016 1:34:57 PM]
`
`
`
`Here is how I tested the circuit. The RCX has a Visual Basic program that produces a 15kHz tone and watches the input for levels
` over 33. If is sees one, it turns on an output which just has a light hooked up to it. The operating range depends on many
` mechanical factors. It can pickup motion of large objects 8" away while small objects may need to be only a few inches between
` the RCX and the microphone.
`
`Here is the very simple VB code:
`.BeginOfTask 0
` .SetSensorType 1, 3
` .SetPower "0", 2, 7
` .Loop 2, 0
` .PlayTone 15000, 25
` .If 9, 1, 0, 2, 33
` .On "0"
` .Else
` .Off "0"
` .EndIf
` .EndLoop
` .EndOfTask
`
`
`
`
`
`Click Here to Return to the Main Page
`
`
`https://web.archive.org/web/20041204113943/http://www.plazaearth.com/usr/gasperi/motion.htm[6/10/2016 1:34:57 PM]
`
`
`
`https://web.archive.org/web/20041204113943/http://www.plazaearth.com/usr/gasperi/motion.htm[6/10/2016 1:34:57 PM]