Arduino Polska Forum

Pełna wersja: miganie 20x4
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
Witam. Problem dotyczy irytującego migania wyświetlacza lcd 20x4. Chodzi oto że kiedy opóźnienie jest w granicach 1000 to jest to jeszcze do przyjęcia ale wtedy blokuje mi kod, a zaś 250 przy którym kod zachowuje się dobrze (dla działania kodu) powoduje irytujące migotanie. Mam świadomość że jest to związane z częstotliwością odświeżania lcd ale czy jest jakieś rozwiązanie na taką przypadłość?? W kodzie wywoływane są dwie funkcje na przemian wybierane przyciskiem. Każda z nich przekazuje do wyświetlacza parametry z różnych czujników.
Nie pokazałeś kodu programu, myślisz,że tu sami wróżbici ale tak nie jest. Skontaktowałem się z Wróżbitą Maciejem i powiedział, że używasz delay. Rozwiązaniem jest nie używać ich.
Inny wróżbita powiedział, że używasz CLS przed wyświetleniem treści. Jeszcze inny, że konwertera I2C na przestarzałym PCF8574.
Jak wypiję herbatę, to powróżę jeszcze z fusów. Może cos wyjdzie, a może wcześniej pokażesz kod?
(20-11-2018, 17:28)es2 napisał(a): [ -> ]Nie pokazałeś kodu programu, myślisz,że tu sami wróżbici ale tak nie jest. Skontaktowałem się z Wróżbitą Maciejem i powiedział, że używasz delay. Rozwiązaniem jest nie używać ich.
Inny wróżbita powiedział, że używasz CLS przed wyświetleniem treści. Jeszcze inny, że konwertera I2C na przestarzałym PCF8574.
Jak wypiję herbatę, to powróżę jeszcze z fusów. Może cos wyjdzie, a może wcześniej pokażesz kod?

To niebywałe że pokładasz swą wiedzę w osobach ze zdolnościami nadprzyrodzonymi, ale coś w tym jest Big Grin  Wink . Kod podeślę jak tylko z pracy do domu wrócę.
(20-11-2018, 18:04)ferdricco napisał(a): [ -> ]To niebywałe że pokładasz swą wiedzę w osobach ze zdolnościami nadprzyrodzonymi, ale coś w tym jest
Tonący brzytwy się chwyta i szuka pomocy u wróżek, bioenergoterapeutów, kleru i u innych oszustów.

Zastanawia mnie to, dlaczego wiele postów gdzie kod jest niezbędny, kodu tego nie zawiera. To tak jak leczyć się czy naprawiać samochód przez telefon nie mając pojęcia o leczeniu czy samochodach. Czasem to się uda, ale bardzo rzadko.
Mnie pewnie się udało zdiagnozować problem (na 99% trafiłem) ale wyleczyć pewnie się nie uda, bo niby jak, nie widząc kodu? Lekarz też zdiagnozuje pewne choroby z opisu ale aby podjąć leczenie, trzeba zrobić kompleksowe badania a tych przez telefon, jak na razie, zrobić się nie da.

PS
Naprawiałem kiedyś telewizor przez telefon ale obaj rozmówcy byli fachowcami.
Jeśli znasz C/C++ to moje wskazówki wystarcza aby rozwiązać problem. Obawiam się jedna,ze nie znasz C/C++, bibliotek Arduino i kod piszesz metoda prób i błędów. Okaże się, jak zobaczę kod.
I najważniejsze pytanie, czy na pewno jest sens aktualizowania danych na wyświetlaczu co 250ms ?
O ile dane z czujników można pobierać sobie w "czasie rzeczywistym", o tyle aktualizowanie danych na LCD bym ograniczył do 1.5s
(20-11-2018, 19:12)es2 napisał(a): [ -> ]
(20-11-2018, 18:04)ferdricco napisał(a): [ -> ]To niebywałe że pokładasz swą wiedzę w osobach ze zdolnościami nadprzyrodzonymi, ale coś w tym jest
Tonący brzytwy się chwyta i szuka pomocy u wróżek, bioenergoterapeutów, kleru i u innych oszustów.

Zastanawia mnie to, dlaczego wiele postów gdzie kod jest niezbędny, kodu tego nie zawiera. To tak jak leczyć się czy naprawiać samochód przez telefon nie mając pojęcia o leczeniu czy samochodach. Czasem to się uda, ale bardzo rzadko.
Mnie pewnie się udało zdiagnozować problem (na 99% trafiłem) ale wyleczyć pewnie się nie uda, bo niby jak, nie widząc kodu? Lekarz też zdiagnozuje pewne choroby z opisu ale aby podjąć leczenie, trzeba zrobić kompleksowe badania a tych przez telefon, jak na razie, zrobić się nie da.

PS
Naprawiałem kiedyś telewizor przez telefon ale obaj rozmówcy byli fachowcami.
Jeśli znasz C/C++ to moje wskazówki wystarcza aby rozwiązać problem. Obawiam się jedna,ze nie znasz C/C++, bibliotek Arduino i kod piszesz metoda prób i błędów. Okaże się, jak zobaczę kod.
I tu kolego masz......  racje. Jestem tysiąc procentowym laikiem.
Mam jakiś problem z dodaniem kodu. wyskakuje mi error.
https://pastebin.com/ZYYLMqnR

To jest mój nieszczęsny kod
Witam,
Bardzo prawdopodobne, że przyczyną migania jest: lcd.clear() w funkcjach praca() i manual(). Spróbuj to usunąć z funkcji, a zamiast tego zastosować "maskowanie", czyli bez czyszczenia zawartości wyświetlacza, stary tekst przysłaniaj nowym.
Pozdrawiam,
Tomek.
(21-11-2018, 11:14)Smaczek napisał(a): [ -> ]Witam,
Bardzo prawdopodobne, że przyczyną migania jest: lcd.clear() w funkcjach praca() i manual(). Spróbuj  to usunąć z funkcji, a zamiast tego zastosować "maskowanie", czyli bez czyszczenia zawartości wyświetlacza, stary tekst przysłaniaj nowym.
Pozdrawiam,
Tomek.

Już ogarnięte. lcd.clear(); wywołuje jednorazowo w momencie przelaczania funkcji. delay(); wyżuciłem.
Stron: 1 2