Menu
CoddyTech

LCDに数値をリアルタイム表示する

CoddyのArduinoジャーニー「ディスプレイとセンサー」セクションの一部。レッスン 8/24。

lcd.print()は数値も出力でき、変数や計算結果もテキストと同じように使えます。

lcd.print(millis() / 1000);   // ボードの起動からの経過秒数

数値を最新の状態に保つには、loop()内で再度出力します。ただし、出力するたびにカーソルが進むため、2回目の出力は1回目の後ろに表示されます。つまり、0、次に00、そして000となります。出力する前にlcd.setCursor()でカーソルを戻すと、新しい数値が古い数値に上書きされます。

void loop() {
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000);
  delay(200);
}

短いdelay()を入れることで、1秒に1回しか変わらない数値のために、画面が1秒間に何千回も再描画されるのを防げます。

challenge icon

チャレンジ

簡単

上の行には Seconds: と表示します。その下に、ボードが動作した秒数を表示します。

  • loop() 内で、カーソルを下の行の先頭に移動します
  • millis() / 1000 を出力します
  • 200 ms 待ちます

Run を押してカウントを確認し、次に Check を押します。

自分で試してみよう

#include <LiquidCrystal.h>

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

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

void loop() {
  // ボードの起動から経過した秒数を下段に表示する
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ディスプレイとセンサーのすべてのレッスン

自分で練習してみよう: Arduinoプレイグラウンド