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 w 2025? 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 12 kwi 2025, o 14:43


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 29 paź 2014, o 09:49 
    Offline
    Nowy

    Dołączył(a): 15 paź 2013
    Posty: 2
    Pomógł: 0

    Witam !

    Proszę o pomoc.
    Postanowiłem do mojego projektu dołożyć wyświetlacz OLED 0,96" sterowany po I2C.
    Ponieważ program napisany w bascomie przepisałem procedurę inicjalizacji wg. kodu z C

    [ panie kolego a zapoznałeś się najpierw z tym: topic7402.html ??? ... czyli jak prawidłowo umieszczać kod na forum? .... druga sprawa, czy tak na chybił trafił wybierasz dział w którym piszesz post ? :( ... bo co ma ten wątek wspólnego z działem "Bascom AVR" ? - ok popraw najpierw kod wg tej instrukcji z linku - mirekk36 ]

    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.


    Mój problem polega na tym że wyświetlacz zaczyna rysować od połowy w dół a potem od góry dalej w dół.
    Wiem że wg datasheet SSD1306 odpowiedzialny jest Set COM Pins Hardware Configuration (DAh) - tak mi się przynajmniej wydaje.
    Próbowałem różnych ustawień może chaotycznie i nie potrafię tego ogarnąć.
    Wszystko inne czyli samo wyświetlanie, regulacja kontrastu, inwersja, odświeżanie itd.
    Problem tylko z ustawieniem adresu początku wyświetlania.

    pozdrawiam
    Paweł

    ps.
    wklejanie kodu poprawiłem
    dział jest dobry



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 paź 2014, o 10:23 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 cze 2014
    Posty: 820
    Lokalizacja: Tam gdzie PYRY są
    Pomógł: 64

    Wrzucasz wycinek kodu Mirkowego w C i liczysz ze ktoś znajdzie błąd u Ciebie w Bascomie? Ja nie potrafię tak.
    Ale szukał bym raczej w okolicach set start line

    _________________
    IntegraMETEO
    WordCLOCK
    IntegraTOUCH



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 paź 2014, o 10:40 
    Offline
    Moderator
    Avatar użytkownika

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

    pawelkiwi napisał(a):
    dział jest dobry

    ok przepraszam - spojrzałem tylko na kod ...

    _________________
    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: 29 paź 2014, o 11:20 
    Offline
    Nowy

    Dołączył(a): 15 paź 2013
    Posty: 2
    Pomógł: 0

    Problem nie dotyczy kodu w Bascomie.
    Wysyłam po kolei inicjalizację wyświetlacza po I2C wzorując się na inicjalizacji Pana Mirka w C (ponieważ jestem poza domem nie mam dostępu do kodu w Bacomie bo bym załączył).
    Post napisałem ponieważ czytając forum odnośnie uruchamiania OLED-a parę postów było właśnie o podobnym efekcie czyli rysowanie w pamięci nie było w lewym górnym rogu 0,0 tylko w połowie czyli 0,32.
    Myślałem że ktoś mi podpowie mi co w inicjalizacji decyduje o takim sposobie początku rysowania.

    ----
    Problem rozwiązany.
    1. Dorobienie resetu do LCD wg. opisu Pana Mirka pomaga w momencie dziwnych "zwisów" programowych wyświetlacza.
    Objawiało się to tym że mimo już 100% dobrego programu wyświetlacz nie potrafił się zainicjalizować. Teraz inicjalizacja w 100% pewna. Tak więc nie tylko SPI ale i I2C ma te same bolączki. Do wylutowania elementy D1, R4, C7 i we wspólny punkt łączący te elementy na dole dolutować pin RST. Oczywiście w programie przy inicjalizacji na początku HI, LO, HI.
    2. Resystory PullUp - wymagane wg. noty SSD1306 - u mnie okazały się być potrzebne przy jednym egzemplarzu, przy drugim nie ( obydwa OLED-y od Pana Mirka).
    3. Najważniejsze. Poprawna inicjalizacja. Nie będę pisał tylko załączę prawidłowy kod. Może się komuś przyda.

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


    Pozdrawiam wszystkich.
    Panie Mirku podgląd inicjalizacji u Pana przydał się + troszkę dodałem :)



    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: 4 ] 

    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