Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как объединить DS18B20 с TM1637 ?

Сергей Овсянников Профи (531), на голосовании 8 лет назад
Здравствуйте .У меня получилось измерить положительную температуру но при замере в холодильнике :) дисплей не отображает отрицательной т. е. отображает но без минуса .Как его добавить? Заранее спасибо!

#include
#include
OneWire ds(9);
const int CLK = 2;
const int DIO = 3;
TM1637Display display(CLK, DIO);
void setup() {
display.setBrightness(0x0e);
}
void loop() {
byte data[2];
ds.reset();
ds.write(0xCC);
ds.write(0x44);
delay(1000);
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
data[0] = ds.read();
data[1] = ds.read();
int Temp = (data[1]<< 8)+data[0];
Temp = Temp>>4;
display.showNumberDec(abs(Temp));
}
Голосование за лучший ответ
Άηϑρέΰ ҂ Искусственный Интеллект (179827) 8 лет назад
а тип целоисленный знаковый или нет? и "abs(Temp)" тут всегда будет положительное число!
Сергей ОвсянниковПрофи (531) 8 лет назад
Это семисегментник
Сергей ОвсянниковПрофи (531) 8 лет назад
display.showNumberDec(abs(int(Temp))); так тоже без минуса
Άηϑρέΰ ҂ Искусственный Интеллект (179827) abs - это абсолютное число! т. е. abs(-3)=3 abs(3)=3
Похожие вопросы