Нужна помощь с преобразованием градусов Цельсия в градусы Фаренгейта в коде

Я новичок в Arduino и пытаюсь понять, как преобразовать градусы Цельсия в градусы Фаренгейта с параметрами, указанными ниже. Нужно ли мне создавать отдельный файл для расчетов? Если да, может ли кто-нибудь помочь мне с тем, как это сделать?

#include <DHT.h>
#include <DHT_U.h>

int SENSOR = 2;
int TEMPERATURE;
int HUMIDITY;

DHT dht(SENSOR, DHT11);

void setup() {
  Serial.begin(9600);
  dht.begin();
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  TEMPERATURE = dht.readTemperature();
  HUMIDITY = dht.readHumidity();
  Serial.print("Temp: ");
  Serial.print(TEMPERATURE);
  Serial.println(" celsius ");
  Serial.println(" ");
  Serial.print("Humidity: ");
  Serial.println(HUMIDITY);
  delay(2000);

  //Встроенный светодиод
  digitalWrite(LED_BUILTIN, HIGH);  // включаем светодиод (HIGH — уровень напряжения)
  delay(250); // ждем секунду
  digitalWrite(LED_BUILTIN, LOW); // выключаем светодиод, понизив напряжение
  delay(250);  
}

, 👍1


2 ответа


1

Вы можете добавить функцию в свой эскиз.

// Преобразование градусов Цельсия в градусы Фаренгейта
double Fahrenheit(double celsius){
  return 1.8 * celsius + 32;
}

Затем добавьте этот код в ваш цикл().

Serial.print("Temp: ");
Serial.print(Fahrenheit(TEMPERATURE));
Serial.println(" fahrenheit ");
,

2

Если вы используете библиотеку датчиков Adafruit DHT, то вы можете получить показания по Фаренгейту, передав true в качестве аргумента readTemperature(). См. комментарий в исходном коде. Для пример:

Serial.print("Temp: ");
Serial.print(dht.readTemperature(true));  // true -> Фаренгейт
Serial.println(" deg. F");

Обратите внимание, что эта библиотека также предлагает функции преобразования. convertCtoF() и convertFtoC().

,