Задать вопрос
@Suyano
Новичок

Как убрать плавающую точку в значении температуры с датчика в Ардуино?

Добрый вечер!

Есть код, преобразующий аналоговое значение с термистора в сопротивление и далее в температуру.
reading_temp = analogRead(A0); // Write thermistor data to variable
    // Convert Data to Resistance Thermistor
    reading_temp = (1023 / reading_temp) - 1;
    reading_temp = SERIESRESISTOR / reading_temp;
    // Convert Resistance to Temperature
    temp_data = reading_temp / THERMISTORNOMINAL; // (R/Ro) -> Data / Nominal Thermistor (10k)
    temp_data = log(temp_data); // ln(R/Ro) Logarifm
    temp_data /= BCOEFFICIENT; // 1/B * ln(R/Ro)
    temp_data += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
    temp_data = 1.0 / temp_data; // Inverting
    temp_data -= 273.15; // Converting to Temp *C

В некоторый промежуток времени мне необходимо отослать температуру на другой модуль по UART шине. Для этого я буду использовать sprintf() и далее Serial.println().
sprintf не поддерживает числа с плавающей точкой, а применять String я не хочу из-за плохих слухов о нем (вроде как портит чип).
Вопрос: как возможно убрать плавающую точку из температуры, чтобы к примеру температура +26.7 отправлялась как +26?
  • Вопрос задан
  • 2321 просмотр
Подписаться 2 Простой 2 комментария
Ответ пользователя kalapanga К ответам на вопрос (3)
@kalapanga
Бред и про sprintf() и про String.
А нужно скорее всего просто
Serial.println(1.23456, 0) выводит "1"
0 - число выводимых знаков после запятой.
Ответ написан