
Reading a Temperature Sensor — SIK Circuit 7
Read temperature from a TMP36 sensor and display Celsius and Fahrenheit readings on the Serial Monitor. Your introduction to serial communication and real-world data.
Instrucciones
Parts & Introduction
Parts & Introduction
The TMP36 is an analog temperature sensor that outputs a voltage proportional to temperature. You'll learn to use the Serial Monitor to display real-time readings — an essential debugging tool.
Parts Needed
- 1x Arduino Uno + USB cable
- 1x Breadboard
- 1x TMP36 Temperature Sensor
- 5x Jumper Wires
Warning: The TMP36 looks similar to the transistor. Look for "TMP" in tiny letters and a triangle logo. The transistor has "222" printed on it. Inserting the wrong component can damage it!
Materiales para este paso:
SparkFun Inventors Kit - V3.21 kit
Arduino Uno R31 pieza
Breadboard1 pieza
TMP36 Temperature Sensor1 pieza
Jumper Wires3 piezasHerramientas necesarias:
Hardware Hookup
Hardware Hookup
Wiring Instructions
With the TMP36 flat side facing you and pins pointing down, the pins are (left to right): 5V, Signal, GND.
- Connect the left pin to 5V.
- Connect the middle pin (signal) to Analog Pin A0.
- Connect the right pin to GND.
That's it — just 3 wires! The TMP36 can only be connected in one direction. Double-check before powering on.
Materiales para este paso:
TMP36 Temperature Sensor1 pieza
Breadboard1 pieza
Jumper Wires3 piezasArduino Code
Arduino Code
Open the Arduino IDE and upload the following sketch to your Arduino board.
/*
SparkFun Inventor's Kit
Example sketch 07 — TEMPERATURE SENSOR
Use the serial monitor to read temperature from a TMP36 sensor.
Hardware connections:
TMP36 (flat side, pins down, left to right): 5V, SIGNAL, GND
Connect 5V pin to 5V, SIGNAL pin to analog pin 0, GND pin to GND.
This code is completely free for any use.
*/
const int temperaturePin = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
float voltage, degreesC, degreesF;
voltage = getVoltage(temperaturePin);
degreesC = (voltage - 0.5) * 100.0;
degreesF = degreesC * (9.0/5.0) + 32.0;
Serial.print("voltage: ");
Serial.print(voltage);
Serial.print(" deg C: ");
Serial.print(degreesC);
Serial.print(" deg F: ");
Serial.println(degreesF);
delay(1000);
}
float getVoltage(int pin)
{
return (analogRead(pin) * 0.004882814);
// Converts 0-1023 to 0.0-5.0 volts
}Materiales para este paso:
Arduino Uno R31 piezaHerramientas necesarias:
Test & Experiment
Test & Experiment
What You Should See
Open the Serial Monitor (magnifying glass icon in Arduino IDE, or Ctrl+Shift+M). You'll see lines updating once per second:
voltage: 0.73 deg C: 23.24 deg F: 73.84
Troubleshooting
- Nothing happens: Open the Serial Monitor! The output goes there, not to the LEDs.
- Gibberish text: Set the Serial Monitor baud rate dropdown to 9600.
- Temperature unchanged: Pinch the sensor with your fingers to warm it up, or apply ice to cool it down.
Experiments to Try
- Add an LED that turns on above a temperature threshold (like a heat warning).
- Log data over time to see temperature trends.
- Combine with the LCD (Circuit 15) to display temperature without a computer.
Materiales
5- MX$1,826.00
- 1 piezaMarcador de posición
- 1 piezaMarcador de posición
- 1 piezaMarcador de posición
- MX$72.00
CC0 Dominio público
Este Blueprint se publica bajo CC0. Eres libre de copiar, modificar, distribuir y usar este trabajo para cualquier propósito, sin pedir permiso.
Apoya al Maker comprando productos a través de su Blueprint, donde gana una Comisión del Maker establecida por los vendedores, o crea una nueva iteración de este Blueprint e inclúyela como conexión en tu propio Blueprint para compartir ingresos.