Đổ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.
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);
}
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