Strona 1 z 1

Supla+Arduino+odczyt_temperatury

: pn sty 23, 2017 4:40 pm
autor: P4tryk
Witam
Testuję odczyt temperatury z DS18B20 przy pomocy Supla+Arduino. Przykładowa funkcja działa poprawnie gdy pod zmienną t podstawiam wartość odczytaną z DS18B20. Gdy do zmiennej t przypiszę ręcznie wartość - całość nie działa - Supla nie pokazuje temperatury, jedynie trzy kreski. Poniżej przykładowy kod:

float get_temperature(int channelNumber, double last_val) {
float t = -275;
if ( sensors.getDeviceCount() > 0 )
{
sensors.requestTemperatures();
t = sensors.getTempCByIndex(0);
//t = 15.6790;
};
Serial.println(t);
return t;
}

Wydaje mi się że powinno działać, a jednak nie działa. Co robię źle? Czytałem inne wątki i rozumiem że idea jest taka, iż mogę pod zmienną t podstawić wartość odczytaną z całkiem innego czujnika i także powinno być OK.

Re: Supla+Arduino+odczyt_temperatury

: pn sty 23, 2017 5:03 pm
autor: pzygmunt
Podstaw 15.67
Musi nastąpić zmiana temperatury dlatego przy pierwszym odczycie daj np 15.67, a przy drugim 15.68

Re: Supla+Arduino+odczyt_temperatury

: pn lut 13, 2017 4:46 pm
autor: P4tryk
Dziękuję, faktycznie działa.
Jak często jednak powinny odbywać się zmiany temperatury, lub komunikacja z serwerem SuplaDevice.iterate(); ?
Mam tą czynność w pętli z opóźnieniem delay(3000) i znikają mi odczyty (---), a później pojawiają się po jakimś czasie. Czy powodem będzie to opóźnienie, lub przy np. dłuższym braku zmian temperatury serwer traktuje czujnik jak nieobecny ?

Re: Supla+Arduino+odczyt_temperatury

: wt lut 14, 2017 8:35 am
autor: pzygmunt
Nie dawaj opóźnień w pętli.
Jeżeli potrzebujesz wykonywać w pętli coś dodatkowego z opóźnieniem to licz czas i nie zatrzymuj wykonywania.