Adafruit mono OLED (SSD1306 128x64, 128x32 itp.)

Masz problem z Arduino? Tutaj możesz szukać pomocy.
ODPOWIEDZ
Awatar użytkownika
Karl
Majsterkowicz
Posty: 55
Rejestracja: 3 gru 2014, 10:00

Adafruit mono OLED (SSD1306 128x64, 128x32 itp.)

Post autor: Karl » 11 cze 2018, 08:17

Nigdzie nie mogę wykopać wiadomości, czy daje się jakoś w prosty sposób nadać wyświetlanym obiektom translację. Np. x-1 y5.
Znalazłem jedynie "scroll", ale on przesuwa dynamicznie na zasadzie przewijania.
Podpowiecie ?

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Awatar użytkownika
Slawek
Starszy majsterkowicz
Posty: 451
Rejestracja: 29 mar 2015, 15:05

Re: Adafruit mono OLED (SSD1306 128x64, 128x32 itp.)

Post autor: Slawek » 13 cze 2018, 06:19

A mozesz jaśniej co rozumiesz przez "translacja" ? bo zakładam, ze chyba nie chodzi o proces syntezy łańucha, białek zgodnie z tym, co standardowo oznacza to słowo.

Pozdr


Pozdr
Awatar użytkownika
Karl
Majsterkowicz
Posty: 55
Rejestracja: 3 gru 2014, 10:00

Re: Adafruit mono OLED (SSD1306 128x64, 128x32 itp.)

Post autor: Karl » 13 cze 2018, 08:47

O ile genetyki nie każdy musiał liznąć, to translacja w kontekście matematyki nie ominęła chyba nikogo.
W tele-skrócie: przesunięcie całego obiektu o wektor.
https://pl.wikipedia.org/wiki/Translacja_(matematyka)
Awatar użytkownika
Slawek
Starszy majsterkowicz
Posty: 451
Rejestracja: 29 mar 2015, 15:05

Re: Adafruit mono OLED (SSD1306 128x64, 128x32 itp.)

Post autor: Slawek » 15 cze 2018, 20:27

Zatem w czym tkwi Twój problem ? przecież każdy element (linia, okrąg itp.) ma współrzędne (x, y), więc możesz sobie wpisać tak np. (10+x, 10+y) i wystarczy zadeklarować zmienną x np. x = 5 i y = 10 przed wyświetleniem elementy, wtedy współrzędne będziesz miał (10+5, 10+10) czyli (15, 20).

Pozdr
MrLewerence
Majsterkowicz
Posty: 162
Rejestracja: 12 paź 2013, 20:48

Re: Adafruit mono OLED (SSD1306 128x64, 128x32 itp.)

Post autor: MrLewerence » 15 cze 2018, 21:47

Podejrzewam, że chodzi o szybki trik polegający na tym, że przesunięcie takiego elementu ma powodować przesuwanie innych o taki sam wektor...
Ewentualnie definiować początek ekranu w innym punkcie niż 0,0.
Awatar użytkownika
Karl
Majsterkowicz
Posty: 55
Rejestracja: 3 gru 2014, 10:00

Re: Adafruit mono OLED (SSD1306 128x64, 128x32 itp.)

Post autor: Karl » 20 cze 2018, 19:48

O to dokładnie chodzi! Umyśliłem sobie wykonanie termometru z wykresem. Co zadany okres czasu cała wyświetlona dotychczas grafika przesuwa się i 1 pixel, a w pustym miejscu zainicjowany zostaje bieżący odczyt.
Awatar użytkownika
ethanak
Złota rączka
Posty: 782
Rejestracja: 21 lis 2015, 14:41
Kontakt:

Re: Adafruit mono OLED (SSD1306 128x64, 128x32 itp.)

Post autor: ethanak » 20 cze 2018, 21:28

Masz tam funkcje startscrollright/startscrollleft z przylegościami... poszukaj w dokumentacji co one robią. Przecież to dokładnie to, co chcesz osiągnąć... ktoś tam pisał o skrolowaniu o jeden piksel ale nie bardzo mogę to teraz znaleźć (nie mam takiego wyświetlacza).
Pisze człowiek ambitnie, a tu przychodzi prostak i wszystko rozumie.
To jest ewidentna bezczelność!
MrLewerence
Majsterkowicz
Posty: 162
Rejestracja: 12 paź 2013, 20:48

Re: Adafruit mono OLED (SSD1306 128x64, 128x32 itp.)

Post autor: MrLewerence » 20 cze 2018, 22:51

Nielubiana przeze mnie biblioteka...
Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/
Potrafi robić to o co pytasz... musisz się w nią wczytać...
MrLewerence
Majsterkowicz
Posty: 162
Rejestracja: 12 paź 2013, 20:48

Re: Adafruit mono OLED (SSD1306 128x64, 128x32 itp.)

Post autor: MrLewerence » 21 cze 2018, 01:17

Post pod postem...

Taka podpowiedź... Ryby Ci nie dam, ale powiem gdzie leży wędka...

Pytasz o translację obiektów na ekranie oled.
Masz jakiś gotowy przykładowy program demo?
Chyba każda biblioteka jest w przykłady zaopatrzona... Zobacz jak realizowane są funkcje rysowania ruchomych obiektywów.
Bardzo dobrze to co chcesz zrobić, widać na przykładzie rysowania sinusoidy...
Ładnie to również widać w przykładzie z piłką odbijającą się od ściany...
Przykłady z biblioteki trzeba nie tylko wgrać w mikrokontroler, by zobaczyć jak działa program... Trzeba analizować co i na co ma wpływ...
ODPOWIEDZ

Strony partnerskie: