Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

I2C LCD 16x2 Bascom - jak uruchomic?

samuel1982 05 Maj 2013 00:22 13869 32
  • #1 05 Maj 2013 00:22
    samuel1982
    Poziom 7  

    Witam serdecznie wszystkich forumowiczów
    Czy ktos z was uruchomil cos takiego.
    Próbuje na admega32 8Mhz juz od tygodnia i nic, ponoc adres jest 0x20
    I2C LCD 16x2 Bascom - jak uruchomic? I2C LCD 16x2 Bascom - jak uruchomic?

    0 29
  • #3 05 Maj 2013 12:06
    samuel1982
    Poziom 7  

    patrzac na note katalogowa podanego przez ciebie ukladu to wszystko na to wskazuje
    adres to na 99% 0x20 ustawia sie go na pierszych 3 pinach ukladu przez zwarcie do masy
    reszta ustawien to:
    0x20 - 1,2,3 do masy
    0x21 - 2 i 3 do masy
    0x22 - 1 i 3 do masy
    0x23 - 3 do masy
    0x24 - 1 i 2 do masy
    0x25 - 2 do masy
    0x26 - 1 do masy
    0x27 - wszystkie 3 piny wisza w powietrzu
    zrodlo podane przez ciebie to arduino i nie wiem co z bibliotekami do tego ustrojstwa

    Dodano po 35 [minuty]:

    Tutaj chinski opis i soft dla c++ trzeba by go jakos przerobic ale z tym c to nie dla mnie:
    <code>http://www.mjkdz.com/forum.php?mod=attachment&aid=OXw3YThhYjMxOHwxMzY3NzQ1Njc1fDY5fDM%3D</code>
    w bascomie uzywam tej biblioteki I2C_TWI.LBX to dobry kierunek?

    0
  • #4 05 Maj 2013 18:01
    Artur k.
    Admin grupy audio

    No tak, tyle że wyświetlacz sam nie zacznie działać. PCF8574 to tylko konwerter szeregowej magistrali I2C na równoległą magistralę 8 bitową.
    Musisz napisać ręcznie procedurę obsługi wyświetlacza (czyli co bit po bicie ma zostać wysłane na I2C), nie będzie działało standardowe polecenie

    Code:
    Lcd "tekst"
    .
    Chyba, że gdzieś są gotowe biblioteki do tego - musisz poszukać.

    Rozwiązanie moim zdaniem bez sensu, ponieważ procedura obsługi wyświetlacza zajmie bardzo dużo pamięci programu.

    0
  • #6 06 Maj 2013 02:07
    samuel1982
    Poziom 7  

    Tak ten grzebien z 16 szpilkami to wyprowadzenie LCD dokladnie jest on sterowany 4 bitami od d4 do d7 , d0 do d3 wisza w powietrzu ale nadal nic nie udalo sie z tym zrobic by go odpalic, powoli zaczynam myslec jak Artur K. ze rozwiazanie ciekawe aby tylko poswiecic 2 piny procka ale kosztem pamieci na jego obsluge.

    1
  • #7 06 Maj 2013 10:20
    GanzConrad
    Poziom 21  

    podobne rozwiązania są oparte o rejestr przesuwny, ale tam musimy "poświęcić" aż 3 dodatkowe bity portu. Powyższe rozwiązanie wydaje się jednym z lepszych, więc też mam zamiar je przetestować.

    1
  • #8 06 Maj 2013 21:47
    samuel1982
    Poziom 7  

    Wyswietlacz sprawny ,atmega sprawna - wszystko sprawdzone w innych ukladach i dziala znakomicie co do tego i2c to nie moge powiedziec nic bo jeszcze nawet sie nie uruchomil adres jest 0x20 z tego co w nocie katalogowej wyczytalem, scl i sda podciagniete przez 4,7k do vcc. zero reakcji

    Dodano po 3 [minuty]:

    Podlaczenie pinow do lcd
    LCD | PCF8574_T
    Const Pcf_d4 = 4
    Const Pcf_d5 = 5
    Const Pcf_d6 = 6
    Const Pcf_d7 = 7
    Const Pcf_rs = 11
    Const Pcf_rw = 10
    Const Pcf_e2 = 13
    Const Pcf_e1 = 9

    0
  • #9 06 Maj 2013 23:01
    samuel1982
    Poziom 7  

    Pierwsza ciekawostka jaka zauwazylem, uzywajac biblioteki Lcd_i2c.lib udalo sie wlaczyc podswietlenie wyswietlacza, sprawdzalem kontrast zmieniajac ustawienia potencjometra z nadzieja na to ze cos zobacze ale niestety nic, kolejna ciekawostka jest to ze podswietlenie wlaczylo sie na adresie 0x40 (udalo sie metoda prob i bledow) co ciekawe nie da sie go juz wylaczyc.Dolanczam kod zrodlowy .

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Ustawienia stalych pinow dla lcd - sprawdzilem polaczenia sciezek z ukladem i takie wlasnie przypisalem jedno mnie zastanawia bo w 16x2 LCD nie ma E2 a jest w bibliotece wymagane.

    1
  • #10 07 Maj 2013 08:57
    samuel1982
    Poziom 7  

    Problem rozwiazany. :D
    Okazalo sie ze ustawienia adresow podane w nocie katalogowej sa niepoprawne, wyswietlacz przy zwartych pierwszych 3 pinach do masy pracuje na adresie 0x40 a nie 0x20, blad jaki popelnilem to ustawienia stalych dla PORTOW a nie jak wczesniej myslalem dla PINOW.Po poprawnym skonfigurowaniu zmiennych i ustawieniu adresu 0x40 wyswietlacz ruszyl. Ponizej Kod dzialajacego programu i uzyta biblioteka Lcd_i2c.lib.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Oraz biblioteka:
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Ogolnie mozna powiedziec ze nie ma tak zle, calosc zajmuje 1% pamieci atmega32 ale w zamian otrzymujemu dodatkowe piny no i mniej kabelkow dla wyswietlacza.
    Dziekuje wszystkim ktorzy probowali pomoc w rozwiazaniu problemu i pozdrawiam.

    0
  • #12 22 Sie 2013 19:32
    samuel1982
    Poziom 7  

    A co chcesz go sobie zrobic?
    No nie wiem czy sie to oplaca bo gotowiec z wysylka na e-bay'u kupisz za 5 zl
    Zabawka fajna dziala jak malina

    0
  • #15 23 Sie 2013 10:23
    GanzConrad
    Poziom 21  

    endurasek, litości. Przeczytaj najpierw cały wątek, zamiast zadawać pytania, na które znajdziesz odpowiedź na tej stronie. scalak to PCF8574, schemat wyczytasz z biblioteki do jego obsługi, obsługuje 4x20 bo to ten sam kontroler, zasięgu 30m nie uzyskasz. Polecam specyfikację szyny I2C.

    0
  • #16 24 Sie 2013 12:22
    endurasek
    Poziom 14  

    Udało mi się to odpalić na ok 12m z rezystorami podciągającymi 3,3K od strony wyświetlacza.
    Przewód skrętka, linie SDA i SCL puściłem na dwóch kolorach znaczy się


    SDA -> pomarańczowy
    + -> biało pamarańczowy

    SCL -> niebieski
    + -> biało niebieski

    + -> brązowy
    - -> biało brązowy

    Czy to jest właściwe?

    0
  • #18 22 Paź 2013 22:17
    samuel1982
    Poziom 7  

    Nie testowalem znaczkow specjalnych - w wolnej chwili sprawdze i dam znac

    0
  • #20 01 Mar 2014 21:13
    samuel1982
    Poziom 7  

    Wszytsko śmiga testy pomyslnie przeszly mozna w ten sposób saoszczędzić kilka pinów atmegii

    0
  • #21 17 Sie 2014 20:09
    adixd19
    Poziom 9  

    Witam,
    Czy jest ktoś kto by mi pomógł to uruchomić? próbowałem programu ,który wrzucił samuel1982 i biblioteki ale nic się nie dzieje:/, wersja scalaka pcf8574t. Myślę że to może być związane z tymi ustawieniami...
    Const Pcf8574_lcd = &H40
    Const Pcf_d4 = 0
    Const Pcf_d5 = 1
    Const Pcf_d6 = 2
    Const Pcf_d7 = 3
    Const Pcf_rs = 6
    Const Pcf_rw = 5
    Const Pcf_e2 = 7
    Const Pcf_e1 = 4

    ale nie wiem gdzie co na co zmienić żeby śmigało.

    0
  • #22 18 Sie 2014 07:45
    samuel1982
    Poziom 7  

    To jest właśnie konfiguracja pinów tego scalaczka z lcd .
    Piny od 1-3 to zmiana adresu (przerwania) jesli masz je razem zwarte do masy to ok.
    jesli wszystko dobrze podłączyłeś to musi smigać.
    Na lini SCL i SDA masz rezystorki podciagające 4.7k?

    0
  • #23 18 Sie 2014 10:41
    adixd19
    Poziom 9  

    Co do rezystorów to nie mam, a podciągnięte one mają być do masy? Te trzy piny to od scalacka oznaczone A0,A1,A2 ?

    Dodano po 15 [minuty]:

    Te trzy piny co napisałem zwarłem do masy , na wyświetlaczu pojawiła się kreska na przemian z prostokątem , drugie pole od góry, podświetlanie mruga.

    0
  • #24 18 Sie 2014 20:08
    samuel1982
    Poziom 7  

    Tak te piny a0 a1 a2 do masy a scl i sda przez rezystorki do +5V i powinno smigac

    0
  • #25 19 Sie 2014 12:23
    adixd19
    Poziom 9  

    Dodałem rezystory i efekt ten sam co wyżej:|

    0
  • #26 19 Sie 2014 21:55
    samuel1982
    Poziom 7  

    I2C LCD 16x2 Bascom - jak uruchomic?

    Sprawdz takie podłączenie oczywiscie d0-d3 podepnij do masy.
    To jest tak proste ze musi działać.

    0
  • #27 20 Sie 2014 11:55
    adixd19
    Poziom 9  

    To jest gotowy moduł z tym scalaczkiem i wszystko na płytce jest tak jak na schemacie który zapodałeś. Proste a nie śmiga...chyba mnie nie lubi;P

    0
  • #28 14 Wrz 2014 18:43
    2477880
    Użytkownik usunął konto  
  • #29 14 Wrz 2014 21:19
    samuel1982
    Poziom 7  

    Nie wiem jakie ograniczenia maja wersje demo bascom'a , do ilu kb kompiluja programy ale ten zkompilowany dziala u mnie bez problemu.
    Zródło:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Tutaj demo hex na atmege32.

    0
  • #30 14 Wrz 2014 22:02
    2477880
    Użytkownik usunął konto