320 likes | 544 Views
Sensors. Material taken from Robotics with the Boe-Bot. Where Are We Going?. Sumo-Bot competitions. Devices that Contain Sensors. The boebot uses sensors to interact with its environment.
E N D
Sensors Material taken from Robotics with the Boe-Bot
Where Are We Going? Sumo-Bot competitions
Devices that Contain Sensors • The boebot uses sensors to interact with its environment. • There are a variety of sensors used for a variety of purposes: Pressure, rotation, temperature, smoke, tilt, vibration, light, proximity and so on.
Ultrasonic Proximity Sensor PING Ultrasonic Range Finder • PING ultrasonic distance sensor provides precise distance measurements from about 2 cm (0.8 inches) to 3 meters (3.3 yards). • It works by transmitting an ultrasonic burst and providing an output pulse that corresponds to the time required for the burst echo to return to the sensor. • By measuring the echo pulse width the distance to target can easily be calculated.
Theory of Operation • The PING sensor emits a short ultrasonic burst and then "listens" for the echo. • Under control of a host microcontroller (trigger pulse), the sensor emits a short 40 kHz (ultrasonic) burst. • This burst travels through the air at about 1130 feet per second, hits an object and then bounces back to the sensor. • The PING sensor provides an output pulse to the host that will terminate when the echo is detected, hence the width of this pulse corresponds to the distance to the target.
Basic Program ' -----[ I/O Definitions ]------------------------------------------------- Ping PIN 15 ' -----[ Constants ]------------------------------------------------------- Trigger CON 5 ' trigger pulse = 10 uS Scale CON $200 ' raw x 2.00 = uS RawToIn CON 889 ' 1 / 73.746 (with **) RawToCm CON 2257 ' 1 / 29.034 (with **) IsHigh CON 1 ' for PULSOUT IsLow CON 0 ' -----[ Variables ]------------------------------------------------------- rawDist VAR Word ' raw measurement inches VAR Word cm VAR Word ' -----[ Initialization ]-------------------------------------------------- Reset: DEBUG CLS, "Parallax PING))) Sonar", CR, ' setup report screen "======================", CR, CR, "Time (uS)..... ", CR, "Inches........ ", CR, "Centimeters... "
Basic Program ' -----[ Program Code ]---------------------------------------------------- Main: DO GOSUB Get_Sonar ' get sensor value inches = rawDist ** RawToIn ' convert to inches cm = rawDist ** RawToCm ' convert to centimeters DEBUG CRSRXY, 15, 3, ' update report screen DEC rawDist, CLREOL, CRSRXY, 15, 4, DEC inches, CLREOL, CRSRXY, 15, 5, DEC cm, CLREOL PAUSE 100 LOOP END Get_Sonar: Ping = IsLow ' make trigger 0-1-0 PULSOUT Ping, Trigger ' activate sensor PULSIN Ping, IsHigh, rawDist ' measure echo pulse rawDist = rawDist */ Scale ' convert to uS rawDist = rawDist / 2 ' remove return trip RETURN
Light Sensors • Light sensors are also used in a variety of applications: • Automatic street lights • Camera flash and exposure controls • Security alarms
Introducing the Photoresistor • While there are a variety of light sensors, a very popular one is the photoresistor in that it is easy to use and inexpensive. • As the name implies, it is a resistor that reacts to light. The active ingredient Cadmium Sulfide (CdS) allows electrons to flow more easily when light energy hits it, thus lowering it resistance (opposition to current flow). • The brighter the light the lower the resistance.
Why? • A photoresistor is made of a high resistance semiconductor. • The photons of high frequency light are absorbed by the semiconductor giving bound electrons enough energy to jump into the conduction band. The resulting free electrons (and their hole partners) conduct electricity thereby lowering resistance.
Basic Circuit As the photoresistor’s resistance changes with light exposure, so does the voltage at Vo. As R gets larger, Vo gets smaller, and as R gets smaller, Vo gets larger. Vo is what the BASIC Stamp I/O pin is detecting when it is functioning as an input. If this circuit is connected to IN6, when the voltage at Vo is above 1.4 V, IN6 will store a 1. If Vo falls below 1.4 V, IN6 will store a 0. R V0
A Better Idea: Measuring Using Time • The photoresistor can also be used with the BASIC Stamp in an RC circuit (Resistor-Capacitor circuit) to obtain a value in relation to the amount of resistance, or, in this case, the amount of light hitting the sensor. • In a RC-network, the capacitor is charged and discharged at different rates determined by the resistor and the capacitor sizes.
Introducing the Capacitor • The capacitor is a device which can store an electron charge. Its size is expressed typically in microfarads (F) or millionths of Farads. • Certain types of capacitors are polarity sensitive, that is, they can only be connected in one direction. • Connecting a polarity sensitive capacitor backwards can cause the device to explode. • Wear safety glasses. • Ensure proper polarity when connecting.
Polled RC Time • In the Polled RC Time circuit the following occurs: • Button is pressed charging the capacitor. • The button is released, the BASIC Stamp begins timing and the capacitor begins to discharge. 5V
Polled RC Time (continued) • The BASIC Stamp continues timing until input P7 changes to a low (drops below 1.4V). • Time is displayed in tenths of seconds. V => 1.4VLogic 1 V < 1.4VLogic 0
Polled RC Time (continued) • The time to discharge the capacitor is in proportion to the size of the resistor and capacitor network (RC). • The larger the capacitance (C), the greater the charge it can hold, increasing time. • The larger the resistance (R), the slower the capacitor will discharge, increasing time.
Reading RC-Time with BASIC Stamp • The BASIC Stamp has an instruction to perform much of the timing operation automatically: RCTIMEPin, State, Variable Where: Pinis the pin the RC network is connected. State is the initial state when timing begins. Variable is the memory location to store the results. Just like PULSOUT the time is the number of 2uS increments.
Build & Test • The RC Time circuits is configured so that the capacitor is charged by the output (P2 in this case) and the time to discharge though the resistor is measured. • In this case, as light level changes, discharge time will change.
What happens to the value of time as the light level changes? When is it lowest? Highest?
Using A Sample Plot • This image shows a plot of the light level. Note how the value increases from left to right then drops again suddenly. Why?
The IR Detector • The IR detector is only looking for infrared that’s flashing on and off 38,500 times per second. • It has built-in optical filters that allow very little light except the 980 nm infrared. • It also has an electronic filter that only allows signals around 38.5 kHz to pass through. • This prevents IR interference from common sources such as sunlight and indoor lighting.
Detecting IR • The key to making each IR LED/detector pair work is to send 1 ms of 38.5 kHz FREQOUT harmonic, and then, immediately store the IR detector’s output in a variable. FREQOUT 8, 1, 38500 irDetectLeft = IN9 • The IR detector’s output state when it sees no IR signal is high. When the IR detector sees the 38500 Hz harmonic reflected by an object, its output is low. • The IR detector’s output only stays low for a fraction of a millisecond after the FREQOUT command is done sending the harmonic, so it’s essential to store the IR detector’s output in a variable immediately after sending the FREQOUT command.
IR Detection Range • Less series resistance will make an LED glow more brightly. • Brighter IR LEDs can make it possible to detect objects that are further away.