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



Teraz jest 28 mar 2026, o 12:59


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 
Autor Wiadomość
PostNapisane: 14 gru 2015, o 21:22 
Offline
Użytkownik

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

Witajcie.
Zakupiłem taki wyświetlacz OLED 2x20 symbol REG010016FWPP5N0. Ponieważ jest kompatybilny z HD44870 to podłączyłem go od razu do zestawu ATB i w sumie działa ale co jakiś czas przelatują po nim losowo piksele. Program najprostszy z możliwych. Pin Reset podłączony do mikrokontrolera..
Czy to wadliwa sztuka czy te wyświetlacze tak mają.
w pętli while wyświetlam tylko
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

film z działaniem takiego OLEDA jest tutaj
https://www.youtube.com/embed/cJ9erAYwNK8
Mam kilka pytań odnośnie tego OLEDA
1. To jest wyświetlacz graficzny a zachowuje się jak alfanumeryczny - jaka jest w związku z tym różnica
2. Pisze że obsługuje interfejsy
6800
opcjonalnie 8080
opcjonalnie SPI
ale w dokumentacji nie ma słowa o SPI



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 gru 2015, o 22:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Nie jest to normalny efekt jak raz wpisałeś coś do wyświetlacza i on tylko to wyświetla (potwierdź, bo może robisz ciągłe pisanie w pętli)

Sprawdź czy na pewno poprawnie inicjalizujesz wyświetlacz. Bo może włączasz jakieś dziwny tryb / odświeżanie?

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 gru 2015, o 23:14 
Offline
Użytkownik

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

Tak - to jest w pętli while(1) czyli ciągle odświeżane
Na razie to jest statyczny tekst, ale docelowo ma być na tym zegarek, Voltomierz i inne funkcje i musi być odświeżany dość często.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 gru 2015, o 23:51 
Offline
Użytkownik
Avatar użytkownika

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

iwi napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



iwi napisał(a):
Tak - to jest w pętli while(1) czyli ciągle odświeżane
Na razie to jest statyczny tekst, ale docelowo ma być na tym zegarek, Voltomierz i inne funkcje i musi być odświeżany dość często.


Dość często to ile 1 raz na sekundę, 2 razy na 1 sek ?

Ciągle w pętli hmm pomyśl ile set? Tysięcy razy na 1 sekundę teraz ci wpisuje dane w tym momencie?

Namazane ze smarta.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 gru 2015, o 00:15 
Offline
Użytkownik

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

Nie mierzyłem dokładnie, ale nawet delay 100ms nie pomaga - zresztą czy to ma znaczenie? Przecież podpięte są wszystkie PINY wyświetlacza do Atmegi i zaznaczone jest w inicjalizacji że ma używać pinu R/W (#define USE_RW 1)więc nie powinien nic wysyłać nowego dopóki starego nie skończy.
Ale sprawdzałem na delayach i doszedłem do 200ms i ciągle pojawiają się te pixele. już jest lepiej ale ciągle co jakiś czas jakiś pixel wyskakuje.
Dopiero Na 500ms nie widziałem już efektów ubocznych.

Przy tych samych uistawieniach wyświetlacz alfanumeryczny "zwykły" działa normalnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 gru 2015, o 00:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Podaj też co tam jeszcze robisz z tym wyświetlaczem w tej pętli. Bo może to jest przyczyną takiego zachowania.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 gru 2015, o 00:37 
Offline
Użytkownik

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

To jest cały kod.
Film jest nagrany bez delaya, ale z delayem jest dużo lepiej ale nie idealnie.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 gru 2015, o 00:55 
Offline
Użytkownik

Dołączył(a): 08 mar 2014
Posty: 398
Lokalizacja: Głogów
Pomógł: 11

Daj dużo większe odstępy czasu w tym delay np 1000 ms.



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

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

to w takim razie wyświetlacz nie radzi sobie z obsługą R/W?
Zastosowanie delaya 1s rozwiązuje problem, ale czy tak to ma byc?

Druga sprawa to proszę potwierdźcie - czy taka jest różnica pomiędzy alfanumerycznym a graficznym, że w graficznym nie ma odstępów pomiędzy literami?
a jeśli tak to czy jest możliwość zrobienia z 2x20 1x20 ale o większych literach.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 gru 2015, o 01:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

A sprawdzałeś czy dodanie malutkiego opóźnienia po wystawieniu danej a przed zmianą linii E coś daje?
Sprawdź też czy coś pomoże przy takiej samej zmianie, ale między innymi momentami sterowania liniami E i RW.
Czy jak nie używasz RW a zwykle delaye to masz ten sam efekt?

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 1 minucie ]

Chodzi o zmiany w funkcjach bibliotecznych.

------------------------ [ Dodano po: 4 minutach ]

Na wyświetlaczu alfanumerycznym wpisujesz kod znaku i jest on wyświetlany a pozycje znaków są predefiniowane. Na graficznym możesz sterować każdym pixelem i rysować co chcesz.



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

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

czy odczytujemy Busy Flag czy nie to efekt taki sam.
Opóźnienie po wysłaniu danych jak jest 1ms to pojawiają się te artefakty, jak jest 10ms to już nie, ale za to dane wyświetlane są pół sekundy :)
Sprawdzałem w dokumentacji WS0010 i jest napisane że czasy są takie same jak w zwykłym wyświetlaczu - 150us powinno wystarczyć - powinno a nie wystarcza.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 gru 2015, o 22:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
A sprawdzałeś czy dodanie malutkiego opóźnienia po wystawieniu danej a przed zmianą linii E coś daje?

