
a teraz do rzeczy.
Udało mi się poprawić i dodać kilka drobiazgów dzięki którym 8 czujników DS działa.
W załączeniu soft który na początku odczytuje do 8 czujników i podaje takie informacje:
- czy czujnik/czujniki są zasilane pasożytniczo
- adresy urządzeń
- rozdzielczość (o tym później za chwilę)
- no i temperatury z poszczególnych DS
Po odczytaniu adresów najlepiej przepisać je do linijek jak poniżej:
DeviceAddress jeden = { 0x28, 0xFF, 0xE8, 0x00, 0xB6, 0x16, 0x03, 0x65 };
na początku skieczu opisałem też co należy usunąć jak już wpiszemy wszystkie adresy.
Teraz trochę informacji o tym co to jest "rozdzielczość" odczytu czujników DS.
Dla 9 bitów są 2 podziałki między kolejnymi stopniami: 0,0 0,5
Czyli możemy odczytać temperaturę z rozdzielczością 0,5 °C. Dla tej rozdzielczości czas pomiaru wynosi 93,75 ms. Czyli możemy wykonywać 10,6 pomiarów na sekundę.
Dla 10 bitów są 4 podziałki między kolejnymi stopniami: 0,0 0,25 0,5 0,75
Tu odczytujemy temperaturę z rozdzielczością 0,25 °C. Czas pomiaru dla tej rozdzielczości wynosi 187,5 ms, co pozwala na 5,3 pomiarów na sekundę
Dla 11 bitów jest 8 podziałek między kolejnymi stopniami: 0,0 0,125 0,25 0,375 0,5 0,625 0,75 0,875
Czyli rozdzielczość wynosi 0,125 °C Czas pomiaru dla tej rozdzielczości wynosi 375 ms. co pozwala na 2,6 pomiaru na sekundę.
Dla 12 bitów jest 16 podziałek między kolejnymi stopniami: 0,0 0,0625 0,125 0,1875 0,25 0,3125 0,375 0,4375 0,5 0,5625 0,625 0,6875 0,75 0,8125 0,875 0,9375
Czyli rozdzielczość jest na poziomie 0,0625 °C Czas pomiaru wynosi w tym przypadku 750 ms, czyli możesz dokonać 1,3 pomiaru na sekundę.
Standardowo DS jest ustawiony na 12 bitów i w zasadzie jeden pomiar na ok 1 sekundę to teoretycznie ESP daje radę razem z SUPLĄ ale,
pytanie czy nam jest potrzebna taka dokładność? schodząc do 10 bitów odczyt z czujników jest już na poziomie zadowalającym ni najważniejsze działa odczyt z 8 czujników.
Druga sprawa i tu zwracam się z pytaniem i prośbą o pomoc odnośnie pętli odczytu czujników, zauważyłem, że funkcja
odczytuje wszystkie czujniki na raz i w zasadzie wystarczyło by teraz te dane rozesłać na poszczególne kanały, w programie natomiast jest tak, że odczyt z czujników jest 8 razy a to spowalnia wyświetlanie pomiarów.sensors.requestTemperatures();
Na dzień dzisiejszy nie potrafię tego w SUPLI zmienić, ale może komuś się to uda.
*************************
Zmodyfikowałem odczyt i wysyłkę z DS odczyt jest tylko raz a potem wysyłka i faktycznie różnica jest widoczna

Dzięki Espablo za podpowiedz.