Skocz do zawartości

Jak podłączyć taki wyświetlacz do arduino?


Pomocna odpowiedź

Napisano

Witam. Znalazłem ostatnio takie urządzonko. Wygląda na wyświetlacz, ale nie bardzo wiem jak działa. Mógłby ktoś wyjaśnić co to, jak działa i jak można to wysterować przy pomocy arduino?

__________

Komentarz dodany przez: Treker

20160527_140959.thumb.jpg.48222cc850c9ec2992111e87d3b50252.jpg

To może być bardzo trudne z kilku powodów:

1. Nieznanego interfejsu. Jeżeli jest to wyświetlacz zrobiony specjalnie do zabudowy w jakimś urządzeniu, może nawet nie mieć nadrukowanej nazwy/typu i producenta. Coś takiego nadaje się praktycznie tylko jako część zamienna do tego samego urządzenia. Gdybyś miał takie coś działające i coś wyświetlające, można przy pewnym nakładzie pracy, posiadaniu odpowiedniego sprzętu i doświadczenia wyczaić znaczenie sygnałów przez odczytanie sekwencji jakimi karmiony jest kontroler wyświetlacza przez oryginalny procesora urządzenia. W Twoim przypadku, jeśli nie znajdziesz gotowego rozwiązania (ktoś miał identyczny wyświetlacz, odwalił robotę rozkminiania za Ciebie i jeszcze opisał to wszystko w sieci) - nie masz szans. Pocieszę Cię: liczba sygnałów wskazuje na interfejs równoległy a to się słabo podłącza do Arduino, bo korzysta ze zbyt wielu nóżek tego małego komputerka.

2. Nawet gdyby było wiadomo jakie to są sygnały to może się okazać, że ich stany logiczne nie pasują zupełnie do 5V procesora mega328. Być może wymagane są sygnały 3.3V a może 1.8V? Musiałbyś zrobić wielobitowy konwerter napięć a to już chyba prościej kupić znany (w sensie dokumentacji i bibliotek) szeregowy wyświetlacz OLED za 30zł, podłączyć i cieszyć się działaniem od pierwszego odpalenia.

3. Wyświetlacz może być całkowicie pasywny tj. nie mieć wbudowanego kontrolera. Wtedy wszystkie kabelki na złączu idą wprost do elektrod LCD na szkle. A ponieważ jest ich dość mało oznaczałoby to, że jest to wyświetlacz pokazujący kilka cyfr 7-segmentowych plus ew. kropki, dwukropki i może kilka symboli - jak w multimetrach lub zegarkach stołowych. Coś takiego (oprócz pewnego przypadku szczególnego) w ogóle nie ma szans wysterować wprost z procesora nieposiadającego wbudowanego specjalnego sterownika LCD. Istnieją ATmegi mające takie coś na pokładzie, ale nie 328. Są też do takich rzeczy specjalne scalaki podłączane np. przez I2C, ale ponieważ nic nie wiadomo o samym wyświetlaczu, nie warto się nad tym rozwodzić.

EDIT: Ten biały prostokąt między obszarem wyświetlania a taśmą może być scalakiem kontrolera. Nie wiem, czy to dobra wiadomość...

  • Lubię! 1

Dzięki za wyczerpującą odpowiedź. Niestety nie mam żadnych informacji o nim, nawet nie wiem gdzie dokładnie się on znajdował (w jakim urządzeniu) :/. Zobaczę jeszcze, może uda się znaleźć resztę części od niego.

Mam jeszcze inny wyświetlacz. Tym razem z działającego starego GPS. Sprawny ale się wiesza dlatego poszedł na demontaż. Patrzyłem po internecie AT043tn13, jest dokumentacja tego wyświetlacza, wyprowadzenia pinów itd. Tylko pytanie czy jest sens i czy wgl. jest możliwość podłączenia pod arduino. Wszystkich pinów jest 40. Dotyku raczej bym nie używał, no chyba że można jakoś bez problemu się nim "pobawić". GPS to smart gps sg 620. Zdjęcia:

Aha i mam pytanie. Czy oprócz złącz, głośnika i gniazda kart sd da się coś odzyskać z niego?

No tak, tu przynajmniej jest nazwa i jakaś dokumentacja:

http://www.wayengineer.com/download/INNOLUXpdf/AT043TN13.pdf

Niestety znów muszę Cię zmartwić. To bardzo fajny wyświetlacz RGB o rozdzielczości 480x272 pixele. Wymaga zasilania 3.3V (interfejs cyfrowy) i 5V (drivery samego LCD) oraz ok. 20V na podświetlanie i to wszystko byłoby jeszcze do przełknięcia. Najpoważniejszą "wadą" z Twojego punktu widzenia jest to, że to cudo nie ma własnej pamięci obrazu. Musi na bieżąco i to bezustannie dostawać z zewnątrz pixel po pixelu w formie 24 bitów wpychanych jednocześnie (1 bajt na składową Red, 1 bajt na Green i 1 na Blue) i to z prędkością 9MHz. Nie tylko jest to dużo za szybko dla poczciwych AVR (które musiałyby robić to programowo) to jeszcze wymaga posiadania ponad 380Kbajtów pamięci RAM (480x3x272) i umiejętności transferowania z niej danych jednocześnie z robieniem innych ciekawszych rzeczy. Do tego nadają się procesory/kontrolery mające a) specjalny interfejs (i to 24-bitowy) do takich LCD, b) możliwość podłączenia pamięci SRAM/SDRAM bo w środku to chyba żaden tyle RAMu nie ma.

Do słabiutkiego Arduino możesz podłączać tylko to, co samo z siebie pokazuje obraz: wyświetlacze tekstowe LCD, małe OLEDy i małe LCD/TFT. Wszystko co wymaga ciągłego transferu danych (jak np. z karty graficznej do monitora) odpada. A nawet gdybyś znalazł duży wyświetlacz graficzny z własną pamięcią to ograniczeniem jest też moc procesora mega328. Im więcej pixeli na ekranie tym więcej trzeba się natrudzić żeby coś narysować. Jeżeli odświeżenie małego ekraniku po naciśnięciu jakiegoś przycisku z menu zajmuje powiedzmy 0.2s to jeszcze jest do przełknięcia. A jeśli duży ekran będziesz rysował przez sekundę, taki system będzie upierdliwie wolny (jest takie fajne słowo: nieresponsywny) i nie da się go używać. No chyba, że budujesz ramkę na zdjęcia 🙂

Ludzie robią na AVR interfejsy do urządzeń wymagających ciągłego transferu (np. do monitorów w trybie RGB, telewizorów itp), ale to wymaga naprawdę sporych umiejętności programistycznych (asembler raczej obowiązkowy) a i tak zostaje wtedy tylko kilka % mocy CPU na resztę programu. W prostych grach to się sprawdza, ale to trochę sztuka dla sztuki.

Co do odzysku to się nie mądrzę, nie wiem. Może system zasilania? Jakiś stabilizator? Przetwornica? Ładowarka LiPola? Wzmacniacz audio? Dużych i mądrych scalaków nie wykorzystasz, bo ich nie odlutujesz i nie przylutujesz na nowo do swojej płytki.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...