Вывод на дисплей разности температур с 2 датчиков ds18b20
- Войдите на сайт для отправки комментариев
Сб, 26/12/2015 - 13:01
#include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal.h> #define ONE_WIRE_BUS 5 LiquidCrystal lcd(6, 7, 10, 11, 12, 13); OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); DeviceAddress Thermometer1 = {0x28, 0xFF, 0x98, 0xC9, 0x81, 0x15, 0x02, 0x0D }; // адреса датчиков DeviceAddress Thermometer2 = {0x28, 0xFF, 0xD5, 0xAC, 0x62, 0x15, 0x03, 0x64 }; void setup() { sensors.begin(); sensors.setResolution(Thermometer1, 10); sensors.setResolution(Thermometer2, 10); lcd.begin(16, 2); } void printTemperature(DeviceAddress deviceAddress) { float tempC = sensors.getTempC(deviceAddress); lcd.print(tempC); } void loop() { sensors.requestTemperatures(); lcd.setCursor(0, 0); printTemperature(Thermometer1); lcd.setCursor(8, 0); printTemperature(Thermometer2); delay(300); }
В лупе нужно показания первого термометра вычесть из показаний второго и вывести на дисплей. Компилятор постоянно ругается.
Матом?
Нее...говорит нельзя преобразовать беззнаковый тип char в float =)
Явно преобразуйте float в int, а int в char.
Вот только мне число нужно с точностью в 0.1 градуса, а char целочисленно.
В лупе нужно показания первого термометра вычесть из показаний второго и вывести на дисплей. Компилятор постоянно ругается.
В скетче не видно, чтобы показания термометров запоминались, а затем вычитались.
Наконец-то разобрался ! Всем спасибо =)