• 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
Modyfikacja kodu kalkulatora
#11
Należy też dodać, że z wnioskami z tych wykładów nikt na forach się nie zgadzał. Podłącz PCF8574 i baw się dobrze.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#12
(26-10-2018, 16:48)kaczakat napisał(a): Należy też dodać, że z wnioskami z tych wykładów nikt na forach się nie zgadzał.
Cyfry mówią same za siebie. Jeśli jednak czas odświeżania ekranu nie ma znaczenia, proponuję zmniejszyć taktowanie uC do 32kHz i się dobrze bawić

Czekam też na opis problemu:
- wyświetlacz przez konwerter I2C nie działa(albo czasem działa, czasem nie).
- wyświetlacz podłączony równolegle działa, czyli sprawny.
- inny wyświetlacz z konwerterem działa, czyli konwerter sprawny.
Z osobna wszystko działa, razem nie.

To tylko kwestia czasu aż się trafi ina taki problem. Początkujący, bez sprzętu i wiedzy, wyrwie wszystkie włosy, nie tylko z głowy, zanim rozwiąże problem.
 
Odpowiedź
#13
Zawsze można podłączyć w klasyczny sposób, sprawdzałem wczoraj po wlutowaniu w wyświetlacz i jakoś tam działa, do zabawy może wystarczy.
EDIT: puściłem odliczanie z prędkością 1ms miga tak szybko że mi to starczy jeżeli o szybkość Wink
 
Odpowiedź
#14
(26-10-2018, 17:23)muczak napisał(a): puściłem odliczanie z prędkością 1ms miga tak szybko że mi to starczy jeżeli o szybkość
Bo na 90% biblioteka źle generuje strob, przynajmniej ja z taką się spotkałem. Sprawdź, czy Th jest poprawne.

Ponadto nie jest używany sygnał BUSY. Z ekspanderem, BUSY by wydłużył obsługę wyświetlacza, ale gdy odczyt nie jest używany, nie można stwierdzić czy wyświetlacz jest podłączony.

Używasz małego wyświetlacza, spróbuj na 2x80 lub 4x40 albo 4x80. Wtedy zobaczysz jak żałośnie to działa.

No i biblioteka, na 99,9% nie używa przerwań, więc program główny wisi przez czas obsługi LCD a mógłby pracować. Tak więc, z wolnym ekspanderem, na małym LCD, można się pobawić i to wszystko. Poważnego projektu, zwłaszcza z dużym LCD, na tym raczej nie zrobisz.Przykładowo w projekcie er-mik.prv.pl/ctac, gdy użyjesz wyświetlacza 4x80 i poprawnego generowania strobu E, czas odświeżania całego LCD wyniesie 115ms (1/(100000/9/2/2/320)). Pętla główna natomiast, powinna się wykonywać w czasie poniżej 100ms. Można oczywiście kombinować ale po co? Nie prościej dać odpowiedni ekspander a najlepiej LCD z I2C?


Załączone pliki Miniatury
   
 
Odpowiedź
#15
Takie projekty to może i bym robił jak bym uczył się codziennie z rok po parę godzin. Ważne że, w razie czego można przecież podłączyć lcd w klasyczny sposób.
 
Odpowiedź
#16
(26-10-2018, 20:52)muczak napisał(a): Ważne że, w razie czego można przecież podłączyć lcd w klasyczny sposób.

Dlaczego więc nie podłączysz go interfejsem równoległym?
Widziałem wiele projektów, w których jest dużo wolnych GPIO a LCD podłączony jest przez kiepski konwerter. Gdzie sens? Gdzie logika?
Rozumie, jak brakuje GPIO, ale wtedy:
- jeśli jest możliwość podłączyć np klawiaturę przez ekspander
- użyć wyświetlacza z LCD
- użyć ekspandera fast speed 16-bit.

Dobrych nawyków trzeba się uczyć od początku.
 
Odpowiedź
#17
@muczak, nie ważne ile razy odpowiesz, ES2 jest "ekspertem" i znajdzie dziurę w twojej logice. Dla mnie jest oczywiste, że na stykówce 2 linie SDA I SDL jest łatwiej początkującemu w Arduino podłączyć i trudniej o błąd, wypięty/uszkodzony/niełączocy kabelek, że Tobie wystarczy odświeżanie 10Hz, a czas komunikacji 10ms to fraszka, itd., ale ES2 patrzy przez pryzmat pół wieku swojego doświadczenia (nie z Twojej perspektywy, nie ze swojej gdy sam zaczynał jako bajtel amator, ale ze swojej starego wyjadacza i projektów komercyjnych z taśmy produkcyjnej), że to nie ma sensu i już. I może mi teraz udowodni, że jego odpowiedź nie musi być na końcu każdej dyskusji, ale wątpię.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#18
LCD po 1-Wire jeszcze łatwiej podłączyć niż po I2C. Dlaczego nikt na to nie wpadł?
Co do odświeżania, jak widzę odrysowywanie zawartości LCD to oznacza, że projekt jest zrobiony źle. Zawartość ekranu może być odświeżana i co minutę, ważne aby rysowanie było nie zaóważalne, dlatego jak zobaczyłem LCD 320x240 kolor 16-bit podłączone do Arduino magistrala -bit przez GPIOa nie ExtRAM, to ogarnął mnie śmiech. Odpaliłem to i i efekt był żałosny. Rysowanie całego ekranu (np kasowanie) to czas ponad 1 sekundy! Po co w ogóle podłączać taki LCD? Widziałem też oferty LCD 640x480 do Arduino ze sterownikiem równoległym (co innego gdyby to byłFT8xx). Po prostu śmiech. Kasowanie ekranu 5 sekund? Chore.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości