Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wyświetlacz LCD ITM-400160 biblioteka C (ARM)

Cosicek 10 Aug 2013 21:56 9918 11
  • Wyświetlacz LCD ITM-400160 biblioteka C (ARM)

    Omawiana biblioteka została stworzona na potrzeby mojej pracy magisterskiej, którą była stacja pogodowa.

    Bibliotekę umieszczam, chcąc się podzielić nią z innymi użytkownikami, gdyż stworzenie jej zajęło mi dużo czasu, a sam wyświetlacz sprawił mi wiele problemów.

    LCD ITM-400160 jest wyświetlaczem monochromatycznym o fantastycznej rozdzielczości 400x160 pikseli z własnym podświetleniem. Podstawowym problemem z nim jest uboga dokumentacja techniczna oraz to, iż nie posiada on własnego wbudowanego kontrolera, więc należy samemu "przemiatać" sekwencję na jego pinach.

    Drugim problemem było dostarczenie do zasilacza napięcia kontrastu -18V, dlatego oprócz biblioteki zamieszczam schemat przetwornicy na układzie MC34063. Jest on bardo popularny i łatwo dostępny.

    Dokumentacja kodu jest napisana zgodnie z Doxygen i umieszczona w archiwum.

    W bibliotece znajduje się funkcja umożliwiająca wyświetlanie grafik generowanych w darmowym programie Micro LCD Bitmap Editor. Oprócz tego są dodatki w postaci grafik i czcionek, z których ja korzystałem w swoim projekcie.

    Kod został uruchomiony na procesorze LPC1768 z częstotliwością taktowania 100 MHz i też dla niego jest ona przystosowana, ale w łatwy sposób można ją przetransportować na inne mikrokontrolery.

    Najważniejszą kwestią jest to, iż ze względu na specyfikę sterowania tym wyświetlaczem procesory z częstotliwością 72 MHz są minimalnie wystarczające dla niego.

    W razie problemów z odpaleniem wyświetlacza bądź samego kodu służę pomocą.

    Pierwsze próby, które przyszły po długim czasie (przepraszam, jeżeli coś na tym zdjęciu kogoś uraziło):

    Wyświetlacz LCD ITM-400160 biblioteka C (ARM)

    Szablon stworzony w Micro LCD Bitmap Editor:

    Wyświetlacz LCD ITM-400160 biblioteka C (ARM)

    Przetwornica:

    Wyświetlacz LCD ITM-400160 biblioteka C (ARM)

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    Cosicek
    Level 16  
    Offline 
    Has specialization in: c, avr, arm, elektronika ogólna, python
    Cosicek wrote 245 posts with rating 89, helped 3 times. Live in city Wrocław. Been with us since 2004 year.
  • Computer ControlsComputer Controls
  • #2
    tehaceole

    Level 28  
    Ajjj mistrzu z nieba mi spadasz! Kilka lat temu zakupiłem ten wyświetlacz, lecz jakoś tak nigdy się za niego nie zabrałem. A ostatnio nawet wystawiałem go na sprzedaż. Z chęcią w wolnej chwili skorzystam z Twojego opracowania. BTW kiedyś ktoś tutaj odpalił go na AVR taktowanym 16MHz (za chiny ludowe nie mogę znaleźć teraz tego tematu) - więc jednak się da. :)
  • Computer ControlsComputer Controls
  • #3
    Cosicek
    Level 16  
    Tak da się go odpalić na AVR ale mi się to osobiście nie udało. Aby odpalić go na AVR należy zastosować kość SRAM. Wtedy jednak dochodzi problem z odpowiednim rozwiązaniem sekwencji wysyłanej na piny LCD.

    Mi osobiście rok zajęło odpalenie i dogadanie się z tym LCD ;)
  • #4
    KJ
    Level 31  
    Ten lcd można też podłączyć do kontrolera matryc tego typu np. SED13305 - scalak zapewnia ram, generator znaków i przemiatanie matrycy. Wtedy w zasadzie można obsłużyć byle czym albo wysterować z portu LPT w PC gdyż obsługa sprowadza się do wrzucania danych do ramu. Sterowanie bezpośrednio z mikroprocesora wydaje mi się być dość "zasobożerne" bo trzeba cały czas mielić sporą ilość danych. Dla chcących wykorzystać ten LCD od razu proponuję znaleźć inna przetwornicę do wytworzenia ujemnego zasilania bo niestety MC34063 po pierwsze ma bardzo małą sprawność jak na tego typu przetwornice po drugie strasznie sieje.
  • #5
    Cosicek
    Level 16  
    KJ wrote:
    Ten lcd można też podłączyć do kontrolera matryc tego typu np. SED13305 - scalak zapewnia ram, generator znaków i przemiatanie matrycy.


    A może kolega powiedzieć, gdzie taki scalak dostać? Jak ja się rozglądałem z takimi scalakami, to ich cena była wyższa niż mikrokontrolera i słabo dostępne.

    KJ wrote:
    MC34063 po pierwsze ma bardzo małą sprawność jak na tego typu przetwornice po drugie strasznie sieje.


    Do mojego projektu była wystarczająca, i odseparowana więc żadnych problemów z nią nie miałem.
  • #6
    tmf
    Moderator of Microcontroller designs
    Panowie zapomnieliście o postępie, nawet w świecie AVR takowy jest :) Obecnie można dostać AVRy, które mają wbudowane te 8 kB SRAM, a nawet 32 kB. Ba, dzięki takim wynalazkom jak DMA także AVR bez pocenia się jest w stanie wysterować taką matrycę. Tańszy i łatwiejszy do zdobycia niż SED.
    Co nie zmienia faktu, że fajnie, że jeszcze ktoś się w taki hardware hacking bawi i prezentuje tego efekty. Sądząc po zaprezentowanej grafice to będzie jakaś stacja meteo?
  • #7
    rexina
    Level 17  
    AVR z DMA? słyszałem jedynie o xMega...
    Pytanie czy jest sens pchać się w to, jak procki z cortex'em M0 można już dostać za jakieś 6zł...

    Gratuluje, biblioteka się przyda:D
    z ciekawości, ile ok. zasobów CPU zabiera obsługa tego cuda?
  • #8
    siewcu
    Level 34  
    tmf wrote:
    Sądząc po zaprezentowanej grafice to będzie jakaś stacja meteo?

    Czytać Panie Kolego, czytać dokładniej :)
    Cosicek wrote:
    stworzona na potrzeby mojej pracy magisterskiej którą była stacja pogodowa.
  • #9
    tmf
    Moderator of Microcontroller designs
    rexina wrote:
    AVR z DMA? słyszałem jedynie o xMega...
    Pytanie czy jest sens pchać się w to, jak procki z cortex'em M0 można już dostać za jakieś 6zł...


    XMEGA to też AVR. I też można ją dostać za 6 zł, tyle, że zazwyczaj z bardziej wypasionymi peryferiami niż Cortex M0 za 6 zł.
  • #10
    Cosicek
    Level 16  
    Szczerze to też rozważałem użycie DMA w tym projekcie, jednak miałem trochę problem z opracowaniem odpowiednich algorytmów do wpisywania wartości do tablicy. Dodatkowo tablica ta zwiększyła by swój rozmiar przynajmniej dwukrotnie, co też stwarza poniekąd problemy przy mikrokontrolerach o mniejszej ilości pamięci

    rexina wrote:
    z ciekawości, ile ok. zasobów CPU zabiera obsługa tego cuda?


    Szczerze powiedziawszy nie sprawdzałem. Ale żeby na wyświetlaczu nie pozostawały żadne artefakty to częstotliwość odświeżania musi być od 30 Hz w górę. Wartość czasu po jakim pojawiało się przerwanie od timera dobierałem właśnie "na oko" tak aby artefakty się nie pojawiały.
  • #11
    bodzio667
    Level 18  
    Do autora. Zaprezentujesz tutaj cały projekt stacji pogodowej ? Chętnie bym się z nim zapoznał.