摂氏から華氏への変換
CoddyのArduinoジャーニー「ディスプレイとセンサー」セクションの一部。レッスン 21/24。
華氏も温度の尺度の一つです。水は32 Fで凍り、212 Fで沸騰します。変換するには、摂氏の度数に9を掛け、5で割ってから32を足します。
float fahrenheit = celsius * 9 / 5 + 32;順序が重要です。ボードは*と/を左から右へ処理してから、+を処理します。最初にcelsius(float型)を使うと、各段階で小数のまま計算できます。
9 / 5 * celsius + 32と書くと、最初の段階で2つの整数を割ります。9 / 5は1となり、小数部分は切り捨てられるため、答えはcelsius + 32になります。9.0 / 5と書いても解決できます。
チャレンジ
簡単このスケッチではcelsiusを計算します。代わりに華氏を出力してください。
celsius * 9 / 5 + 32で変換します- 摂氏の値の代わりに華氏の値を出力します
実行を押してから、チェックを押してください。
自分で試してみよう
const float BETA = 3950; // サーミスタのベータ値
void setup() {
Serial.begin(9600);
}
void loop() {
int reading = analogRead(A0);
float celsius = 1 / (log(1 / (1023.0 / reading - 1)) / BETA + 1.0 / 298.15) - 273.15;
// celsius を華氏に変換し、代わりにその値を出力する
Serial.println(celsius);
delay(500);
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ディスプレイとセンサーのすべてのレッスン
自分で練習してみよう: Arduinoプレイグラウンド