Leer un sensor de temperatura

Convierte la lectura de un sensor TMP36 en grados Celsius y muéstralos en el monitor serial.

Qué vas a construir

Un sensor TMP36 conectado al Arduino. El monitor serial muestra la temperatura en grados Celsius, y el valor cambia cuando el sensor se calienta o se enfría.

Lo que aprendes

  • Cómo leer un sensor analógico con analogRead().
  • Cómo convertir un número de 0 a 1023 en voltaje.
  • Cómo convertir voltaje en temperatura con la fórmula del TMP36.
  • Cómo ver datos en el monitor serial.

Idea clave

El TMP36 entrega un voltaje que sube 10 mV por cada grado Celsius, con un desfase de 500 mV en 0 °C. Por eso la fórmula es:

Temperatura (°C) = (voltaje − 0.5) × 100

Materiales en Tinkercad

  • Arduino Uno R3
  • Sensor de temperatura TMP36
  • Cables

Paso 1: Conecta el sensor

El TMP36 tiene tres patas. Con el lado plano hacia ti, de izquierda a derecha:

  1. Izquierda: 5V.
  2. Centro: salida, a A0.
  3. Derecha: GND.

Revisa la hoja de datos del componente en Tinkercad si la numeración no coincide.

Paso 2: Escribe el código

const int SENSOR = A0;

void setup() {
  Serial.begin(9600);  // velocidad de comunicación con el monitor serial
}

void loop() {
  int lectura = analogRead(SENSOR);             // 0 a 1023
  float voltaje = lectura * 5.0 / 1024.0;       // convierte a voltios
  float celsius = (voltaje - 0.5) * 100.0;      // fórmula del TMP36

  Serial.print("Temperatura: ");
  Serial.print(celsius);
  Serial.println(" C");

  delay(500);
}

Paso 3: Abre el monitor serial

  1. Haz clic en Start Simulation.
  2. Abre el Serial Monitor desde el botón correspondiente en la barra de Tinkercad.
  3. Confirma que la velocidad está en 9600 baud.

Debe aparecer una línea nueva cada medio segundo con la temperatura.

Cómo sabes que lo lograste

  • El monitor serial muestra una temperatura en °C.
  • Los valores están entre 15 y 35 °C, aproximadamente, que es el rango típico de la simulación.
  • Puedes explicar por qué restamos 0.5 antes de multiplicar por 100.

Qué salió mal

El monitor muestra texto ilegible. La velocidad del monitor no coincide con Serial.begin(). Ambas deben ser 9600.

La temperatura sale muy alta o negativa. Revisa que el sensor esté conectado a 5 V y no a 3.3 V, y que el cable de salida esté en A0.

El valor no cambia. En Tinkercad, puede que el TMP36 tenga un valor fijo. Si no puedes cambiarlo, no es un error del código: el resto de la clase funciona igual.

Siguiente clase

En la siguiente clase vas a usar esa temperatura para encender una alerta.