LCD温度計
CoddyのArduinoジャーニー「ディスプレイとセンサー」セクションの一部。レッスン 24/24。
温度計は度記号を使って単位を表示します:24.5°C。LCDは独自の文字テーブルから文字を描画し、そのテーブルでは度記号は番号223です。(char)223で送信します:(char)は、数字の2、2、3を表示する代わりに、文字223を描画するようprint()に指示します。
lcd.print(celsius, 1); // 小数点以下1桁: 24.5
lcd.print((char)223); // 度記号
lcd.print("C "); // スペースで以前の文字を消すテキストに°を入力しても動作しません。エディターはそれを別の2つの番号として保存し、画面はその位置にある2つの記号を描画します。
Serial.println(x, 3)と同様に、lcd.print(value, 1)の2つ目の数値は、floatで表示する小数点以下の桁数を指定します。
チャレンジ
中級スケッチはcelsiusを計算し、上の行にはTemperatureと表示されます。下の行に24.5°Cのように表示しましょう。
- 温度を小数第1位まで表示
- 続けて度記号
(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のように小数点以下1桁と度記号を付けて表示する
delay(500);
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ディスプレイとセンサーのすべてのレッスン
自分で練習してみよう: Arduinoプレイグラウンド