Karta graficzna do wyświetlaczy LCD. Prezentacja, instrukcja obsługi i testy

Поделиться
HTML-код
  • Опубликовано: 13 сен 2024
  • W tym odcinku zobaczycie projekt, nad którym pracowałem całkiem długo, i który moim zdaniem jest jednym z najlepszych zrobionych przeze mnie układów. Chodzi tu oczywiście o sterownik do wyświetlaczy LCD, małą kartę graficzną. Dzięki niej bez problemu obsłużymy wyświetlacz o rozdzielczości do 480x240, i będziemy mieli gotowe funkcje takie jak tryb tekstowy z różnymi czcionkami, tryb graficzny z możliwością zapamiętania aż 128 różnych obrazków, kursor z możliwością zmiany jego rozmiaru i częstotliwości migania, możliwość przesuwania obrazu, przerzucania go w poziomie i w pionie, oraz kilka innych bardzo przydatnych rzeczy. Sam sterownik nie jest skomplikowany, zarówno pod kątem budowy, jak i komunikacji z nim. Dodatkowo sprawę ułatwia napisana przeze mnie dokładna dokumentacja układu.
    Pobierz niezbędne pliki: drive.google.c...
    Posłuchaj karty dźwiękowej "Virtuoz": • Zbudowałem własną kart...
    Nie chcesz przegapić nowych filmów? Subskrybuj kanał!
    Najchętniej oglądane:
    Odzysk danych z telefonu: • Odzysk danych z martwe...
    Karta graficzna DIY: • Kolorowa karta graficz...
    Naprawa żarówek LED: • Naprawa żarówek LED; J...
    Sprawdzanie elementów elektronicznych zwykłym miernikiem: • Sprawdzanie elementów ...
    Przetwornica czysty sinus: • Jak zrobić inwerter z ...
    Naprawa dużego zasilacza impulsowego: • Naprawa zasilacza impu...
    Prosta przetwornica z 12V na 230V: • Przetwornica z 12V na ...
    Naprawa zasilacza impulsowego 12V: • Naprawa zasilacza impu...
    Naprawa zasilacza ATX: • Naprawa zasilacza ATX....
    Prosty jonizator powietrza: • Jak zrobić jonizator p...
    Regulator mocy na triaku, ściemniacz: • Jak zrobić regulator m...
    Regulowany stabilizator napięcia na mosfecie: • Jak zrobić regulowany ...
    Największe projekty:
    Programator do GAL i PALCE: • Zbudowałem własny prog...
    Komputer na Z80: • Komputer na Z80 zbudow...
    Uniwersalny programator pamięci równoległych, Easy Prog: • Jak zbudować uniwersal...
    Komputer 8-bit: • Komputer 8-bit
    Przetwornica czysty sinus: • Jak zrobić inwerter z ...
    Programowalny wyświetlacz 8x8: • Jak zrobić wyświetlacz...
    Nagrzewnica indukcyjna dużej mocy: • Wydajna nagrzewnica in...
    Przeróbka wielkiej przetwornicy z telewizora: • Przeróbka zasilacza im...
    Oscyloskop DIY: • Oscyloskop DIY

