Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 26 lip 2025, o 14:05


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 17 lip 2019, o 18:50 
    Offline
    Nowy

    Dołączył(a): 17 lip 2019
    Posty: 4
    Pomógł: 0

    Cześć, witam wszystkich.

    Próbuję wysterować wyświetlaczem za pomocą interfejsu I2C, lecz póki co żadnych efektów.
    Moja atmega to Atmega168. wyświetlacz to lcd 16x2 zgodny ze sterownikiem Hitachi hd44780.
    Konwerter I2C jest na bazie układu PCF8574T.

    Schemat połączeń konwertera z wyświetlaczem.
    P0 -> RS
    P1 -> RW
    P2 -> E
    P3 -> tranzystor sterujący podświetlaniem
    P4 -> D4
    P5 -> D5
    P6 -> D6
    P7 -> D7

    Sam konwerter ma już podciągnięte linie SDA i SCL do VCC przez rezystory 4,7k.

    Odpuściłem już próby inicjalizacji wyświetlacza, chce po prostu uruchomić podświetlanie.
    Próbowałem wszystkich adresów, na jakich może działać konwerter.

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Wysłanie na magistralę tego co podałem w main, powinno uruchomić podświetlanie wyświetlacza, lecz nic takiego się nie dzieje. Testowałem połączenia pomiędzy mikrokontrolerem, a konwerterem, pomiędzy układem PCF8574T na konwerterze, a pinami wyświetlacza i wspomnianego tranzystora sterującego podświetlaniem. Nigdzie nie wiedzę problemów, więc dlaczego ten wyświetlacz nie chce się zaświecić? Oczywiście po założeniu odpowiedniej zworki świeci się cały czas, ale wtedy nie da się sterować podświetlaniem.

    Dodam też, że wszelkie próby inicjalizacji wyświetlacza itp, nic nie dały, zero efektu, nic się nie wyświetla, nic się nie dzieje.

    Ma ktoś pomysł co robię nie tak?

    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2019, o 19:40 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 501
    Lokalizacja: Siedlce
    Pomógł: 9

    Temat był poruszany:
    topic13873.html

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2019, o 20:34 
    Offline
    Nowy

    Dołączył(a): 17 lip 2019
    Posty: 4
    Pomógł: 0

    Niestety nadal bez zmian, mam układ PCF8574T, piny A0, A1, A2 nie są nigdzie dopięte, więc adres powinien być 0x4E.
    Próbuję wysłać na magistralę adres 0x4E, a następnie 0x08 w celu zapalenia podświetlania wyświetlacza, ale zero reakcji.

    ------------------------ [ Dodano po: 18 minutach ]

    Po wysłaniu adresu w TWSR mam 0x18, natomiast wysyłanie danych wisi w pętli.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lip 2019, o 08:01 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1174
    Lokalizacja: Kraków
    Pomógł: 94

    Pobierz sobie program I2C Scaner. Pokaże Ci się poprawny adres konwertera.
    Prostszego sposobu nie znam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lip 2019, o 09:42 
    Offline
    Nowy

    Dołączył(a): 17 lip 2019
    Posty: 4
    Pomógł: 0

    Generalnie wiem, że adres to 0x4E, dostaję ACK po wysłaniu adresu na magistrale. Problem w tym, że po wysłaniu danych nie dostaję żadnego statusu, bo pętla wysyłająca wisi i nie przerywa swojego działania.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lip 2019, o 11:46 
    Offline
    Użytkownik

    Dołączył(a): 07 cze 2016
    Posty: 563
    Pomógł: 143

    sampel napisał(a):
    piny A0, A1, A2 nie są nigdzie dopięte, więc adres powinien być 0x4E

    Ten układ nie ma na wejściach adresowych rezystorów pull-up, więc piny powinny być gdzieś podłączone.

    Jakie masz taktowanie mikrokontrolera? Nigdzie nie ustawiasz prędkości transmisji, a domyślnie (po resecie) jest ustawiona na F_CPU/16, co przy zegarze np. 16MHz daje taktowanie magistrali równe 1MHz, czyli zdecydowanie za dużo. Układ PCF8574T zgodnie z dokumentacją akceptuje maksymalnie 100kHz.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lip 2019, o 18:18 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    Cytuj:
    Problemem pewnie są wiszące linie adresowe. Miałem ten sam problem z pcf8575 - dotknięcie palcem zmieniało losowo adres urządzenia.

    Panowie po co te domysły - toż w nocie PDF scalaka jest to napisane jak BYK, że nie linie adresowe nie mają podciągania i nie mogą pozostawać "wiszące"

    To po pierwsze - a po drugie - taki to właśnie urok chińskiej myśli technicznej

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lip 2019, o 06:50 
    Offline
    Nowy

    Dołączył(a): 17 lip 2019
    Posty: 4
    Pomógł: 0

    Problemem okazała się prędkość transmisji, właściwie nie wiem dlaczego nie zwróciłem na to uwagi. Takowanie mojego procka to 12Mhz więc do rejestru TWBR wprowadziłem wartość 52.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 lip 2019, o 09:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1174
    Lokalizacja: Kraków
    Pomógł: 94

    Czyli nie musi być rezystorów, ale muszą być podłączone. Albo do Vcc, albo do GND. A to oznacza, że nie mogą zostać niepodłączone!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO