Podwójny termostat - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Podwójny termostat (/watek-podw%C3%B3jny-termostat) |
Podwójny termostat - norbii01 - 03-10-2017 Od nie dawna zajmuję się Arduino ale do tej pory dawałem jakoś radę. Teraz utknąlem w miejscu. Robie coś w rodzaju termostatu, pomiar z wyświetlaniem dwóch temperatur i załączeniem wyjścia pogiem na stałe ustawionym. Mój problem polega na tym że nie działa mi porównanie temperatury . Po kompilacji mam ostrzeżenie warning: ISO C++ forbids comparison between pointer and integer [-fpermissive] { if ( termometrWewnetrzny >24) { Próbowałem zapisania temperatury jako zmiennej lecz tęż mam błąd. Szanowne forum proszę mnie "oświecić" z góry dzięki za pomoc. #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal.h> //Dołączenie bilbioteki OneWire oneWire(A5); //Podłączenie do A5 DallasTemperature sensors(&oneWire); //Przekazania informacji do biblioteki LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Informacja o podłączeniu nowego wyświetlacza DeviceAddress termometrZewnetrzny = { 0x28, 0x2A, 0x16, 0xBB, 0x8, 0x0, 0x0, 0xA7 }; //28 2A 16 BB 8 0 0 A7 DeviceAddress termometrWewnetrzny = { 0x28, 0xFF, 0x6F, 0x8, 0xC3, 0x16, 0x3, 0x39 }; //28 FF 6F 8 C3 16 3 39 void setup(void) { Serial.begin(9600); sensors.begin(); //Inicjalizacja czujnikow lcd.begin(16, 2); //Deklaracja typu lcd.clear(); pinMode(7, OUTPUT); //Dioda jako wyjście digitalWrite(7, LOW); //Wyłączenie diody } double odczyt; void loop(void) { sensors.requestTemperatures(); //Pobranie temperatury czujnika lcd.setCursor(0, 0); //Ustawienie kursora lcd.print(sensors.getTempC(termometrWewnetrzny)); lcd.println("'C W DOMU "); lcd.setCursor(0, 1); //Ustawienie kursora w odpowiednim momencie lcd.print(sensors.getTempC(termometrZewnetrzny)); lcd.println("'C ZA OKNEM "); sensors.requestTemperatures(); //Pobranie temperatury czujnika { if ( termometrWewnetrzny >24) { digitalWrite(7, HIGH); //Włącz diodę } else { //Jeśli warunek nie został spełniony delay(250); digitalWrite(7, LOW); //Wyłącz diodę } } delay(250); } RE: Podwójny termostat - namok - 04-10-2017 Niestety w pewnym momencie nie wystarczy kopiuj/wklej. Trzeba rozumieć co się w programie dzieje. Temperaturę wyświetlasz : Kod: lcd.print(sensors.getTempC(termometrWewnetrzny)); a porównujesz: Kod: if ( termometrWewnetrzny >24) Zastanów się co tu jest nie tak. RE: Podwójny termostat - norbii01 - 08-10-2017 (04-10-2017, 12:40)namok napisał(a): Niestety w pewnym momencie nie wystarczy kopiuj/wklej. Trzeba rozumieć co się w programie dzieje. RE: Podwójny termostat - norbii01 - 08-10-2017 Dzięki sam już doszedłem, wszystko działa pozdrawiam. RE: Podwójny termostat - mlamla - 27-12-2017 (08-10-2017, 20:42)norbii01 napisał(a): Dzięki sam już doszedłem, wszystko działa pozdrawiam. Jeśli coś Ci się udało to możesz ten kod prawidłowo działający zamieścić |