Skocz do zawartości

Duże ekrany SPI do mikrokontrolera


TadzikT

Pomocna odpowiedź

@TadzikT, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.

14 minut temu, TadzikT napisał:

Czy znacie większe ekrany dotykowe (min 7 '') do podłączenia z mikrokontrolerem przez SPI?

Podaj trochę więcej informacji - jakie dokładnie ekrany Cie interesują? Kolorowe, z panelami dotykowymi, LCD, OLED, epapier? Szukasz tylko dużego rozmiaru, czy również dużej rozdzielczości? Jest trochę niewiadomych 😉 

Link do komentarza
Share on other sites

Skoro SPI to zastanów się albo najlepiej przelicz czas odświeżania obrazu. Rozmiar wyświetlacza nie jest tak istotny, ale rozdzielczość już tak. Problem polega na ilości danych. Mając mały, powiedzmy 128x128 pikseli wyświetlacz w 64k kolorach, potrzebujemy przesłać 128 * 128 * 2, czyli 32768 bajtów. Do tego SPI nadaje się świetnie.

Ale jeśli podłączysz wyświetlacz o większej rozdzielczości, chociażby 1024 x 800 to masz już 1.56 MiB, albo inaczej patrząc 12.5MBit. Standardowe SPI pracuje z prędkością 1.5MBit/s, ale powiedzmy 30MBit/s daje się uzyskać - jednak to nadal dwie klatki na sekundę... Więc oglądanie filmów nie bardzo wychodzi, co więcej samo rysowanie obrazu może być widoczne i irytujące.

Może dlatego wymyślono szybsze interfejsy, jak chociażby HDMI.

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Do mikrokontrolera to raczej nie podłącze przez HDMI. Zastanawiałem się też nad wykorzystaniem STM32, ale one też nie umożliwiają podłączenia przez HDMI, a pozatym mają za mało RAM.

Dlatego znalazłem wersje z ekranu z własną "kartą graficzną": link

Czy ktoś używał takiego ekranu?

Szukam też innych ekranów, ale na razie nic nie znalazłem.

Link do komentarza
Share on other sites

Jak chodzi o stm32, to faktycznie HDMI nie obsługują, ale popatrz chociażby na STM32F429-DISC1: https://www.st.com/en/evaluation-tools/32f429idiscovery.html wyświetlacz jest połączony równolegle, a sam mikrokontroler ma wbudowany sterownik ekranu.

I nie pisz, że mają za mało RAM - znowu przywołuję ten sam przykład, doczytaj ile jest RAM-u i gdzie przechowywana jest pamięć obrazu. Sam zobaczysz, że jednak można.

Natomiast do większych ekranów zawsze można wykorzystać jeszcze mocniejszy układ, chociażby F7 z interfejsem MIPI DSI: https://www.st.com/en/evaluation-tools/32f769idiscovery.html

Tylko że to wcale tanio nie wyjdzie... Jak chcesz tanio, to najprościej Raspberry Zero + tani wyświetlacz HDMI.

A co do SPI to po prostu policz, czy na pewno to co chcesz da się uzyskać. Bo praw fizyki się nie oszuka, i nie uzyskasz większego transferu niż kilkadziesiąt MBit/s.

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)

Co do transferu, to mają być na ekranie informacje tekstowe w prostych ramkach graficznych. No może jeszcze jakiś wykres przebiegu funkcji, ale to jeszcze przemyśle.

 

Chcę go zastosować do kilku rzeczy, w tym stacji pogodowej.

Edytowano przez TadzikT
Link do komentarza
Share on other sites

