Napsal: 04 pro 2019, 18:10
Předně zjisti co zdržuje. Myslím že to bude čtení údajů z Dallasů: ve funkci ctiServo ozávorkuj volání getTempC a vyzkoušej, jestli se servo dál seká.
Dále bych změřil dobu, jakou dobu skutečně trvá v synchronním režimu volání funkce requestTemperatures A tu hodnotu pak zadej do funkce tasker.setTimeout(ctiSensor, 750); místo těch 750.
Pak zvaž jestli skutečně potřebuješ 12 bitovou přesnost měření teploty. Trvá výrazně déle než 10 bitová přesnost.
Zvaž jestli servo opravdu potřebuješ nastavovat 20x za sekundu.
ve funkci ctiTeplotu je volání Serial.println(Tout1) chybné, hodnota Tout1 není v tu chvíli aktuální.
Dále bych změřil dobu, jakou dobu skutečně trvá v synchronním režimu volání funkce requestTemperatures A tu hodnotu pak zadej do funkce tasker.setTimeout(ctiSensor, 750); místo těch 750.
Pak zvaž jestli skutečně potřebuješ 12 bitovou přesnost měření teploty. Trvá výrazně déle než 10 bitová přesnost.
Zvaž jestli servo opravdu potřebuješ nastavovat 20x za sekundu.
ve funkci ctiTeplotu je volání Serial.println(Tout1) chybné, hodnota Tout1 není v tu chvíli aktuální.