Wysoka popularność oraz niska cena wyświetlaczy sprawia, że są one niemal w każdym współczesnym urządzeniu, również DIY. Dobór wyświetlacza pod konkretne zastosowanie to bardzo istotna kwestia. Niektóre są mniej lub bardziej prądolubne. Inne jaśniejsze lub ciemniejsze co determinuje możliwość użytkowania w pełnym słońcu. Kształty również mamy różne. Kwadraty, prostokąty czy nawet

okrągłe. Niestety często młodzi konstruktorzy w swoich urządzeniach zapominają o estetyce skończonego urządzenia. Jako, że blisko dwa lata pracowałem w branży wyświetlaczy, poczułem potrzebę wytłumaczenia pewnej drażniącej mnie kwestii.

Ale o co mi chodzi?

Sprawa toczy się o projektowanie obudowy pod wyświetlacz. W dobie powszechnego druku 3D mamy możliwość wydrukowania w miarę estetycznej obudowy. Niestety często design tych obudów niekoniecznie jest na w miarę estetycznym poziomie. Pokusiłbym się o stwierdzenie, że wręcz estetyka w wielu projektach leży. Spójrz proszę na poniższe zdjęcia.

Zauważyłeś wspólną cechę? Tak, metalowa ramka wyeksponowana na zewnątrz urządzenia. Ta ramka jest tam po to, aby ściskać szkło LCD z gumkami przewodzącymi i nie jest ona przeznaczona do ekspozycji zewnętrznej. Czy widziałeś kiedyś Smartfona z widoczną metalową ramką wyświetlacza? Czy z Twojej pralki wystaje wyświetlacz ponad panel? Czy na biurku masz monitor bez obudowy? No nie. Dlaczego więc projektujesz swoje obudowy w ten sposób?! Spójrz na przykłady urządzeń w seryjnej produkcji, które mają wyświetlacze tego samego typu.

Prawda, żę wygląda to lepiej? Pozwól, że wytłumaczę Ci jak to osiągnąć w bardzo prosty sposób.

Obszary wyświetlacza

Na początku teoria. Dla poprawnego zaprojektowania okna pod wyświetlacz potrzebujemy znać wymiary i lokalizację kilku elementów wyświetlacza.

  1. Outline Dimension (OD) – wymiary zewnętrzne wyświetlacza. To ile wyświetlacz zajmuje.
  2. Visual Area (VA) – obszar widoczny wyświetlacza. Jest to pole, które można odsłonić i nie będzie wstydu. Najczęściej jest to obszar szkła o jednolitym kolorze.
  3. Active Area (AA) – obszar aktywny wyświetlacza. W tym miejscu są piksele którymi sterujemy – stąd aktywny.
  4. Głębokość montażowa – jeśli moduł wyświetlacza posiada PCB z otworami, to montaż będzie oparty na tym PCB.
  5. Rozstaw otworów montażowych – do określenia gdzie zaprojektować otwory na śruby. Otwory nie zawsze będą przy wyświetlaczu.

Rysunek powinien rozjaśnić te pojęcia. Jest to najbardziej klasyczny LCD alfanumeryczny 16×2. Na czerwono zaznaczyłem wymiary, które nas interesują.

Ale gdzie powinno znajdować się projektowane okno? Otwór w obudowie powinien:

  • Odsłonić wszystkie pixele, czyli Active Area
  • Nie odsłaniać więcej niż Visual Area

Czyli krawędź tego okna powinna biec pomiędzy VA a AA. Tylko i wyłącznie w tym miejscu!

Ołówek w dłoń

Moim ołówkiem będzie Fusion360. Jak sobie poradzić z „zsynchronizowaniem” wszystkich pięciu wyżej wymienionych punktów?

Zacznij od narysowania na szkicu OD, VA, AA oraz otworów z pomocą linii pomocniczych.

Teraz, gdy masz już przeniesione najważniejsze wymiary na szkic, możesz wziąć się za projektowanie obudowy. Ja w ramach tego krótkiego szkolenia wykonam przykręcany front.

