Menu
CoddyTech

Термометр на 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.

challenge icon

Задание

Средне

Скетч вычисляет 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);
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Дисплеи и датчики

Потренируйтесь самостоятельно: Песочница Arduino