@OtisTravis

Как округлить полученное значение из аналогового входа до десятых?

Как округлить полученное значение из аналогового входа до десятых?
Значение выводится на LCD дисплей, значение нужно вывести в десятых.
#include <LiquidCrystal.h>
#include <math.h>
#define analogPin  A0
#define beta 4090
LiquidCrystal lcd(3,4,8,9,10,11);
double termo = 0;
float voltage;
int temp;

 void setup()
 {
 lcd.begin(16,2);
 lcd.print("Temperature:");
 lcd.setCursor(6,1);
 lcd.print("C");
 }
void loop()
{ 
  long a = analogRead(analogPin);
  // расчет по формуле
  float termo = beta /(log((1025.0 * 10 / a - 10) / 10) + beta / 298.0) - 273.0;
  delay(100);
  lcd.setCursor(0,1);
  lcd.print(termo);
}
  • Вопрос задан
  • 1896 просмотров
Решения вопроса 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
char str_temp[6];

/* 4 is mininum width, 1 is precision; float value is copied onto str_temp*/
dtostrf(termo , 4, 1, str_temp);
sprintf(temperature,"%s F", str_temp);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kalapanga
А так не работает?
lcd.print(termo, 1);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы