Difference between revisions of "9 What is temperature there? with LM35"
(Created page with "Category:Arduino Tutorials 680px") |
|||
Line 1: | Line 1: | ||
[[Category:Arduino Tutorials]] | [[Category:Arduino Tutorials]] | ||
[[File:Arduino Interface LM35.JPG|680px]] | [[File:Arduino Interface LM35.JPG|680px]] | ||
+ | ==Code== | ||
+ | <syntaxhighlight> | ||
+ | /* | ||
+ | Measure Temperature Using LM35. | ||
+ | |||
+ | Reads an Temperature sensor on analog input pin, | ||
+ | and uses the result to set the pulsewidth modulation (PWM) of an output pin according to the temperature. | ||
+ | Also prints the results to the serial monitor. | ||
+ | |||
+ | The circuit: | ||
+ | * LM35(Temperature Sensor) connected to analog pin 0, As shown in Diagram. | ||
+ | |||
+ | * LED connected from digital pin 9 to ground | ||
+ | |||
+ | // These constants won't change. They're used to give names | ||
+ | // to the pins used: | ||
+ | const int analogInPin = A0; // Analog input pin that the potentiometer is attached to | ||
+ | const int analogOutPin = 9; // Analog output pin that the LED is attached to | ||
+ | int sensorValue = 0; // value read from the pot | ||
+ | int outputValue = 0; // value output to the PWM (analog out) | ||
+ | void setup() { | ||
+ | // initialize serial communications at 9600 bps: | ||
+ | Serial.begin(9600); | ||
+ | } | ||
+ | void loop() { | ||
+ | // read the analog in value: | ||
+ | sensorValue = analogRead(analogInPin); | ||
+ | // map it to the range of the analog out: | ||
+ | outputValue = map(sensorValue, 0, 1023, 0, 255); | ||
+ | // change the analog out value: | ||
+ | analogWrite(analogOutPin, outputValue); | ||
+ | // print the results to the serial monitor: | ||
+ | Serial.print("sensor = " ); | ||
+ | Serial.print(sensorValue); | ||
+ | Serial.print("\t output = "); | ||
+ | Serial.println(outputValue); | ||
+ | // wait 2 milliseconds before the next loop | ||
+ | // for the analog-to-digital converter to settle | ||
+ | // after the last reading: | ||
+ | delay(2); | ||
+ | } | ||
+ | </syntaxhighlight> |
Revision as of 00:29, 13 September 2014
Code
/*
Measure Temperature Using LM35.
Reads an Temperature sensor on analog input pin,
and uses the result to set the pulsewidth modulation (PWM) of an output pin according to the temperature.
Also prints the results to the serial monitor.
The circuit:
* LM35(Temperature Sensor) connected to analog pin 0, As shown in Diagram.
* LED connected from digital pin 9 to ground
// These constants won't change. They're used to give names
// to the pins used:
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}
void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1023, 0, 255);
// change the analog out value:
analogWrite(analogOutPin, outputValue);
// print the results to the serial monitor:
Serial.print("sensor = " );
Serial.print(sensorValue);
Serial.print("\t output = ");
Serial.println(outputValue);
// wait 2 milliseconds before the next loop
// for the analog-to-digital converter to settle
// after the last reading:
delay(2);
}