Zacznij np. od krawędzi okna LCD. zaznacz prostokąt określający AA i za pomocą funkcji offset wykreśl (już linią ciągłą) okno. Taka wskazówka ode mnie – okno to najlepiej jeśli będzie większe po ok 1 mm w każdym wymiarze. Jeśli AA wyświetlacza ma 56,2 x 11,5 mm to okno obudowy najlepiej jeśli będzie miało 57,2 x 12,5 mm. Nic nie szkodzi, aby miało trochę więcej. Jeśli obudowa będzie gruba, to nawet lepiej. Pamiętaj jednak, że otwór w obudowie nie może być większy niż VA, czyli 66 x 16 mm. W moim przykładzie ustawiłem offset na 1mm więc otwór w obudowie będzie miał 58,2 x 13,5 mm.

W kolejnym kroku określ wymiar zewnętrzny frontu na podstawie OD wyświetlacza. Ja zrobiłem to offsetem ustawionym na 2 mm dzięki temu mój cover LCD będzie miał wymiary 84 x 40 mm. Oczywiście jeśli będzie to docelowa obudowa, to będzie to front urządzenia wraz z docelową pozycją okna.

Pozostało jeszcze nakreślić dystanse z otworem na śruby montażowe. Kształt w zasadzie jest dowolny. Ja zrobiłem walce. Najpierw określam otwór na śrubę. Użyję tutaj śrubki M2,5. Według moich testów z otworami pod taką śrubę należy wydrukować otwór o średnicy 2,3 mm. Pozostało narysować np. offsetem okrąg zewnętrzny dla uzyskania walca z otworem. Offset 2 mm od otworu na śrubę w tym przykładzie wystarczy.

Szkic jest gotowy. Teraz wystarczy wyciągnąć bryły. Pierwszą wyciąganą bryłą będzie front. Zaznacz wszystkie powierzchnie z wyjątkiem okna LCD i wyciągnij np. 2 mm. W dalszej kolejności zaznacz wszytkie cztery pierścienie pod dystanse montażowe i wyciągnij je w drugą stronę. Ile? To nam powie rysunek rzutu bocznego wyświetlacza. Interesuje nas odległość od przedniej krawędzi metalowej ramki do powierzchni na której zostanie oparty montowany wyświetlacz o projektowane dystanse . W przypadku klasycznego 16×2 będzie to górna strona PCB. Z rysunku wynika, że jest to 7 mm.

Ja jeszcze często wykonuję jeden ruch – fazuję krawędzie okna LCD. Nie jest to konieczne, lecz nadaje to dodatkowej estetyki. 1 mm fazy wystarczy. Głębokość fazowania jest naturalnie ograniczona przez grubość frontu.

Teraz można wrzucić to na drukarkę. Efekt jest następujący.

Trening czyni mistrza

Dla przećwiczenia spróbuj wykonać podobny front dla innego wyswietlacza. Ja miałem pod ręką jeszcze moduł OLED 128×64 0,96″ z PCB. Jeszcze raz w skrócie:

Szkic modułu jako linie kontrukcyjne.

Wykreślone okno, wymiary zewnętrzne oraz słupki(1,9 otwór na śrubę M2, 1 mm offset na grubość słupka) i wyciągnięcie frontu.

Wyciągnięcie słupków na grubość OLEDa 1,5 mm. Uwaga! W rzucie bocznym widzimy jeszcze odstające piny komunikacyjne. Niestety wystają one delikatnie powyżej szkła OLED. Co w takim wypadku?

  1. Można to olać, ale front może się delikatnie ugiąć.
  2. Przelutować piny delikatnie płycej. Przy masowej produkcji nie do puszczenia taka bzdurna robota.
  3. Zrobić delikatne podcięcie na piny. Kilka setnych milimetra dołka tutaj zrobi co trzeba.
  4. Dać dłuższe dystanse. Tutaj należy liczyć się z tym, że front nie dociśnie do frontu szkła OLED.

Do testowego wydruku wybrałem bramkę numer 3. Wyciąłem więc pod pinami prostokąt o głębokości 0,5 mm.

Pozostało tylko fazowanie krawędzi i gotowe. Oto efekt.

Po wydrukowaniu:

Podsumowanie

