26-08-2019, 13:23
Na początku chciałbym zaznaczyć iż jestem początkującym programistą Arduino jeżeli w mojej wypowiedzi są jakiekolwiek błędne informacje to proszę o skorygowanie ich.
Sformatuj kod źródłowy, jeżeli używasz Arduiono IDE to naciśnij CTRL+T będzie bardziej czytelny dla Ciebie i innych osób.
Pierwszy odczyt zrealizowałbym w setup()
Jeżeli jesteś początkującym programistom to rozbiły bym projekt na mniejsze projekty tzn. obsługa menu, naciśnięcie przycisku i zmiana tekstu np. domyślnie tekst "czujnik1", naciśnięcie down tekst "czujnik2", itd. jak to będzie działać to bym dodał odczyt temperatury.
Trudno stwierdzić dlaczego się nie przełączają wyniki może czas oczekiwania na odczyt jest zbyt krótki, tego nie wiem i należałoby sprawdzić jaki jest czas odczytu z czujników. Spróbuj poniższą linię zmienić np. na 5000 i zobaczyć co się stanie.
Sformatuj kod źródłowy, jeżeli używasz Arduiono IDE to naciśnij CTRL+T będzie bardziej czytelny dla Ciebie i innych osób.
Kod:
void loop()
{
sensors.requestTemperatures(); // wysyłanie zapytania do czujników <= tą linie bym usunął
Pierwszy odczyt zrealizowałbym w setup()
Kod:
void setup() {
...
...
...
sensors.requestTemperatures();
//wyświetlenie danych na ekranie LCD
}
Jeżeli jesteś początkującym programistom to rozbiły bym projekt na mniejsze projekty tzn. obsługa menu, naciśnięcie przycisku i zmiana tekstu np. domyślnie tekst "czujnik1", naciśnięcie down tekst "czujnik2", itd. jak to będzie działać to bym dodał odczyt temperatury.
Trudno stwierdzić dlaczego się nie przełączają wyniki może czas oczekiwania na odczyt jest zbyt krótki, tego nie wiem i należałoby sprawdzić jaki jest czas odczytu z czujników. Spróbuj poniższą linię zmienić np. na 5000 i zobaczyć co się stanie.
Kod:
if (aktualnyCzas - zapamietanyCzas >= 1000UL){