Не подскажите что поменять в скетче что бы отрицательная температура выводилась без знака минус?
- Войдите на сайт для отправки комментариев
Вс, 20/01/2019 - 23:51
Не подскажите что поменять в скетче что бы отрицательная температура выводилась без знака минус?
#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);
}
по математике в школе двойка была? Функцию abs() не знаем?
А вообще - нет особого желания помогать Вам, ибо вы все равно абсолютно ничему не учитесь, а только ходите выпрашиваете готовые решения. При таком подходе лучше не тратьте время старожилов форума, а закажите разработку поделки за деньги
по математике в школе двойка была? Функцию abs() не знаем?
А вообще - нет особого желания помогать Вам, ибо вы все равно абсолютно ничему не учитесь, а только ходите выпрашиваете готовые решения. При таком подходе лучше не тратьте время старожилов форума, а закажите разработку поделки за деньги
Почему же вы решили что я ничему не научусь?)
Например я вот только что узнал о функции abs()
Я вам сегодня уже дважды подсказыал одно и тоже. Не дошло :(
Пока не дойдёт, так и будете за каждым минусом по форумам побираться.
Например я вот только что узнал о функции abs()
А местный раздел почитать, на досуге?
Нет, ну abs() не знает, но ТС и ЕСЛИ не знает if(a<0)a=(-a);