សិល្បៈ
សម្រស់ និង សុខុមាលភាព
សិប្បកម្ម
វប្បធម៌ និង ប្រវត្តិសាស្ត្រ
ការកម្សាន្ត
បរិស្ថាន
ម្ហូប និង ភេសជ្ជៈ
អនាគតបៃតង
វិស្វកម្មបញ្ច្រាស
វិទ្យាសាស្ត្រ
កីឡា
បច្ចេកវិទ្យា
ប្រដាប់ដែលស្លៀក
Reading a Temperature Sensor — SIK Circuit 7
Ed

Created by

Ed

17. March 2026

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.

Instructions

1

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!

2

Hardware Hookup

Wiring Instructions

With the TMP36 flat side facing you and pins pointing down, the pins are (left to right): 5V, Signal, GND.

  1. Connect the left pin to 5V.
  2. Connect the middle pin (signal) to Analog Pin A0.
  3. 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.

3

Arduino Code

Open the Arduino IDE and upload the following sketch to your Arduino board.

temperature_sensor.inoarduino
/*
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
}
4

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.

Materials

  • SparkFun Inventor's Kit - V3.2 - 1 kitNOK 999.20
    View
  • Arduino Uno R3 - 1 piecePlaceholder
    View
  • Breadboard - 1 piecePlaceholder
    View
  • TMP36 Temperature Sensor - 1 piecePlaceholder
    View
  • Jumper Wires - 5 piecessNOK 39.20
    View

Tools Required

  • Computer with Arduino IDE

CC0 Public Domain

This blueprint is released under CC0. You are free to copy, modify, distribute, and use this work for any purpose, without asking permission.

Support the Maker by purchasing products through their Blueprint where they earn a Maker Commission set by Vendors, or create a new iteration of this Blueprint and include it as a connection in your own Blueprint to share revenue.

Discussion

(0)

Log in to join the discussion

Loading comments...