Menu
CoddyTech

Termómetro LCD

Parte de la sección Pantallas y sensores del Journey de Arduino de Coddy. Lección 24 de 24.

Un termómetro muestra su unidad con un símbolo de grado: 24.5°C. La pantalla LCD dibuja las letras a partir de su propia tabla de caracteres, y en esa tabla el símbolo de grado es el número 223. Envíalo con (char)223: (char) le indica a print() que dibuje el carácter 223 en vez de imprimir los dígitos 2, 2, 3.

lcd.print(celsius, 1);   // un decimal: 24.5
lcd.print((char)223);    // el símbolo de grado
lcd.print("C    ");      // los espacios cubren los caracteres anteriores

Un ° escrito en tu texto no funciona: el editor lo guarda como otros dos números, y la pantalla dibuja los dos símbolos que tiene en esas posiciones.

Al igual que con Serial.println(x, 3), un segundo número en lcd.print(value, 1) establece cuántos decimales muestra un float.

challenge icon

Desafío

Intermedio

El sketch calcula celsius y la fila superior muestra Temperature. Muéstrala en la fila inferior así: 24.5°C:

  • la temperatura con un decimal
  • después el signo de grado, (char)223, después C
  • con espacios después, para que un valor más corto no deje nada detrás

Presiona Run, cambia la temperatura y después Check.

Pruébalo tú mismo

#include <LiquidCrystal.h>

// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const float BETA = 3950;

void setup() {
  lcd.begin(16, 2);
  lcd.print("Temperature");
}

void loop() {
  int reading = analogRead(A0);
  float celsius = 1 / (log(1 / (1023.0 / reading - 1)) / BETA + 1.0 / 298.15) - 273.15;

  // muéstralo en la fila inferior con un decimal y el símbolo de grado, como 24.5°C
  delay(500);
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Pantallas y sensores

Practica por tu cuenta: Playground de Arduino