Термометр на LCD
Часть раздела Дисплеи и датчики путешествия по Arduino на Coddy. Урок 24 из 24.
Термометр показывает единицу измерения с помощью знака градуса: 24.5°C. ЖК-дисплей выводит буквы из собственной таблицы символов, и в этой таблице знак градуса имеет номер 223. Передайте его с помощью (char)223: (char) указывает print() вывести символ 223 вместо цифр 2, 2, 3.
lcd.print(celsius, 1); // один знак после запятой: 24.5
lcd.print((char)223); // знак градуса
lcd.print("C "); // пробелы перекрывают старые символыЗнак °, введённый в текст, не сработает: редактор сохраняет его как два других числа, и экран выводит два символа, которые хранятся у него в этих позициях.
Как и в Serial.println(x, 3), второе число в lcd.print(value, 1) задаёт, сколько знаков после запятой отображает float.
Задание
СреднеСкетч вычисляет celsius, а в верхней строке отображается Temperature. Выведи значение в нижней строке, как 24.5°C:
- температуру с одним знаком после запятой
- затем знак градуса,
(char)223, затемC - после него пробелы, чтобы за более коротким значением ничего не оставалось
Нажми Run, измени температуру, затем нажми Check.
Попробуйте сами
#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;
// вывести значение в нижней строке с одним знаком после запятой и символом градуса, например 24.5°C
delay(500);
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Дисплеи и датчики
Потренируйтесь самостоятельно: Песочница Arduino