Zaprojektowane fronty wydrukowałem z PLA. Efekty są bardzo dobre, co można zobaczyć na zdjęciach. Jak widzisz estetyczne zaprojektowanie frontu pod wyświetlacz nie jest niczym skomplikowanym. Najważniejsze czego potrzebujesz to rysunek wyświetlacza. Każdy sprzedawca powinien Ci go dostarczyć. Jeśli takiego nie ma – zmień sklep. Możesz też samemu suwmiarką określić wymiary. O ile w przypadku mono LCD czy większych TFT uda się to dosyć prosto określić, tak przy malutkich OLEDach błąd pomiaru suwmiarką może być na tyle duży, że nie trafisz symetrzycznie z oknem. Zależy jak precyzyjne masz dłonie. Na szczęście wszystkie OLEDy na rynku są niemal identyczne więc o rysunek jest bardzo prosto.

Dziękuję Ci za przeczytanie tego wpisu. Jeśli taka tematyka Ci odpowiada, daj mi znać w komentarzu.

Modele z posta dostępnę są na Thingiverse pod linkami: LCD 1602 oraz OLED
Jeśli zauważyłeś jakiś błąd, nie zgadzasz się z czymś, chciałbyś coś dodać istotnego lub po prostu uważasz, że chciałbyś podystkutować w tym temacie, napisz komentarz. Pamiętaj, że dyskusja ma być kulturalna i zgodna z zasadami języka polskiego.

KONKURS

Chciałem zorganizować mały konkurs z nagrodami 🙂 Zasady:

  1. Nagrodą są cztery wyświetlacze alfanumeryczne w kolorach:
    1. Niebieskie tło, białe negatywowe napisy
    2. Czarne tło, białe negatywowe napisy
    3. Białe tło, czarne pozytywowe napisy
    4. Zielone tło, czarne pozytywowe napisy
  2. Zwycięzców będzie dwóch. Każdy z nich dostanie taki sam zestaw, czterech wyświetlaczy.
  3. Nagrody wyślę pocztą.
  4. Aby wziąć udział w konkursie należy:
    1. Być subskrybentem newslettera: link do zapisu
    2. Napisać pod tym postem co ostatnio zrobiłeś używając wyświetlacza. Pamiętaj, aby w polu e-mail formularza komentarzy wpisać ten sam e-mail co przy rejestracji do newslettera.
    3. Koniec zgłoszeń 16.10.2018 godzina 20:00
  5. Wybór zwycięzców:
    1. Każda osoba może wziąć udział tylko jednym komentarzem
    2. Wybiorę 10 najciekawszych zastosowań z komentarzy
    3. Wylosuję dwóch zwycięzców za pomocą http://www.losowe.pl/liczba z przedziału 1-10. Numery komentarzy zostaną przypisane według daty/godziny dodania. 1 – najstarszy, 10 – najmłodszy komentarz
    4. Losowanie odbędzie się we wtorek 16.10.2018
  6. Wyniki zostaną podane w kolejnym wpisie czyli 17.10.2018

Poniżej jeszcze zdjęcia wszystkich kolorów wyświetlaczy do wygrania w konsursie. Powodzenia!


30 Komentarzy

Jacek · 03/10/2018 o 21:02

Kiedyś zrobiłem na niedużym wyświetlaczu OLED wyświetlanie słów piosenek słuchanych przez Spotify. Okno spotify umieszczałem w ramach obszaru roboczego komputera, ale poza ekranem, żeby nie przeszkadzało w pracy (czyli tak jakby na drugim monitorze, który jednak nie był podpięty do komputera). Odpowiednio napisana procedura wpinająca się w kernel windows (pisałem w c#) pilnowała, żeby okno było w określonym położeniu i miało odpowiedni rozmiar (przy zbyt małym nie wyświetlał się tekst piosenki). W pierwotnej wersji projektu użyłem metody kernela, która robiła screenshot bardzo małego wycinka ekranu na którym wyświetlała się bieżąca linijka słów piosenki, dzięki czemu nie wpływało to na wydajność komputera, i następnie taka bitmapa (ze zrobionym odpowiednim progowaniem pixeli) była wysyłana przez usb i konwerter usb->uart do arduino, które wyświetlało to na OLED. Takie rozwiązanie było fajne – miałem na wyświetlaczu dokładnie ten sam font, co w oknie spotify – jednak narzut obliczeniowy dla drivera OLED był duży, i przy dynamicznych piosenkach nie wyrabiał z tempem. Plusem był za to efekt „malowania” napisów – nieco tak, jakby ktoś bardzo szybko pisał je na wyświetlaczu 🙂 W V2 użyłem opensourcowego softu tesserract do zrobienia ocr (metoda pozyskiwania lirycsów pozostała ta sama), więc napisy wyświetlały się w mgnieniu oka (latencja rzędu <300ms), minusem była brzydsza, nieco "konsolowa" czcionka, bez kerningu czy antyaliasingu. Dlaczego nie użyłem jakiegoś API do słów piosenek? Na chwilę robienia projektu nie istniało darmowe API, które miałoby wszystkie piosenki których słucham, razem z timestampami – nie interesowało mnie wyświetlanie całych tekstów (oled jest na to za mały, poza tym musiałbym mieć jakiś sposób na szybkie znajdowanie aktualnie śpiewanego wiersza), a jedynie bieżącej linijki. API, z którego korzysta spotify, jest płatne w moim usecasie. Stąd taka nieco chałupnicza metoda 🙂

    msalamon · 03/10/2018 o 21:09

    Wow co za twórczość i kombinatorstwo! Nie wiedziałem, że Spotify ma teksty piosenek 😀

1bobik1 · 03/10/2018 o 21:03

Najlepsze co udało mi się zrobić z wyświetlaczem to stworzenie biblioteki do wyświetlacza z odzysku.
Bez noty katalogowej, tylko analizator stanów logicznych, kasa fiskalna i ww wyświetlacz 🙂

Efekty: https://forum.atnel.pl/topic11845.html

Co do artykułu – trafne spostrzeżenie. Ja swoje wyświetlacze staram się rysować w 3d przed zaprojektowaniem obudowy.

    msalamon · 03/10/2018 o 21:14

    Piękny Reverse Engineering. Podziwiam bardzo bo ja to jestem chyba zbyt leniwy na takie rzeczy 😀 Mam kilka VFD które leżą już dobrych pare lat i czekają i czekają…

Olek · 03/10/2018 o 21:06

Ostatnio zmajstrowałem atrape bomby do gier typu asg/paintball
https://drive.google.com/open?id=1wMdST_LygM81o4A_VX1b4uws6BhJkrM2

    msalamon · 03/10/2018 o 21:18

    Ha! Grałem kiedyś sporo w paintball ze swoim sprzętem. Niestety nie na tyle długo, aby zrobić. Taką atrapę. Dobrze wiidzę, że ramka wyświetlacza jest schowana? Ekstra! 🙂

      Olek · 04/10/2018 o 19:08

      Jasne! Ta ramka wygląda okropnie. Jednak nie zawsze jest możlwiosć jej zasłonięcia. W drewienku o grubości kilku mm cięzko wyfrezować idealny otwór, tak by zasłonić tą ramke. Chyba, że masz jakieś lepsze sposoby na ukrycie ramki w drewnie?

        msalamon · 04/10/2018 o 19:41

        Hmm drewno… Nie za wiele w życiu drewna obrabiałem niestety. Jedyne co mi przychodzi do głowy, aby precyzyjnie wyciąć okno to CNC 🙂 Ewentualnie małe wiertło po rogach, brzeszczot i pilnik?

Kondizo · 03/10/2018 o 21:10

Ostatnio używając wyświetlacza zrobiłem urządzenia do liczenia punktów, gdy zostanie przybliżona karta rfid, są dwa przyciski do zmiany mnożnika punktów, ilość punktów oraz imię i nazwisko jest wyświetlane na lcd po odczytaniu karty. Dodatkowo ilość punktów jest sumowana i zapisywana na karcie SD.

    msalamon · 03/10/2018 o 21:21

    Zrobiłeś to do jakiejś gry? Jak zrealizowałeś bazę użytkowników? RFID jest fajne i na pewno pojawi się na blogu 🙂

Piotr · 03/10/2018 o 21:15

Dekoder wywołania syren strażackich dekodujący system STQC ogólnie stosowany w Polsce wysyłany drogą radiową. Dekoduje system kodowania syren na wartość dziesiętną i wyświetla numer danej jednostki na LCD 16×2.

    msalamon · 03/10/2018 o 21:24

    Ciekawe. Taki „podsłuch” jest legalny? 😀 Jesteś reporterem?

Piotr · 03/10/2018 o 21:20

Dekoder syren OSP przeliczający kod na system dziesiętny i prezentujący dane numery na LCD 16×2.

Poziomica · 03/10/2018 o 22:03

Dzisiaj skończyłem projekt poziomicy. LCD idzie przez magistralę I2C, a projekt oparty jest na module żyroskopu MPU-6050. Poziomica nie mierzy tylko przechyłu na boki ale tez w tył i w przód więc mamy dwa wymiary do pomiaru co jest rzadkością w poziomicach elektronicznych. Pamiar kąta mierzy z dokładnością do jednego miejsca po przecinku czyli do 1,(6) minuty.

    msalamon · 03/10/2018 o 22:44

    Jak liczysz przechył? Takie pozomice na akcelerometrze są fajne. Nawet apka na telefon daje radę przy wieszaniu telewizora 🙂

Mateusz · 03/10/2018 o 22:33

Pracę inżynierską i magisterską. Z racji, że lanie wody na 100 stron nie w moim stylu stwierdziłem, ze zrobię coś praktycznego (i jak się finalnie okazało praktycznego).
Inżynierka – interpretacja wskazań przyrządów nawigacyjnych (konkretnie wskaźnik CDI używany przy podejściach ILS – precyzyjne podejścia do lądowania statków powietrznych) 2 wyświetlacze 16×2. Wskaźnik wskazuje swoje a na wyświetlaczach ta informacja jest niejako dekodowana (odchylenie kątowe i liniowe od ścieżki podejścia). Na drugim wyświetlaczu odległość od progu pasa. Stanowisko umożliwia przestawianie CDI za pomocą potencjometrów i bieżącą interpretację wskazań a także wykonanie symulowanego podejścia, Podczas podejścia aktywowane są także markery (dźwięk, dioda LED o odpowiednim kolorze i krótka informacja na wyświetlaczu).
Magisterka – stanowisko do wykreślania charakterystyk silników BLDC. Stanowisko działa w laboratorium w Katedrze Płatowca i Silnika na LAW(WSOSP) w Dęblinie. Wyświetlacz 20×4 służy do wyświetlania bieżących danych takich jak moc procentowa, napięcie, natężenie, siła ciągu i generowany moment obrotowy (2Hz dla czytelności). Przez port szeregowy przekazywane są pozostałe informacje (~11Hz no oczywiście też z większą dokładnością) – wszystko co poprzednio i dodatkowo temperatura silnika, temperatura regulatora, napięcie na boczniku, czas próbkowania i prędkość obrotowa.. Użyłem ATmegi 32U4 i 328P (ta druga tylko do pomiaru prędkość obrotowej).

    msalamon · 03/10/2018 o 22:46

    Muszę poczytać o tematach z Twojej inżynierki bo zaciekawiłeś mnie 🙂

Michał · 03/10/2018 o 22:43

Może to się wydawać banalne ale podłączyłem wyświetlacz do drukarki 3D i po tym artykule zabieram się za tworzenie nowej obudowy do niego 😀
A wcześniej bawiłem się w termometry i różnego rodzaju czujniki na arduino

    msalamon · 03/10/2018 o 22:49

    No nie dla wszystkich banał 🙂 Pamiętam jak ze swoim się chwilę pomęczyłem bo nie wiedziałem który „model” mam aby aktywować go w Marlinie 😀 Cieszę się, że artykuł jest pomocny 🙂

Kamil · 04/10/2018 o 18:23

Ostatnio wpadł mi do ręki OLED 128×64 czarno biały. Był tak fajny że zrobiłem na nim ponga na 2 graczy. Sterowanie przy pomocy potencjometrów suwakowych, a sercem Stm32L0+. Naprawdę fajna zabawa z pisaniem mini silnika pod grę, a jeszcze lepsza jak dwie osoby próbują grać na 2 calowym ekranie.

    msalamon · 04/10/2018 o 18:32

    Masz może gdzieś ogólnodostęne źródła? Chętnie spróbowałbym coś takiego wykonać. Nigdy nie pisałem takiego silnika i chętnie bym się na czymś oparł 🙂

      Kamil · 04/10/2018 o 19:52

      Sam właściwie nie korzystałem z żadnych źródeł (jestem gameDevem), ale mogę to wytłumaczyć.
      Pętla główna:
      1. Pobranie Inputu
      2. Transformacje (najpierw paletki potem piłka)
      3. Sprawdzanie kolizji
      4. Sprawdzenie warunków zdobycia punktu, wygranej
      5. Wyświetlenie

      Co do kolizji, najprostsze do zrobienia i wydajne:
      https://www.youtube.com/watch?v=8b_reDI7iPM
      I ciekawostka w oryginalnym pongu prędkość po osi X jest stała i zmienia się tylko w Y.

        msalamon · 04/10/2018 o 20:28

        Dzięki! Kiedyś chciałem być gameDev, ale „wkopałem się” w embedded. Mój max to kółko i krzyżyk 5×5 na srudiach 😛 To akurat nie wydaje się mocno skomplikowane.

Zbigniew · 08/10/2018 o 00:42

LCD 16×2 użyty do projektu sterownika ostrzarki do nozy stolarsich,pierwotnie miały być diody, ale leżacy sobie LCD pokusił mnie o wykorzystanie. Nie wiele sie na nim dzieje jednak użycie go okazało sie bardzo przydatne w obsłudze.filmik z projektuhttps://www.facebook.com/zbigniew.glowala/videos/1985384821484987/

Mateusz · 11/10/2018 o 07:18

Całkiem niedawno zrobiłem ciekawy projekt bezprzewodowego termometru temperatury pieca.
Termometr ds18b20 podłączony z pierwszym Nano nadawał co kilka sekund temperaturę za pomocą nadajnika radiowego 433MHz. Z kolei na drugim Nano umieściłem wyświetlacz 20×4, dwa przyciski oraz buzzer, który ostrzegał przed zbyt wysoką temperaturą na piecu. Napisałem przy tym prostą bibliotekę do wyświetlania wielkich znaków (3×4 kratki), żeby można było zobaczyć dane z trochę większej odległości. Stwierdzam, że taki projekt stał się bardzo praktyczny, w końcu nie trzeba schodzić do piwnicy żeby sprawdzić jaka temperatura jest na piecu 🙄

Zdjęcia podczas budowy:
http://imgur.com/a/L43txVu

rakowski-hub · 11/10/2018 o 20:55

Witam wszystkich,

Jest tu wiele interesujących projektów, więc postanowiłem przedstawić własne projekty, niestety są jeszcze w trakcie realizacji ale mogę pokazać co nieco.

Jako że jestem fanem frezowanej obudowy i wydaje mi się że nawet mi to wychodzi 🙂
Przedstawię wam kilka zdjęć mam nadzieję że się wam spodobają 😉

https://photos.app.goo.gl/JqGvmBBrqDtHZ6RE7

Pozdrawiam.

    msalamon · 11/10/2018 o 20:58

    Piękne! Frezowanie to jest coś, czego muszę spróbować po przebudowie drukarki 🙂

Kacper · 14/10/2018 o 17:52

Teraz robię ploter laserowy o powierzchni roboczej formatu A4, z możliwością przerobienia na frezarki cnc, na ekranie wyświetla czas do zakończenia wypalania, oraz nazwę pliku.

    msalamon · 14/10/2018 o 22:52

    Bazujesz na jakiejś konstrukcji i sofcie czy samemu od zera?

grnape · 16/10/2018 o 19:25

Podłączyłem LCD 16×2 do Arduino i dzięki DCSBios wyświetlałem na nim panel częstotliwości radia z symulatora lotu DCS oraz zegarek pokładowy. Nic wielkiego ale to tylko przymiarki do budowy całych paneli kokpitu, z podświetleniem, enkoderami i przyciskami. Powoli gromadzę elementy i know-how 🙂
Pozdrawiam:)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Serwis wykorzystuje pliki cookies. Korzystając ze strony wyrażasz zgodę na wykorzystywanie plików cookies. więcej informacji

Wrażenie zgody na pliki Cookies jest konieczne, aby uzyskać najlepsze wrażenia z przeglądania strony. Jeżeli nadal nie wyraziłeś zgody na używanie plików Cookies, zaakceptuj poniżej klikając w przycisk "Akceptuj" na banerze.

Close