Witam
Kurcze... zaraz dostane białej gorączki :-)
Skąd wiesz, że jest dobrze? Skąd wiesz jaką temperaturę zwraca Ci każdy z czujników skoro w całym programie tylko raz .....i tylko w setupie() ją wyświetlasz!!!
Masz w setupie() tylko to:
...czyli za pomocą funkcji getTempIndex(0) czytasz temperaturę niby z pierwszego czujnika... NIBY...bo nie wiadomo czy pierwszy czujnik ma index (0).
Potem w programie też tylko porównujesz temperaturę jaką zwraca Ci wirtualny i nieznany (bo niezdefiniowany wcześniej) czujnik z np 27 st. C i program robi co chce.
Sprawdzałeś chociaż raz co zwracają te czujniki?
Na przykład zmodyfikuj czujnik1() i dodaj tam odczyt temperatury:
....potem ogrzewaj czujnik i zobacz czy Ci się zmienia temperatura.
Jeśli nadal nic to wywal wszystko z loopa i daj tam tylko czujnik1();
MUSI działać !!!!
Jeśli nie - to oznacza, że jednak czujniki NICZEGO nie mierzą, bo nie są zdefiniowane NIESTETY :-)
Pozdrawiam i jeszcze raz odsyłam do przeczytania ze zrozumieniem linka opisującego jak korzystać z Dallasów.
... ps. i POPROSIMY CAŁY KOD !!!
Kurcze... zaraz dostane białej gorączki :-)
Skąd wiesz, że jest dobrze? Skąd wiesz jaką temperaturę zwraca Ci każdy z czujników skoro w całym programie tylko raz .....i tylko w setupie() ją wyświetlasz!!!
Masz w setupie() tylko to:
Kod:
lcd.setCursor(1,0);
lcd.print("Czujnik-1: ");
lcd.print(sensors.getTempCByIndex(0));
...czyli za pomocą funkcji getTempIndex(0) czytasz temperaturę niby z pierwszego czujnika... NIBY...bo nie wiadomo czy pierwszy czujnik ma index (0).
Potem w programie też tylko porównujesz temperaturę jaką zwraca Ci wirtualny i nieznany (bo niezdefiniowany wcześniej) czujnik z np 27 st. C i program robi co chce.
Sprawdzałeś chociaż raz co zwracają te czujniki?
Na przykład zmodyfikuj czujnik1() i dodaj tam odczyt temperatury:
Kod:
void czujnik1()
{
sensors.requestTemperatures();
//----- te 4 linie dodałem do Twojej funkcji : ------
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Czujnik-1: ");
lcd.print(sensors.getTempCByIndex(0));
if(sensors.getTempCByIndex(0) < 27)
{
digitalWrite( wentylewy, HIGH);
} else
{
digitalWrite( wentylewy, LOW);
}
....potem ogrzewaj czujnik i zobacz czy Ci się zmienia temperatura.
Jeśli nadal nic to wywal wszystko z loopa i daj tam tylko czujnik1();
MUSI działać !!!!
Jeśli nie - to oznacza, że jednak czujniki NICZEGO nie mierzą, bo nie są zdefiniowane NIESTETY :-)
Pozdrawiam i jeszcze raz odsyłam do przeczytania ze zrozumieniem linka opisującego jak korzystać z Dallasów.
... ps. i POPROSIMY CAŁY KOD !!!