• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
miganie 20x4
#1
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.
 
Odpowiedź
#2
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?
 
Odpowiedź
#3
(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ę.
 
Odpowiedź
#4
(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.
 
Odpowiedź
#5
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
 
Odpowiedź
#6
(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.
 
Odpowiedź
#7
Mam jakiś problem z dodaniem kodu. wyskakuje mi error.
 
Odpowiedź
#8
https://pastebin.com/ZYYLMqnR

To jest mój nieszczęsny kod
 
Odpowiedź
#9
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.
 
Odpowiedź
#10
(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.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości