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



Teraz jest 22 lut 2025, o 17:44


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 12 lis 2014, o 12:44 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 76
Pomógł: 0

witam,
to mój pierwszy post więc od razu witam serdecznie forumowiczów,
mam kłopot z wyświetlaczem OLED w kwestii włączania jego funkcji SLEEP i ON,
w datasheet jest coś w kwestii wysyłania komend do wyświetlacza ale to co wyczyniam nie inicjuje
ani wyłączania ani włączania wyświetlacza,
wyświetlacz jest na kontrolerze sdd1606 a biblioteka od adafruit,
będę wdzięczny za pomoc jak można uruchamiać te funkcje na arduino

pozdrawiam
paweł



Ostatnio edytowano 24 lis 2014, o 19:44 przez bigplik, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lis 2014, o 17:52 
Offline
Użytkownik
Avatar użytkownika

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

Kod jakiś od on off sleep masz? Bo tak to nie dam rady ci pomóc. Zreszta nie tylko ja.

Namazane ze smarta.

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



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

Dołączył(a): 12 lis 2014
Posty: 76
Pomógł: 0

Hej, znalazłem takie komendy na on off w adafruit

#define SSD1306_DISPLAYOFF 0xAE
#define SSD1306_DISPLAYON 0xAF

Ale nie wiem w jakiej formie je podać żeby wyświetlacz je odczytał



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2014, o 16:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 mar 2014
Posty: 745
Lokalizacja: Warszawa
Pomógł: 32

Witaj Kolego.
Ale komendy, które podajesz dotyczą zupełnie innego sterownika bo SSD1306.
W dokumentacji od Twojego sterownika 1606 znajdziesz komendę Deep Sleep mode w hex 0x10. Niestety typowej komendy On/Off chyba ten sterownik nie posiada, przynajmniej ja w datasheet nie znalazłem.

_________________
.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lis 2014, o 19:44 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 76
Pomógł: 0

hej, moja pomylka, wyswietlacz jest na ssd1306, jak go usypiac i wybudzac?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lis 2014, o 23:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 mar 2014
Posty: 745
Lokalizacja: Warszawa
Pomógł: 32

bigplik napisał(a):
hej, moja pomylka, wyswietlacz jest na ssd1306, jak go usypiac i wybudzac?

Jeśli tak no to używając właśnie powyższych komend, które przytoczyłeś.
W datasheed od sterownika ssd1306 w tabeli z komendami jest to opisane:

AEh, X[0]=0b:Display OFF (sleep mode) (RESET)
AFh X[0]=1b:Display ON in normal mode

Czyli właśnie wysyłając komendę 0xAE wyłączasz wyświetlacz i przechodzi on w tryb sleep mode, a komendą 0xAF wybudzasz go i zaczyna pięknie świecić.
Jeśli oglądałeś poradniki Pana Mirka o OLED-ach to jest tam funkcja do wysyłania komend. Główna część z wysyłaniem komend znajduje się w funkcji ssd1306_init.
Polecam przestudiowanie datasheet'a bo ten sterownik ma kilka fajnych funkcji sprzętowych.
Czy jakoś pomogłem w zrozumieniu tematu?

_________________
.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lis 2014, o 00:00 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 76
Pomógł: 0

Dziękuję za dalsze wyjaśnienia, oczywiście oglądam filmiki Mirka, ale program jest tam pisany od nowa i to eclipsie, ja używam Linuxa i programowalem do tej pory mój wyświetlacz w arduino IDE, do tej pory mi to wystarczało, eclipse nie chce się doinstalowac na moim Linux mint, pisałem do Mirka ws kodu z filmików po po chyba 4 odcinku nie miałem go całego, nie mogłem odczytać wszystkiego z youtuba, Mirek pisał że być może będą płyty z tych filmików, także póki co utknalem z ta linia komend, czy możesz mi w/s pomóc? Pozdrawiam

Wysyłane z mojego HTC One mini za pomocą Tapatalk 2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lis 2014, o 09:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 mar 2014
Posty: 745
Lokalizacja: Warszawa
Pomógł: 32

OK, to jeśli dobrze rozumiem to piszesz teraz program na Arduino z wykorzystaniem wyświetlacza OLED?
Jeśli tak to masz gotową bibliotekę Adafruit do obsługi tego wyświetlacza. Biblioteka składa się z dwóch plików:
Adafruit_SSD1306.cpp
Adafruit_SSD1306.h

W tej właśnie bibliotece masz zdefiniowane stałe dla różnych komend oraz funkcję do wysłania tychże komend.
Zatem w swoim programie (jeśli dołączysz tę bibliotekę) wystarczy użyć:

ssd1306_command(SSD1306_DISPLAYON);
lub
ssd1306_command(SSD1306_DISPLAYOFF);

Chyba, że pod Linuxem jakoś inaczej zorganizowane jest środowisko Arduino niż pod Windowsy. Na Linuxie niestety się nie znam i nie korzystam.

_________________
.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2014, o 19:26 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 76
Pomógł: 0

dziękuję za podpowiedzi, czekam teraz na drugi wyświetlacz, inny mam juz polutowany i zabudowany,
nie chcę go rozbierać, sprawdzę jak to działa kiedy odbiorę wyświetlacz i dam znać



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2014, o 20:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 mar 2014
Posty: 745
Lokalizacja: Warszawa
Pomógł: 32

No to czekamy na wieści :-)


Autor postu otrzymał pochwałę

_________________
.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 gru 2014, o 08:07 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 76
Pomógł: 0

sprawdziłem, wszystko działa ;)
funkcje wyłączają i włączają wyświetlacz
bardzo dziękuję za pomoc

btw. czy jest jakaś funkcja, która steruje poziomem jasności wyświetlacza,
czyli brightness?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 gru 2014, o 08:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 mar 2014
Posty: 745
Lokalizacja: Warszawa
Pomógł: 32

Witaj.
Dzięki za informacje zwrotną i ciesze się, że podpowiedzi zadziałały :)

Jeśli chodzi o jasność świecenia wyświetlacza to mamy możliwość sterowania tak naprawdę kontrastem - wyświetlacz OLED ma zupełnie inną konstrukcję niż np. typowe wyświetlacze TFT.
Aby zmieniać tę wartość musimy wysłać do naszego wyświetlacza odpowiednią komendę i potem wartość:

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

Wartości możesz wpisywać zarówno jako liczby dziesiętne jak i Hex czyli szesnastkowe. Im większa liczba tym większy kontrast.
Jeśli pomogłem to będę Ci wdzięczny za kliknięcie przycisku Pomógł :D


Autor postu otrzymał pochwałę

_________________
.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2014, o 11:43 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 76
Pomógł: 0

komenda działa ! ;)
bardzo dziękuję za pomoc

btw. czy jest jakiś sposób na obracanie obrazu na wyświetlaczach OLED
na sterowniku SSD1306 i kodzie Adafruit?
chodzi mi o obracanie o 180stopni, lub jak da radę to też o 90 i 270



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2014, o 13:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 mar 2014
Posty: 745
Lokalizacja: Warszawa
Pomógł: 32

Witaj.
Ciesze się, że zadziałało i dziękuję za kliknięcie pomógł :D
Odnośnie obracania obrazu to w bibliotece graficznej Adafruita w pliku Adafruit_GFX.cpp znalazłem taką funkcję:

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

Spróbuj zatem ją wywołać np. tak:

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

Powinno to spowodować obrót o 90 stopni :-)
Domyślna wartość zmiennej rotation wynosi 0, a analizując funkcję łatwo zauważyć, iż wartość 3 powoduje zamianę współrzędnych x na y oraz y na x.
Wartość z kolei 2 powoduje przywrócenie normalnego układu.

Niestety nie mam jak tego sprawdzić, ale mam nadzieję, że nie napisałem bzdur ;)


Autor postu otrzymał pochwałę

_________________
.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 sty 2015, o 21:12 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 76
Pomógł: 0

bardzo dziękuję,
znowu to co proponowałeś działa ;)



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

Dołączył(a): 16 mar 2014
Posty: 745
Lokalizacja: Warszawa
Pomógł: 32

Super, bardzo się cieszę i 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: 16 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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