Menu
CoddyTech

Termômetro no LCD

Parte da seção Displays e sensores do Journey de Arduino da Coddy. Lição 24 de 24.

Um termômetro mostra sua unidade com um sinal de grau: 24.5°C. O LCD desenha letras a partir de sua própria tabela de caracteres, e nessa tabela o sinal de grau é o número 223. Envie-o com (char)223: (char) instrui print() a desenhar o caractere 223 em vez de imprimir os dígitos 2, 2, 3.

lcd.print(celsius, 1);   // uma casa decimal: 24.5
lcd.print((char)223);    // o símbolo de grau
lcd.print("C    ");      // os espaços cobrem os caracteres anteriores

Digitar um ° no seu texto não funciona: o editor o armazena como dois outros números, e a tela desenha os dois símbolos que correspondem a esses números.

Assim como em Serial.println(x, 3), um segundo número em lcd.print(value, 1) define quantas casas decimais um float exibe.

challenge icon

Desafio

Médio

O sketch calcula celsius e a linha de cima mostra Temperature. Mostre o valor na linha de baixo, como 24.5°C:

  • a temperatura com uma casa decimal
  • depois o símbolo de grau, (char)223, e então C
  • com espaços depois, para que um valor menor não deixe nada para trás

Pressione Run, altere a temperatura e, em seguida, Check.

Experimente você mesmo

#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;

  // mostre a temperatura na linha de baixo com uma casa decimal e o símbolo de grau, como 24.5°C
  delay(500);
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Displays e sensores

Pratique por conta própria: Playground de Arduino