Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 11:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 22 cze 2014, o 21:37 
Offline
Użytkownik

Dołączył(a): 22 gru 2012
Posty: 256
Lokalizacja: Rumia
Pomógł: 22

Witam
Kupiłem wyświetlacz alfanumeryczny OLED oparty na sterowniku WS0010. Sterownik ten jest kompatybilny ze standardowym HD44780. Podłączony tradycyjnie do mikrokontrolera działa bez problemu. Zachciało mi się jednak obsłużyć go poprzez I2C używając do tego celu PCF8574. Zacząłem szukać na forum informacji i w oparciu o wątek gdzie ten temat został poruszony napisałem stosowne funkcje. Niestety nie zadziałało :( Od tygodnia z tym walczę aż dziś w przebłysku "geniuszu" ;) wpadłem na pomysł żeby podłączyć zwykły wyświetlacz LCD. No i cud, wyświetlacz działa bez problemu po I2C. Podłączyłem ponownie OLED-a i ciemność. No i teraz brak mi już pomysłów co może być przyczyną tego że gdy jest podłączony do Atmegi to działa a poprzez PCF-a już nie, gdy pod tym samym programem zwykły LCD działa zarówno z Atmegi jak i z PCF-a po I2C.
Wiem że PCF ma małą wydajność prądową w stanie wysokim i tak się zastanawiam czy to może być przyczyną że wyświetlacz ten nie chce zadziałać gdy jest podłączony do PCF-a, lecz nie wiem jak temu zaradzić żeby to sprawdzić.
W linku poniżej jest dokumentacja tego wyświetlacza.
http://dl.btc.pl/kamami_wa/weh001602alpp5n00001.pdf

_________________
http://www.marcingibas.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 cze 2014, o 14:48 
Offline
Użytkownik

Dołączył(a): 22 gru 2012
Posty: 256
Lokalizacja: Rumia
Pomógł: 22

Znalazłem przyczynę nie działania wyświetlacza. Winny był mój debugger diodowy który sobie zmajstrowałem żeby sprawdzać co się dzieje na liniach danych wysyłanych do wyświetlacza. Niska wydajność prądowa PCF-a plus diody i zabrakło prądu do wysterowania wyświetlacza. Tydzień zmarnowany przez taką pierdołę :( No ale nic, kolejne doświadczenie zdobyte ;)

_________________
http://www.marcingibas.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 cze 2014, o 16:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Marcin_G napisał(a):
Znalazłem przyczynę nie działania wyświetlacza. Winny był mój debugger diodowy który sobie zmajstrowałem żeby sprawdzać co się dzieje na liniach danych wysyłanych do wyświetlacza. Niska wydajność prądowa PCF-a plus diody i zabrakło prądu do wysterowania wyświetlacza. Tydzień zmarnowany przez taką pierdołę :( No ale nic, kolejne doświadczenie zdobyte ;)

twoje meczarnie wyszly na + dla nas :)
wiesz dlaczego?

podzieliles sie rozwiazaniem i my tego bledu dzieki tobie nie popelnimy :)

Wysłane z telefonu

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 gru 2015, o 12:20 
Offline
Użytkownik

Dołączył(a): 05 lis 2013
Posty: 353
Lokalizacja: Kraków
Pomógł: 6

Witaj.
A dlaczego zdecydowałeś się na I2C a nie na wbudowaną obsługę SPI?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 gru 2015, o 18:28 
Offline
Użytkownik

Dołączył(a): 22 gru 2012
Posty: 256
Lokalizacja: Rumia
Pomógł: 22

Hmm, już dokładnie nie pamiętam ale chyba uznałem że tak będzie łatwiej :)

_________________
http://www.marcingibas.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 gru 2015, o 01:06 
Offline
Użytkownik

Dołączył(a): 05 lis 2013
Posty: 353
Lokalizacja: Kraków
Pomógł: 6

Witajcie ponownie.
Kontroler WS0010 pisze że jest kompatybilny z HD44870.
W trybie 4bit na bibliotekach Mirka działa poprawnie, ale nie mogę za nic odpalić trybu 8 bitowego. W zasadzie nie jest mi do niczego potrzebny, ale w celach nauki można spróbować.
Na początek różnice w datasheetach pomiędzy HD44870 a WS0010
ObrazekObrazek
Analogicznie do biblioteki Mirka próbuje w ten sposób inicjalizację przeprowadzić zgodnie z HD44870
na początek ustawienie portów na wyjścia, odczekanie na ustabilizowanie napięcia 100ms i startujemy
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


lub zgodnie z WS0010
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


funkcja send8bit wygląda tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W obu przypadkach wyświetlacz nie dycha.
znalazłem taki zapis w jakiejść bibliotece do WS0010
Initialization sequence is not quite as documented by Winstar. Documented sequence only works on initial power-up. An additional step of putting back into 8-bit mode first is required to handle a warm-restart. co nie brzmi zachęcająco.

i jeszcze mam takie pytanie. W dokumentacji zarówno HD jak i Winstara jest napisane, że LCD jest domyślnie inicjalizowany automatycznie po włączeniu zasilania w tryb 8 bit. To dlaczego to nie działa? Może błąd jest w funkcji send8bit?
INTERNAL RESET CIRCUIT INITIALIZATION
When power is turned ON, WS0010 is initialized automatically by an internal reset circuit . The following items are set (default) during the initialization.
1. Display clear
2. Function set:
DL="1": 8-bit interface data
N="0": 1-line display
F="0": 5 x 8 dot character font
3. Power turn off
PWR=”0”
4. Display on/off control: D="0": Display off C="0": Cursor off B="0": Blinking off
5. Entry mode set
I/D="1": Increment by 1
S="0": No shift
6. Cursor/Display shift/Mode / Pwr
S/C=”0”, R/L=”1”: Shifts cursor position to the right
G/C=”0”: Character mode
Pwr=”1”: Internal DCDC power on
The Busy Flag (BF) is in a busy state until the initialization is completed (BF="1"). The busy state will be
in effect 10 ms after VDD stabilization.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 cze 2017, o 12:25 
Offline
Nowy

Dołączył(a): 17 cze 2017
Posty: 1
Pomógł: 0

Czy ktoś ma jeszcze taki LCD Oled .....ja kupiłem w zastępstwie tzw. "zwykłego" z podświetleniem i kontrolą kontrastu ...jednak wynika z tego iż kontroler który jest na tym
lcd Oled tzn. WS0010 nie jest w pełni kompatybilny z HD44780 ! .... podłączyłem w/w linuxa i skrypt pythona który spokojnie działa na zwykłych lcd ( czytaj nie Oled ) a tu niestety
działa tylko do pierwszego uruchomienia ..potem LIPA :-( ... jeśli załącze drugi raz ten sam skrypt lub inny progran np lcdproc to są przekłamania ślaczli chaotyczne wpisy zs wszstkich wcześniej uruchomionych czy zamkniętych programów !...czyli raczej nie da się go normalnie użytkować ...no chyba że ktoś zna rozwiązanie ja nie znalazłem :-(
Lcd używam do OrangePi + lcdproc / mpc /mpd ( radio internetowe ) .... przez tzw. interfejs I2C a nie przez GPIO bo jest mniej przewodów tylko 4
pozdrawiam!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 13 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO