Не подскажите что поменять в скетче что бы отрицательная температура выводилась без знака минус?

qwerty13rus
Offline
Зарегистрирован: 05.12.2018
Не подскажите что поменять в скетче что бы отрицательная температура выводилась без знака минус?
#define THERMISTORPIN A0

// сопротивление при 25 градусах по Цельсию

#define THERMISTORNOMINAL 10000

// temp. для номинального сопротивления (практически всегда равна 25 C)

#define TEMPERATURENOMINAL 25

// сколько показаний используем для определения среднего значения

#define NUMSAMPLES 5

// бета коэффициент термистора (обычно 3000-4000)

#define BCOEFFICIENT 3950

// сопротивление второго резистора

#define SERIESRESISTOR 10000

int samples[NUMSAMPLES];

void setup(void) {

Serial.begin(9600);

analogReference(EXTERNAL);

}

void loop(void) {

uint8_t i;

float average;

// сводим показания в вектор с небольшой задержкой между снятием показаний

for (i=0; i< NUMSAMPLES; i++) {

samples[i] = analogRead(THERMISTORPIN);

delay(10);

}

// рассчитываем среднее значение

average = 0;

for (i=0; i< NUMSAMPLES; i++) {

average += samples[i];

}

average /= NUMSAMPLES;

Serial.print("Average analog reading ");

Serial.println(average);

// конвертируем значение в сопротивление

average = 1023 / average - 1;

average = SERIESRESISTOR / average;

Serial.print("Thermistor resistance ");

Serial.println(average);

float steinhart;

steinhart = average / THERMISTORNOMINAL; // (R/Ro)

steinhart = log(steinhart); // ln(R/Ro)

steinhart /= BCOEFFICIENT; // 1/B * ln(R/Ro)

steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)

steinhart = 1.0 / steinhart; // инвертируем

steinhart -= 273.15; // конвертируем в градусы по Цельсию

Serial.print("Temperature ");

Serial.print(steinhart);

Serial.println(" *C");

delay(1000);

}

 

b707
Offline
Зарегистрирован: 26.05.2017

по математике в школе двойка была? Функцию abs() не знаем?

А вообще - нет особого желания помогать Вам, ибо вы все равно абсолютно ничему не учитесь, а только ходите выпрашиваете готовые решения. При таком подходе лучше не тратьте время старожилов форума, а  закажите разработку поделки за деньги

qwerty13rus
Offline
Зарегистрирован: 05.12.2018

b707 пишет:

по математике в школе двойка была? Функцию abs() не знаем?

А вообще - нет особого желания помогать Вам, ибо вы все равно абсолютно ничему не учитесь, а только ходите выпрашиваете готовые решения. При таком подходе лучше не тратьте время старожилов форума, а  закажите разработку поделки за деньги

Почему же вы решили что я ничему не научусь?)

Например я вот только что узнал о функции abs()

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

Я вам сегодня уже дважды подсказыал одно и тоже. Не дошло :(

Пока не дойдёт, так и будете за каждым минусом по форумам побираться.

bwn
Offline
Зарегистрирован: 25.08.2014

qwerty13rus пишет:

Например я вот только что узнал о функции abs()

А местный раздел почитать, на досуге?

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

bwn пишет:
почитать, на досуге?
Не наш метод!

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Нет, ну abs() не знает, но ТС и ЕСЛИ не знает if(a<0)a=(-a);