logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

AVR C - Jak poprawnie obsłużyć wyświetlacz LCD z konwerterem I2C?

maxilosek 16 Kwi 2015 19:10 1905 6
REKLAMA
  • #1 14622526
    maxilosek
    Poziom 9  
    Witam.

    Zakupiłem konwerter I2C do wyświetlacza LCD i mam mały problem z jego obsługą.
    Komunikacja z ekspanderem następuje prawidłowo, jedynie co udało mi się uzyskać to miganie podświetleniem, ale uparty wyświetlacz za choinkę nie chce nic wyświetlić.

    Schematu konwertera niestety nie posiadam, gdyż producent go nie udostępnia.

    Kod którego używam prezentuje się następująco.

    main.c
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    lcdpcf8574.h
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    lcdpcf8574.c
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    pcf8574.h
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    pcf8574.c
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    i2cmaster.h
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    twimaster.c
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Kodu od uart nie prezentuję, gdyż komunikacja działa poprawnie a program się nie zawiesza.
    Kombinuję z tym już którąś godzinę i za wiele nic nie uradziłem.
    Proszę o pomoc w uruchomieniu tego konwerterka, gdyż jestem zmuszony go używać, ponieważ zabrakło mi już pinów IO w moim projekcie.

    Konwerter zakupionu na botland.com.pl (Link do konwertera tutaj)
  • REKLAMA
  • #2 14623183
    dasej
    Poziom 32  
    Witam,

    Miernikiem sprawdź czy w Twoim module są takie same wyprowadzenia jak w tym artykule. Link
    Jeżeli tak to masz w załączniku wszystko co trzeba.

    Daj znać jak poszło.
  • REKLAMA
  • #3 14623190
    maxilosek
    Poziom 9  
    Na pewno są takie same wyprowadzenia.

    @Edit
    Przy pomocy kodu z załącznika wyświetlacz nadal nie ruszył, niema nawet komunikacji z układem.
  • REKLAMA
  • #5 14623431
    maxilosek
    Poziom 9  
    Dokładnie taki sam Atmega 328P.
    Coś mi się zdaje, że trafił mi się uszkodzony lcd. Jutro podłączę go bezpośrednio pod procka i zobaczę czy ruszy.
  • REKLAMA
  • #6 14623454
    dasej
    Poziom 32  
    Podaj do lcd samo zasilanie.
    Ustawiając kontrast powinieneś zobaczyć czy pierwsza linia się aktywuje.
    Musi zaświecić zapalając wszystkie piksele w polach.
    Przed chwilą to sprawdziłem.

    Dorzuć led-a tak byś włączył go przed wysyłaniem danych po i2c
    i wyłączaj go po wyjściu i2c

    Najprostsza metoda sprawdzenia czy działa i2c. Gdy jest coś nie tak z transmija to
    procek czeka.
  • #7 14624340
    maxilosek
    Poziom 9  
    LCD wydaje się żyć. Ustawiając kontrast pierwsza linia się aktywuje. Dodałem do programu miganie diodą led w głównej pętli programu za komunikacją po I2C i procek się nie zawiesza.

    Podłączyłem również LCD bezpośrednio do uC pomijając expander I2C i również nic nie chce się wyświetlić.
    Możliwe, że przerwany jest obwód na płytce wyświetlacza odpowiedzialny za komunikację, któryś w pinów D4-7, RS, R/W, E.
    Muszę poszukać schematu mojego wyświetlacza Winstar WH1602B2-YYH-CT aby sprawdzić czy sygnały docierają tam gdzie trzeba.

    @Edit
    Moje przypuszczenia się potwierdziły. LCD jest uszkodzony, nadaje się tylko na dawce elementów.

    Zamykam temat. Dziękuję za próbę pomocy w rozwiązaniu problemu.

    Pozdrawiam.
REKLAMA