Chodziło mi o dodanie opóźnień przy zatrzaskiwaniu danych, czyli po wystawieniu danej na port a przed ustawieniem linii E. I tutaj to raczej dodanie maksymalnie do kilku NOPów a nie milisekundowych delayów.

--
Pozdrawiam,
Robert



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

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

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


wstawianie krótszego opóźnienia nic nie daje
sprawdzę jeszcze na drugim wyświetlaczu alfanumerycznym a nie graficznym - mam dostać jutro więc wrócę do testów.



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

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

dambo napisał(a):
ja napiszę coś trochę obok tematu: kolega chce odświeżać mega często wyświetlacz, ale pytanie po co? Mając tam zegarek odświeżamy raz na sekundę tak naprawdę jeden znak, dwa co 10 sek itp.


tutaj masz całkowitą rację i docelowo tak będzie, ale kupiłem wyświetlacz i trochę chcę go potestować. Skoro pisze że odświeżanie jest na poziomie zwykłego to zastanawia mnie to dlaczego tak się nie dzieje.
a co do projektu to wystarczy wysyłać dane co tyknięcie zegara :) sprawdza i to działa - jeśli chodzi o zegar.
Gorzej z ADC bo głupio wygląda pomiar co sekundę, ale też lepsze niż te kropeczki latające po ekranie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 gru 2015, o 17:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Ciężko jest coś sensownego Ci doradzić :( Możesz jeszcze popróbować zrobić kilka róznychtestó i one coś więcej powiedzą lub na coś naprowadzą:
- przetestuj wyświetlanie cały czas takich samych liter, np. małe o, na wszystkich pozycjach
- użyj trybu 8bit
- wyświetlaj tekst tylko w jednej linii
- wyświetlaj tekst, ale tylko w części wyświetlacza

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 6 minutach ]

Sprawdź jeszcze jak dodasz małego delaya przed i po każdej zmianie linii E (CLR_E i SET_E) - z pokazanego kodu wynika że dodawałeś tylko po wystawieniu danej. A może to pomoże - jak mówią tonący chwyta się brzytwy :)

------------------------ [ Dodano po: 7 minutach ]

Mały delay to kilka us. Więc danie >= 5ms to już nie można nazwać małym :(



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

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

rskup napisał(a):
- przetestuj wyświetlanie cały czas takich samych liter, np. małe o, na wszystkich pozycjach

nic to nie daje - cały czas bez zmian

rskup napisał(a):
- użyj trybu 8bit
a tutaj mam problem z przerobieniem biblioteki na 8 bit.
Inicjalizacja przebiega poprawnie, a potem wszystko wariuje.
rskup napisał(a):
- wyświetlaj tekst tylko w jednej linii

nic to nie daje - cały czas bez zmian
rskup napisał(a):
- wyświetlaj tekst, ale tylko w części wyświetlacza

nic to nie daje - cały czas bez zmian

Dodatkowo podłączyłem wyświetlacz REC002002AGPP5N0 OLED;alfanumeryczny;20x2;Wymiary okna:85x18,6mm
inny model, kolor zielony dodatkowo alfanumeryczny a ciągle te kropki wariują.
Widocznie WS0010 to jednak nie to samo0 co HD440870



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2015, o 11:54 
Offline
Nowy

Dołączył(a): 04 gru 2013
Posty: 3
Lokalizacja: Nowy Sącz
Pomógł: 0

mam podobny wyswietlacz OLED Winstar 2x16 na tym samym sterowniku i tez mam takie artefakty, byc moze to wynika z ich natury (OLED)? moze ten sterownik cos nie tak ma, nie wiem... jak wysylasz ciagle do niego w petli to tak sie robi, napisz poprostu program tak zeby wysylal do LCD wtedy gdy trzeba, gdy cos sie zmienia tak jak sugerowal juz wczesniej kolega dambo, ja tak zrobilem i problemu nie mam :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2015, o 03:25 
Offline
Użytkownik

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

Dziękuję - tak zapewne zrobię, ale dopóki urządzenie jest w fazie testów to próbuję wycisnąć na maxa tego WS0010.
Podstawia klient samochód do mechanika i mówi że coś mu stuka od prędkości 100km/h wzwyż, a mechanik na to - proszę jeździć wolniej
To co proponujecie mniej więcej takie rozwiązanie mechanika.
Wydaje mi się że problem leży w kompatybilności z HD44870 (a w zasadzie z brakiem) - próbuje dlatego zmienić inicjalizację.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2015, o 15:52 
Offline
Nowy

Dołączył(a): 04 gru 2013
Posty: 3
Lokalizacja: Nowy Sącz
Pomógł: 0

a sprobuj jeszcze jesli masz mozliwosc wysterowac ten lcd po SPI, tyle ze w przypadku mojego OLED'a firmy Winstar zeby uruchomic tryb SPI musze przelutowac elementy na PCB wyswietlacza, byc moze u Ciebie jest podobnie (..bo wspominales ze nie znalazles info jak to obslugiwac)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2015, o 23:13 
Offline
Użytkownik

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

napisałem do producenta bezpośrednio i pośrednio przez TME - może odpowiedzą jak wysterować przez SPI i dlaczego są te artefakty.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sty 2016, o 11:17 
Offline
Nowy

Dołączył(a): 04 sty 2016
Posty: 7
Pomógł: 0

Właśnie myślałem żęby sobie ogarnać to też ale widzę jak są takie problemy z artefaktami to nie wiem czy się opłaca bo po co się meczyć.

_________________
tworzenie stron internetowych



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: 21 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Majestic-12 [Bot], Marhef i 1 gość


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