Menu
CoddyTech

Đổi Celsius sang Fahrenheit

Thuộc phần Màn hình và cảm biến trong hành trình Arduino của Coddy. Bài học 21 trên 24.

Fahrenheit là một thang nhiệt độ khác: nước đóng băng ở 32 F và sôi ở 212 F. Để chuyển đổi, nhân số độ C với 9, chia cho 5 rồi cộng 32:

float fahrenheit = celsius * 9 / 5 + 32;

Thứ tự rất quan trọng. Bảng tính lần lượt từ trái sang phải với * và /, trước +. Bắt đầu với celsius, một giá trị float, giúp giữ lại phần thập phân ở mỗi bước.

Nếu viết 9 / 5 * celsius + 32, bước đầu tiên sẽ chia hai số nguyên: 9 / 5 bằng 1, phần thập phân bị bỏ đi, và kết quả là celsius + 32. Viết 9.0 / 5 cũng khắc phục được lỗi này.

challenge icon

Thử thách

Dễ

Chương trình tính celsius. Hãy in ra nhiệt độ Fahrenheit thay thế:

  • chuyển đổi bằng celsius * 9 / 5 + 32
  • in ra giá trị Fahrenheit thay cho giá trị Celsius

Nhấn Chạy, rồi nhấn Kiểm tra.

Tự làm thử

const float BETA = 3950;  // giá trị beta của điện trở nhiệt

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;
  // đổi celsius sang fahrenheit rồi in giá trị đó thay thế
  Serial.println(celsius);
  delay(500);
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Màn hình và cảm biến

Tự luyện tập: Playground Arduino