Menu
CoddyTech

摂氏から華氏への変換

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と書いても解決できます。

challenge icon

チャレンジ

簡単

このスケッチでは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);
}
quiz icon腕試し

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

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

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