Więc jeśli to będą statyczne dane, ewentualnie zmiany tylko fragmentów obrazu to jak najbardziej SPI z własnym sterownikiem wystarczy. Chociaż przemyśl, czy nie lepiej / taniej iść w HDMI oraz raspberry... (np. https://botland.com.pl/pl/wyswietlacze-raspberry-pi/5865-ekran-dotykowy-pojemnosciowy-lcd-tft-7-b-800x480px-hdmi-usb-rev-21-dla-raspberry-pi-3b3b2bzero.html)

Link do komentarza
Share on other sites

Do takiego zastosowania moim zdaniem wręcz idealnie nadaje się coś takiego:

https://elty.pl/pl/p/Wyswietlacz-LCD-5-800x480-z-panelem-dotykowym-sterowanianie-SPI%2C-kontoler-FT810-/1783

Poczytaj o tym kontrolerze, np. tutaj:

http://www.jarzebski.pl/arduino/komponenty/wyswietlacz-tft-hy43b-hy50b-ft800.html

Tu nie jest ważna rozdzielczość a w zasadzie widzisz ją tylko poprzez współrzędne obiektów. Chip samodzielnie renderuje cały obraz poprzez listę wyświetlanych elementów, którą podsyłasz mu po SPI. Na Arduino NanoPro 8MHz dla zabawy zrobiłem na tym w kilka wieczorów grę pracującą w czasie rzeczywistym i generującą 20 klatek/s. W bibliotece możliwości FT800/810 masz nie tylko podstawowe prymitywy jak punkty, linie czy okręgi (wszystko w 24-bitowym kolorze z przezroczystością), ale także transformacje raz załadowanych bitmap (włącznie z subpixelowym obracaniem) i wiele predefinowanych kontrolek typu suwaczki, paski postępu, przyciski czy pokrętła. Samych fontów wbudowanych i skalowalnych jest ponad 20 a możesz także załadować własne. To wszystko współpracuje z dotykiem więc GUI z menu robi się na tym z marszu. Ponieważ scenę (a więc listę operacji do zrobienia) generujesz tylko wtedy gdy coś musisz zmienić to prędkość wysyłania nie jest krytyczna (1 Kbajt to już długa lista) a całość nie zajmuje RAMu na grafikę w postaci "natywnej" bo bufor wyświetlania jest w kontrolerze. Nie używałem tego wyświetlacza który wskazałeś, ale "Powerful Block Scrolling Function for Vertical or Horizontal Direction" brzmi przy tym co potrafi chip od FTDI dość żałośnie.

https://www.ftdichip.com/EVE/EVEDesign.htm

https://www.ftdichip.com/Support/SoftwareExamples/FT800_Projects.htm

https://www.sunduino.pl/ft810-i-ft811-czyli-kolejne-wcielenie-ft800/

Sprzedawane są także gołe płytki kontrolera.Z jednej strony masz SPI a z drugiej typowy interfejs równoległy do LCD (podobnie jak wychodzi z mocniejszych STM32)  więc można podpiąć własny ekran i dopasować ustawienia:

https://elty.pl/pl/p/Sterownik-wyswietlacza-LCD-z-kontrolerem-FT810-/1931

  • Lubię! 1
Link do komentarza
Share on other sites

Elvis, a widziałeś jak to działa? Od wydania komendy "Przerysuj nową zawartość" do stabilnego obrazu czekasz pół minuty. Kasowanie, po którym dostajesz jakieś 20 sekund powolnego wypływania czarnego, następnie jak zza mgły pojawia się czerwony, wszystko jakieś niestabilne i zamazane. Dopiero pod koniec zaczyna być fajnie i rzeczywiście ostateczny obraz jest ostry jak brzytwa, można wyłączyć prąd a wyświetlacz pokazuje wciąż to samo nawet po wymontowaniu i trzymaniu przez kilka dni szufladzie. Gdyby to była stacja przewidywania pogody i rysowałaby te swoje ikonki wg którejś strony internetowej np. o 4 rano to niech tam, ale jeśli to ma na bieżąco uaktualniać jakieś pomiary (nawet co 5 minut), to dziękuję. Nie mówiąc już o interaktywnym GUI..

Link do komentarza
Share on other sites

No dobra, wycofuję się z tym epaper-em.

Nie jest aż tak, źle tzn. obraz jest bardzo ostry i bardzo trwały - po wyłączeniu zasilania utrzymuje się miesiącami. Jeśli szybko znikało, albo rysowanie było nieostre, może wyświetlacz był uszkodzony. Natomiast czas odświeżania jest rzeczywiści długi - wyszło mi jakieś 14s. Ale nie to jest najgorsze - niestety wyświetlacz podczas odświeżania miga jak wściekły. A to już ciężko wybaczyć.

  • Lubię! 1
Link do komentarza
Share on other sites

@Elvis Nie mam pretensji co do trwałości i jakości obrazu na epapierze. Co prawda nie widać go w nocy, no tak jak zwykłej ksiązki też czytać wtedy nie sposób, ale jest ostry i może leżeć bez prądu. Mam tu gdzieś podobny choć mniejszy (200x200) wyświetlacz którym bawiłem się ze dwa miesiące temu i wciąż jest tam ostatni ekran z moich eksperymentów. Mój najpoważnieszy zarzut dotyczy właśnie samego procesu tworzenia nowej zawartości. To migotliwe, brzydkie i długie zjawisko. Czarno-białe są sporo szybsze, ale to też sekundy. Ten trzeci kolor jakoś poważnie utrudnia sprawę.

@TadzikT FT800 miał ograniczenie do 512x512 i stąd standardem na tym kontrolerze było 480x272, potem poprawili w kolejnych wersjach osiągi i 810 ma już 800x600. Natomiast fizyczne rozmiary ekranu to coś zupełnie innego. Szukaj. Ja kupiłem 5" gotowca (chyba właśnie z elty - już ich nie ma) do prezentacji danych z czujników smogu, CO2 itp, ale szkoda mi się zrobiło takiego fajnego gadżetu więc bawię się nim gdy od czasu do czasu przyjdzie mi ochota na jakiś eksperyment. Kontroler FT został specjalnie zaprojektowany do robienia ekranów GUI dla sterowników (na YT jest akwarium i parę innych) budowanych na małych procesorkach i wg. mnie sprawdza się znakomicie. 

  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.