Комментарии • 69

  • @Waldemar_Pachol_official
    @Waldemar_Pachol_official Год назад +7

    Niesamowite! Czapki z głów!

  • @mariuszkajstura6635
    @mariuszkajstura6635 Год назад +5

    Mam pomysł jak możesz wykorzystać swoją pracę, na rynku jest spory problem z wyświetlaczami graficznymi w oscyloskopach Fluke 196 scopemetr 2x100MHz. Myślę że jakby Ci się chciało posiedzieć nad translatorem protokołów sterujących wyświetlaczami graficznymi to te psujące się w tych oscyloskopach wyświetlacze można by zastępować innymi wyświetlaczami z odpowiednią rozdzielczością. To na wypadek gdybyś szukał bardziej praktycznego zastosowania doświadczeń jakie nabywasz. Pozdrawiam :)

  • @arkadiuszweiss
    @arkadiuszweiss Год назад +2

    Rewelacja jak zawsze, dobrego zdrowia :)

  • @ciekaweurzadzenia
    @ciekaweurzadzenia Год назад +1

    Fajny pomysł i realizacja.

  • @CykPykMyk
    @CykPykMyk Год назад +1

    Niesamowite :D Podziwiam cię. Zazdroszczę wiedzy i też chcę pójść w tematy MCU i gneerowania grafiki / ekranów graficznych. Temat kręci mnie przeokropnie. Fajna nisza, fajni ludzie.

  • @waldemarbiaek3549
    @waldemarbiaek3549 Год назад

    Dziękuję i pozdrawiam.

  • @ShigeruWarioMiyamoto
    @ShigeruWarioMiyamoto 10 месяцев назад

    O, właśnie pozyskałem wideotelefon, i jako że ma fajny monitorek to chce z niego zbudowac takiego pegazusa, i właśnie się ostatnio zastanawiałem jakie rozwiązania zastosować jeśli chodzi o wpuszczenie sygnału video z zewnatrz itp, mam nadzieję że Twój film za który się właśnie zabieram przybliży mi tematykę :] pozdro mlodyz ostry jesteś wirażka w te tematy, elo

  • @klemenssiwa2459
    @klemenssiwa2459 4 месяца назад

    fajna specifikacja

  • @adacho_sylt8009
    @adacho_sylt8009 4 месяца назад

    MEGA! BRAWO TY🦾🦾🦾🦾🦾

  • @toooldtodie
    @toooldtodie 10 месяцев назад

    Bardzo kompletna robota, bo i film, projekt PCB, instrukcja i program. Przy takich umiejętnościach warto iść w projekty za kasę. :)

  • @mpilarrrmp
    @mpilarrrmp 10 месяцев назад

    Szacun!!! Mam nadzieję, że tacy potentaci jak NVidia to zauważą!

  • @OTS2Security
    @OTS2Security 10 месяцев назад

    Też się będę brał za zrobienie takiej "karty graficznej" do wyświetlacza LCD który właśnie nie posiada pamięci i trzeba mu ciągle cyklicznie dane do wyświetlania wysyłać, co sprawia problem gdy procesor ma coś zrobić poza wyświetlaniem obrazu. :) Pozdrowienia dla pasjonatów elektroniki ;)

  • @szczurwodny4473
    @szczurwodny4473 Год назад +2

    Wow!😱 chciałbym tak umieć😁

    • @mariuszkajstura6635
      @mariuszkajstura6635 Год назад +3

      A co stoi na przeszkodzie, by się naumieć ? :)

    • @szczurwodny4473
      @szczurwodny4473 Год назад +1

      @@mariuszkajstura6635 daj spokój życia mi nie starczy😁

  • @mariuszkajstura6635
    @mariuszkajstura6635 Год назад +1

    Dobra robota :) Dobrze że pracujesz z dokumentacją, to bardzo pozytywny nawyk.
    Ps. Czy mogę sobie Twoją dokumentacje przetłumaczyć na polski ?

    • @__MINT_
      @__MINT_  Год назад +2

      Pewnie, że możesz, projekt i dokumentacja są open-source ;)

    • @mariuszkajstura6635
      @mariuszkajstura6635 Год назад

      @@__MINT_ Dzięki :)

  • @246rs246
    @246rs246 Год назад +1

    ciekawy temat, mam kilka gołych wyswietlaczy/paneli lcd głownie 40pin może uda się je do czegoś wykorzystać wreszcie

    • @arkadiuszrugaa6008
      @arkadiuszrugaa6008 Год назад

      Mam tak samo. Jednak nie sądze żeby na YT ktoś to dobrze rozkmintolił...

    • @arkadiuszrugaa6008
      @arkadiuszrugaa6008 Год назад

      A jednak temat został rozkmintolony. Nie taki straszny ten LCD. Drżyjta ksera, aparaty i stare telefony, w końcu wydrzemy z was wszystkie piksele :)

  • @Maciej.R.
    @Maciej.R. Год назад

    Niezłe.

  • @1r2u3d4y5
    @1r2u3d4y5 10 месяцев назад

    Mógłbyś zrobić zrobić z tego projektu schemat logiczny, zależo by mi żeby zrozumieć jak to działa logicznie. Bardzo ładnie prosze.

    • @__MINT_
      @__MINT_  10 месяцев назад

      Tyle że hardware jest tu dosyć skromny, a wsad uC rozpisywać blokowo to robota dla masochisty

  • @mansterzq5418
    @mansterzq5418 Год назад

    Normalnie magister inżynier...

  • @eR-MIK
    @eR-MIK Год назад

    Dobre i tanie sterowniki z akceleratorem do TFT to FT80x i FT81xx. Ogromne możliwości za niską cenę:
    ruclips.net/p/PLdtkbzWTUVMl3Sam8Fj1lh3ec1CdCRSXm
    Nic lepsze w tej cenie i o podobnych możliwościach nie da się zrobić.
    Projekt, który zrobiłeś miałby sens gdyby był zrobiony np na STM32H750 (1MB RAM) lub czymś podobnym. Kombinacje z AVR, zatrzaskami, zewnętrzna RAM to zły pomysł. Ile klatek wyciągniesz przy animacji pełnoekranowej? Kilka klatek? A może raczej 0,5klatki na sekundę? Ile oferuje sam wyświetlacz? Pewnie min 30.
    AVR nie nadaje się do obsługi dużych FTF czy LCD i tego nic nie zmieni. Ponadto jaką realną przepływność ma SPI AVR w trybie Slave? 2Mb/s?
    Porzuć te przestarzałe drogie i powolne AVR. Za mądry jesteś aby cały czas babrać się w tym g...e. marnujesz swój potencjał.
    Od czasu jak dałem sobie luz z AVR i zająłem się ARM-ami to odżyłem i mogłem rozwinąć skrzydła bez dodawania do AVR CPLD czy innej logiki. Projekty są lepsze tańsze i mniej zawodne.

    • @eR-MIK
      @eR-MIK Год назад

      Dzięki za uwielbienie. Zobacz na co pozwala FT800 i jaki akcelerator zrobiłem do kolorowych TFT:
      ruclips.net/video/V5HEt9tmZGs/видео.html

    • @__MINT_
      @__MINT_  Год назад

      Dzięki za radę, sprawdzę te układy. Co do animacji pełnoekranowej... żeby narosować jedną klatkę na wyświetlaczu 320x240, trzeba przesłać przez SPI 9600 bajtów. Przyjmowanie bajtu zajmuje ok. 2us, przesyłanie z szybkością 6Mb/s (częstotliwość zegara musi być mniejsza niż częstotliwość taktowania/4) zajmie 1.33us, razem 3.33us/bajt. Przesył bajtów zajmie łącznie 32ms, pozostało jeszcze doliczyć czas potrzebny na wykonanie komendy. Pamiętam, że komenda 0x01 w trybie direct write dla 240 grup pikseli wykonuje się 760us, czyli tutaj dla 9600 grup będzie wykonywać się 30,4ms. Razem wychodzi 62.4ms, biorąc pod uwagę przesył bajtów dla komend zaokrąglijmy to do 65ms. Daje to 15 klatek na sekundę, szału nie ma, ale i tak jest dalekie od Twoich 0.5fps. Wyświetlacz ma dużą bezwładność, i pewnie nawet przy tych 15fps piksele nie zdążałyby się w pełni wygasić. Dlaczego cały czas używam AVR?
      1. Na nich się wychowałem
      2. Są proste w konfiguracji, a płytkę łatwo wytrawić i polutować
      3. Mam spore zapasy Atmeg
      4. Uczę się optymalizacji kodu, niemarnowania cykli zegara i bajtów pamięci
      5. AVR działają przy 5V, a projekty elektroniki retro chodzą właśnie przy 5V
      6. Zazwyczaj szybkość i moc obliczeniowa AVR w zupełności mi wystarcza
      Od jakiegoś czasu działam też na PIC 16-bit, tylko na razie nie wypuściłem na nich żadnego projektu. Planuję na początek odtwarzacz muzyczny

    • @eR-MIK
      @eR-MIK Год назад

      @@__MINT_ Pisząc o 0,5fps miałem na myśli wyświetlacz kolorowy, bo czasy czarno-białej TV już dawno minęły 🙂
      1. Ja się wychowałem na 6502, Z-80 i 8051. Czy to oznacza, ze mam ich ciągle używać?
      2. Jak na dzisiejsze standardy ARM są łatwe do polutowania (przeważnie TQFP). Łatwiejsze do lutowania od AVR są lampy i przekaźniki. Czy to powód aby ich używać zamiast układów scalonych?
      3. Mam dużo UCY74xx. Czy to powód aby ich używać w nowych konstrukcjach?
      4, W ARM też można optymalizować kod. Pokazywałem to na filmach, gdzie zły kod z Arduino działa źle na ARM.
      5. STM32 mają I/O tolerujące 5V jakie więc problem łączyć je z przestarzałą technologią 5V?
      6. Jak bawisz się w grafiką b-w to z ledwością jak sam ustaliłeś wystarczają AVR ale w kolorze nie będzie już tak kolorowo. Jeśli do końca życia chcesz robić mało ambitne projekty to zostań przy AVR a nawet zacznij używać 8051 czy Z-8 tam to dopiero będziesz miał zabawę w cykle maszynowe.

    • @__MINT_
      @__MINT_  Год назад +1

      @@eR-MIK W zasadzie masz rację, ale... Jakbym potrzebował mocy obliczeniowej ARM, to bym ich użył, a na razie takiej potrzeby nie miałem. Celem projektu nie było zrobienie wypasionego sterownika do kolorowych wyświetlaczy, tylko postawienie pierwszych kroków przy obsłudze większych rozdzielczości. Rzucanie się od razu na głębokie wody nie ma sensu, bo można utonąć. Projektów nie robię zarobkowo, tylko dla siebie, dla przyjemności i satysfakcji. Rozumiem, jakbym robił dla kasy i masowo, to używałbym tanich ARM. A robiąc dla siebie, używam tego, co lubię, to tak jakbyś się dziwił, że słucham muzyki z lat 90' i 00', bo przecież teraz mamy nowe, współczesne kawałki

    • @eR-MIK
      @eR-MIK Год назад

      @@__MINT_ Gdybym dopasowywał moc CPU do zdań to niektóre projekty robiłbym na 4004 czy 8048. Jak myślisz czy to byłoby rozsądne?

  • @Elektrowicz8Bit
    @Elektrowicz8Bit Год назад

    witam ładny i super film czy szukasz montażysty za darmo w dobrej formie ? oferuje lata praktyki montażu a przy okazji też sie zajmuje elektroniką jak nie potrzebujesz montażysty to szkoda a jeśli tak to po proszę kontakt najlepiej discord

    • @__MINT_
      @__MINT_  Год назад

      Dzięki, ale montuję samemu

  • @grzeniu9972
    @grzeniu9972 Год назад

    No nie zle ci to wyszlo. Może zamiast w sumie juz drogich atmeg zrobisz to na ESP. Programowanie takie samo w arduino a szybkość kilka razy wieksza

  • @michasj9
    @michasj9 Год назад

    Czy to prawda, że na monochromatycznym wyświetlaczu LCD, obsługującym teoretycznie tylko 2 stany można wyświetlić ogromną ilość stanów pośrednich poprzez podkręcenie wbudowanego generatora klatek i wprowadzenie zmiennego wypełniania dla sygnałów przypisanych konkretnym pikselom?
    Widziałem kiedyś filmik, jak jeden facet podkręcił generator klatek w tego typu wyświetlaczu aż 256 razy, czyli z wyświetlacza oficjalnie 1-bitowego zrobił pełne 8 bitów, a mimo to generator klatek się nie spalił.

    • @__MINT_
      @__MINT_  Год назад +1

      Można tak zrobić, ale ograniczeniem będzie maksymalna częstotliwość zegara drivera matrycy. Dla NT7701 to 14MHz, czyli 56 mln pikseli na sekundę przy trybie magistrali 4-bit. Daje to maksymalnie 1093 fps, w porównaniu do 60 fps będzie to 18 razy szybciej, czyli da ok. 18 kroków jasności piksela

    • @michasj9
      @michasj9 Год назад

      @@__MINT_ Zresztą większość współczesnych ekranów LCD jest sterowana PWM-em, o ile się nie myle?
      We współczesnych ekranach laptopów czy smartfonów, DAC-i są chyba oparte na PWM-ie?
      Przetworniki DAC oparte na rezystorach są mało praktyczne, ponieważ głównym problemem zawsze jest ich nieliniowość.

    • @__MINT_
      @__MINT_  Год назад +1

      @@michasj9 Tutaj musiałbyś zagłębić się w tajniki sterowania pikselami przez driver matrycy. Dla samego drivera intensywność koloru jest podawana jako liczba binarna, a czy on później zamienia tą liczbę na PWM, czy na napięcie za pomocą DACa, tego nie wiem

    • @michasj9
      @michasj9 Год назад

      @@__MINT_ W wielu starych konsolach starano się ograniczać wyjściową dokładność kolorów chyba właśnie ze względu na modulację PWM, ponieważ przy przetwarzaniu jednobitowym różnica między kolejnymi skalami (szczególnie na wyższych etapach) była dużo większa niż przy przetwarzaniu wielobitowym.
      Np. w konsoli Nintendo 64 (1996) mimo, że grafika 3D była obliczana dla 8-bitów (0-255) była później konwertowana do postaci 7-bitowej (0-127) z ditheringiem, a PlayStation 1 (1994) i Sedze Saturn (1994) z 8 bitów (0-255) do nawet 5 bitów (0-31), także z ditheringiem.
      Moim zdaniem jest to pośredni dowód na to, że raczej używano tam modulacji PWM, bo gdyby było to przetworniki drabinkowe, to różnica w ilości danych byłaby tylko -12,5% (Nintnedo 64) i i 37,5% (PSX i Saturn), więc nie opłacałoby się raczej redukować skali natężenia kolorów, a jeżeli byłby to zapis jednobitowy to redukcja ilości danych byłaby aż 2-krotna (-50%) (Nintendo 64) i 8-krotna (-87,5%) (PSX i Saturn), więc sądzę, że już wtedy pewnie używano przetworników bazujących na PWM-ie, mimo, że były to czasy telewizorów kineskopowych, gdzie sygnał wyjściowy szedł jeszcze kilkadziesiąt cm po kablu analogowym i w telewizorze (CRT) był już interpretowany jako analog.

    • @michasj9
      @michasj9 Год назад

      Ale czy wiesz, w jaki sposób były wytwarzana pośrednie wartości napięcia w przetwornikach starszych konsol do gier wideo (takich jeszcze z czasów dominacji telewizji analogowej i z wyjściami wideo z założenia zoptymalizowanymi na potrzeby późniejszej konwersji na bardziej skompresowane formaty analogowe (np. komozyt, S-Video, YPbPr) (choć w większości z tych konsol surowe (ale analogowe) wyjście RGB także było dostępne), ale już z epoki gdy dominowało definiowanie kolorów w trzykanałowym standardzie RGB)?
      Chodzi mi o konsole z czasów, kiedy już powszechne było definiowanie kolorów w trzykanałowym modelu RGB, ale jeszcze dominowały telewizory posiadające wyłącznie analogowe wejścia wideo (konsol sprzed okolic 1985 roku, np. NES-a i Coleco Vision nie liczymy do tej kategorii, ponieważ one miały zupełnie inaczej definiowane kolory), z takiego okresu przejściowego (od okolic 1985 do okolic 2005, czyli mniej, więcej od czasów Segi Master System do czasów Nintendo Wii).
      Czy stosowano tam przetworniki drabinkowe, gdzie każdy kolejny bit miał wagę w przybliżeniu 2x mniejszą od poprzedniego (teoretycznie nie umsiało być to dokładnie 2x, mogło być to np. 2,5x lub nawet 3x, ale chodziło o to, aby różnice w wagach kolejnych bitów względem bitów poprzednich były równomierne (jednakowe na wszystkich etapach) - tak proste wady można było później skorygować np. korektorem gamma) czy raczej przetworniki dwustanowe, gdzie istniał tylko minimalny i maksymalny stan i było różne wypełnienie, które potem było całkowane filtrem dolnoprzepustowym?
      Orientujesz się, jaki typ przetworników DAC stosowano w tamtych konsolach?

  • @endriuz9026
    @endriuz9026 Год назад

    Rozumiem że ta atmega ma jeszcze więcej funkcji jak komunikację przez USB, porty we/wy tryb audio tylko tym projekcie nie są wykorzystywane?

    • @__MINT_
      @__MINT_  Год назад

      Wszystkie peryferia są opisane w nocie katalogowej. Sprzętowego USB ani wyjścia audio (czyli DACa) ten uC nie posiada

    • @endriuz9026
      @endriuz9026 Год назад

      Dziękuję za odpowiedź.

  • @ElektroKomputer8bit
    @ElektroKomputer8bit Год назад

    a możesz nagrac film jak zrobić lub zaprojektować płytkę pcb w np kickad ? plss

    • @__MINT_
      @__MINT_  Год назад

      Na razie nie mam takiej możliwości (wakacje)

  • @thcenter4804
    @thcenter4804 Год назад

    Korzystając z okazji chciałbym się zapytać czy film o pomiarach prądu zostanie niebawem wyemitowany.

    • @__MINT_
      @__MINT_  Год назад +1

      Jakich pomiarach prądu?

    • @thcenter4804
      @thcenter4804 Год назад +1

      @@__MINT_ Jak kiedyś była ankieta na film to wygrał odzyskiwanie danych z telefonu ale było kilka propozycji ja głosowałem na mierzenie prądów za pomocą arduino bo chciałbym sobie kiedyś sprawić monitor aktywności energetycznej mieszkania, a docelowo działki off grid gdzie jest agregat oraz panele fotowoltaiczne.

    • @__MINT_
      @__MINT_  Год назад +4

      A, o ten licznik Ci chodzi, film jest obrobiony i gotowy do wrzucenia, pojawi się na początku sierpnia

  • @PortalAuditor
    @PortalAuditor Год назад

    Działa do crt?

    • @__MINT_
      @__MINT_  Год назад

      Nope, no chyba że dasz jakiś konwerter

  • @niemusze5078
    @niemusze5078 Год назад

    atmega32, az musiałem sprawdzić rok publikacji.

    • @ArkadiuszPytlik
      @ArkadiuszPytlik 2 месяца назад

      Przez wiele lat moje ulubione procki :-) Obecnie coraz częściej korzystam z armów

    • @__MINT_
      @__MINT_  2 месяца назад +1

      Ja jeszcze z ATmeg nie wyrosłem, obecnie piszę kod zasilacza pod ATmegę16 :)

  • @elektronicyzadyche7962
    @elektronicyzadyche7962 Год назад

    Gdzie znajdę takie wyświetlacze?

    • @__MINT_
      @__MINT_  Год назад

      Mój jest z pralki, a jeśli chodzi o te proste 16x2, siedzą w biletomatach, kasach fiskalnych, starszych automatach, itp.

    • @__MINT_
      @__MINT_  Год назад

      Mój jest z pralki, a jeśli chodzi o te proste 16x2, siedzą w biletomatach, kasach fiskalnych, starszych automatach, itp.

    • @elektronicyzadyche7962
      @elektronicyzadyche7962 Год назад

      @@__MINT_ a te większe?

  • @sotyson3833
    @sotyson3833 Год назад +1

    Widać 25 klatek jak mruga

  • @petrikko
    @petrikko Год назад

    Gdzie pracujesz obecnie chłopie.?

    • @__MINT_
      @__MINT_  Год назад

      Nigdzie, na studia idę

    • @petrikko
      @petrikko Год назад

      @@__MINT_ Tak myslalem, wiec mysle ze prace masz juz zapewnioną.. :-)

  • @sotyson3833
    @sotyson3833 Год назад

    Na tym kontrolerze możnaby spokojnie zrobic komputer czy konsole do gier xD

    • @__MINT_
      @__MINT_  Год назад

      No tak, dwuznacznie to brzmi, miałem na myśli że z pomocą tego kontrolera. Chociaż na upartego można na samym kontrolerze XD

  • @CeZero4
    @CeZero4 6 месяцев назад

    Mi by się przydał układ, który zamienia wejście już zakodowane dla lcd i odkodowuje je do stanu poprzedniego. Moze daloby sie jakos polutowac lcd z pominieciem jednego ukladu, ale czy to zadziala trudno powiedziec. W urzadzeniu siedzi glupi lcd, sterownik jest wlutowany na plycie glownej. Wspolczesnie sterownik jest juz na lcd. Roznica jest taka, ze lcd z wlutowanym steeownikiem kosztuje ok 120pln, a bez tego sterownika i ze 600pln. Ten sterownik to bodajze LC7981.

    • @__MINT_
      @__MINT_  6 месяцев назад

      Co masz na myśli, mówiąc o wejściu zakodowanym dla LCD i jego odblokowaniu?