Перевод градусов Цельсия в Фаренгейты
Часть раздела Дисплеи и датчики путешествия по Arduino на Coddy. Урок 21 из 24.
Фаренгейт — ещё одна температурная шкала: вода замерзает при 32 F и закипает при 212 F. Для перевода умножьте градусы C на 9, разделите на 5 и прибавьте 32:
float fahrenheit = celsius * 9 / 5 + 32;Порядок имеет значение. Плата выполняет операции слева направо: сначала * и /, затем +. Если начать с celsius, значения типа float, на каждом шаге сохраняются десятичные дроби.
Если записать 9 / 5 * celsius + 32, первым шагом будут делиться два целых числа: 9 / 5 равно 1, дробная часть отбрасывается, и результатом будет celsius + 32. Запись 9.0 / 5 тоже решила бы проблему.
Задание
ЛегкоСкетч вычисляет celsius. Выводи значение в градусах Фаренгейта:
- выполни преобразование с помощью
celsius * 9 / 5 + 32 - выводи значение в градусах Фаренгейта вместо значения в градусах Цельсия
Нажми Run, затем Check.
Попробуйте сами
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);
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Дисплеи и датчики
1Семисегментные дисплеи
Семисегментный дисплейШаблоны цифр в байтахСчёт на дисплееОбратный отсчёт до нуляБросок кубика4Датчики
Время эха ультразвукового датчикаПеревод времени эха в сантиметрыТемпература с помощью термистораПеревод градусов Цельсия в ФаренгейтыИндикатор уровня освещённостиРасстояние на LCDТермометр на LCDПотренируйтесь самостоятельно: Песочница Arduino