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 anterioresDigitar 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.
Desafio
MédioO 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ãoC - 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);
}
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