Interfacing Sensors To The Arduino
Interfacing Sensors To The Arduino
Temperature sensors
0 Gives a Vout propotional to ambient room
temperature.
across a p-n junction increases at a known rate. (in this case Vbe)
Datasheet of LM35
folder.
2.
3. 4. 5.
assign it to a global variable in setup() { }, initialize serial port to 9600 baud rate to send temp reading out to PC. In loop() { }, take the analogue reading from a pin and store it in a temp float variable. Multiply reading by 5.0 and then divide by 1024 to get voltage value read by the port. Store this is a float variable called volt. Print out this value to the serial port and check.
LM35 in Celsius.
0 Send it to the serial port and check your code. 0 To convert to fahrenheight, mult by 9 then divide by 5
Improvements?
0 Use 3.3V as reference to increase resolution since
0 Put in on PCB to avoid noise by breadboard internal 0 DO NOT LIGHT THE LM35 OR IMMERSE IT IN WATER. 0 Make a waterproof casing for the lm35 to test temp of
liquids.
LDR
0 An LDR is a Light Dependent Resistor. 0 As in the resistance offered by this device to an
anyway.
0 Circuit is GND-10kohn-LDR-VCC. 0 This circuit will only work if between 0-5V. If light is
too bright, it will saturate at 5V. 0 putting a variable resistor in place of 10k allows for controlling saturation with too bright/too dark light.
Ambient light like Dim hallway Moonlit night Room Dark overcast day / Bright room Overcast day
LDR + R () 610 K 80 K 20 K
100 lux
1.5 K
11.5 K
0.43 mA
4.3 V
1000 lux
300
10.03 K
0.5 mA
5V
Writing code!
0 decide analoge pin used as input to LDR.
Application 1
0 Make thresholds and determine the brightness
if (reading < 10) { Serial.println(" - Dark"); } else if (reading < 200) { Serial.println(" - Dim"); } else if (reading < 500) { Serial.println(" - Light"); } else if (reading < 800) { Serial.println(" - Bright"); } else { Serial.println(" - Very bright"); }
Application 2
0 Take the analogue reading and use it as the delay
void loop() { val = analogRead(LDR); digitalWrite(ledPin, HIGH); delay(val); digitalWrite(ledPin, LOW); delay(val); }
Another Application
0 Put three LEDs around the LDR. Red, Green and Blue.
Sensor Data on PC
0 Reading and plotting sensor data on PC is very simple
on the arduino.
serial port.
run.
matches arduino