EasyManuals Logo

Arduino uno User Manual

Arduino uno
311 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #107 background imageLoading...
Page #107 background image
We can turn the analog pins output into a voltage value by dividing it by
1024 and by multiplying it by the supply voltage, which we do in line 21.
We now have to convert the voltage the sensor delivers into degrees Celsius.
In the sensors data sheet, we find the following formula:
T = ((sensor output in mV) - 500) / 10
We have to subtract 500 millivolts because the sensor always outputs a pos-
itive voltage. This way, we can represent negative temperatures, too. The
sensors resolution is 10 millivolts, so we have to divide by 10. A voltage value
of 750 millivolts corresponds to a temperature of (750 - 500) / 10 = 25°C. See
it implemented in line 22.
Compile the program, upload it to the Arduino, and youll see something like
the following in your serial monitor:
20.80 C, 69.44 F
20.80 C, 69.44 F
20.31 C, 68.56 F
20.80 C, 69.44 F
20.80 C, 69.44 F
As you can see, the sensor needs some time to calibrate, but its results get
stable fairly quickly. By the way, youll always need to insert a short delay
between two calls to
analogRead
, because the Arduinos internal analog system
needs some time (0.0001 seconds on the Uno) between two readings. We use
a delay of a whole second to make the output easier to read and because we
dont expect the temperature to change rapidly. Otherwise, a delay of a single
millisecond would be enough.
Now we have two separate circuits: one for measuring distances and one for
measuring temperatures. See them combined to a single circuit in Figure 17,
The TMP36 and the PING))) sensors working together, on page 90 and Figure
18, Photo of final circuit, on page 90.
Use the following program to bring the circuit to life:
InputDevices/Ultrasonic/PreciseSensor/PreciseSensor.ino
const unsigned int TEMP_SENSOR_PIN = A0;
Line 1
const float SUPPLY_VOLTAGE = 5.0;
-
const unsigned int PING_SENSOR_IO_PIN = 7;
-
const float SENSOR_GAP = 0.2;
-
const unsigned int BAUD_RATE = 9600;
5
float current_temperature = 0.0;
-
unsigned long last_measurement = millis();
-
-
-
report erratum discuss
Increasing Precision Using a Temperature Sensor 89
www.it-ebooks.info

Table of Contents

Other manuals for Arduino uno

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Arduino uno and is the answer not in the manual?

Arduino uno Specifications

General IconGeneral
Form factorArduino
CertificationRoHS, FC, CE
Processor model-
Processor frequency- MHz
Microcontroller modelATmega328
Microcontroller frequency16 MHz
DC input voltage7-12 V
Operating voltage5 V
DC current per I/O pin40 mA
Flash memory0.032 MB
Maximum internal memory- GB
SRAM (Static Random Access Memory)2 KB
EEPROM (Electrically Erasable Programmable Read-Only Memory)1 KB
Wi-FiNo
Number of analog I/O pins6
Number of digital I/O pins14
Weight and Dimensions IconWeight and Dimensions
Board dimensions53.4 x 68.6 mm

Related product manuals