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 21 maja 2025, o 12:42


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 21 sty 2018, o 11:14 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 lut 2016
    Posty: 259
    Lokalizacja: Norwegia
    Pomógł: 16

    Dzień dobry

    Zamiast brnąć do celu w realizacji projektu, zabrałem się za rozgryzanie PSoCów i pomyślałem że dobrze by było poznać blok funkcjonalny I2C który jest oferowany w kreatorze.
    Tym razem testowanie rozpocząłem odrazu z Cypress SHIELD na zestawie ATB 1.05 (Chciałem mieć pewność że nie mam gdzieś wlutowanych kondensatorów na portach tak jak w przypadku CYCKITów).
    Ponieważ nie jestem orłem z zakresu programowania, zabrałem się za I2C podpatrując innych i w miarę swoich umiejętności adoptowałem rozwiązanie do mojego sprzętu.

    Do testów z I2C użyłem modułu DS3231, Cypress Shield Atnel oraz zestaw ATB 1.05. oraz wyświetlacza HX8357B którego udało mi się opanować i przedstawić Wam wcześniej.








    Szczerze mówiąc myślałem że uruchomienie I2C na Cypress będzie równie proste i klarowne jak z AVR i będzie się sprowadzać do małych zmian dla hardwaru, ale niestety nie jest tak łatwo (przynajmniej dla mnie który jestem naprawdę lamerem w programowaniu).
    Do oprogramowania tego ćwiczenia użyłem bloku - I2C Master (Fixed Function) v3.50 oraz dostępnych funkcji API.
    Przyznam że te funkcje są dość pokręcone i musiałem kilka razy przeczytać Cypressowy datasheet dla komponentu I2C a i tak nie do końca to ogarnąłem. Dopiero po szklance dobrej whisky dostałem oświecenia.
    Przedstawię podstawowe funkcje do zapisu i odczytu po I2C które w końcu wykonują to czego od nich wymagam.

    Funkcja która odczytuje dane (czas, datę i numer dnia tygodnia) z DS3231 i zapisuje je do tablicy.

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


    Funkcja która zapisuje dane z tablicy (czas, datę i numer dnia tygodnia) do DS3231.

    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.


    Jestem pewny że jak przyjrzycie się obu funkcjom to zauważycie mechanizm działania zapisu i odczytu. Dla mnie który poznał I2C wyłącznie na AVR, ten mechanizm z PSoC był trochę zawiły ale w końcu dostrzegłem logikę :)

    Teraz funkcja która wyświetla informacje z DS3231 na wyświetlaczu HX8357

    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.


    na końcu tej funkcji jak widać, wywołuję jeszcze jedną Daysofweek () która dodaje dni tygodnia

    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.


    jeszcze tyle zestaw deklaracji który powinien być na początku... sorki ja jeszcze tego nie zamknąłem do biblioteki :)

    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.


    Jest jedna zasadzka z którą nie mogłem sobie poradzić. Otóż Ci którzy bawili się DS3231 na przykład po poradnikach Mirka (chwała Mirkowi za te poradniki) pamiętają że adres dla tego scalaka na I2C jest 1101000 czyli w AVR używamy 0xD0 no i to jest pułapka :)
    Nie wiedziałem czemu mi to wszystko nie chce działać i dokopałem się do takiej informacji

    "The data sheet gives the 7 bit address. When you call the I2C API, pass this 7 bit address. The API wll add the R/W bit 1101000. For the given address, you have to pass 0x68 as the slave address for the bWriteBytes and fReadBytes parameter. "

    Po zmianie adresu z 0xD0 na poprawiony dla PSoC API adres 0x68, zegarek zaczął ze mną dialogować po I2C.

    Reasumując, mam już opanowaną na poziomie LAMERSKIM obsługę SPI, I2C, QuadDec (super narzędzie do obsługi enkoderów zarówno optycznych jak i mechanicznych, mam to przetestowane z obydwoma rodzajami).
    Piszę to między innymi dla tego żeby trochę nawrzucać kamyczków do Mirkowego ogródka który zaniedbał PSoCi ostatnio :P ale nie żebym się żalił czy coś, bo właśnie od samego rana zbieram szczękę z podłogi po obejrzeniu Mirkowego przedstawienia o Menu kreatorze... ja też chcę tak umieć :)

    _________________
    SP2LUB - LA1BUA



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2018, o 12:05 
    Offline
    Użytkownik

    Dołączył(a): 19 paź 2014
    Posty: 357
    Lokalizacja: stolyca pyrlandii :)
    Pomógł: 18

    No co jak co, ale tytułem to Ty potrafisz przykuć uwagę :P
    A tak swoją drogą, będę musiał się bardziej przyjrzeć Twojej twórczości - bo ciekawa ona jest :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2018, o 12:49 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    karolen napisał(a):
    No co jak co, ale tytułem to Ty potrafisz przykuć uwagę
    Mirek zaspokaja małżonkę w magicznej kuchni a SP2LUB się bawi CYCKAMI. Chyba forum robi się bardzo "męskie" ;)

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2018, o 13:01 
    Offline
    Moderator
    Avatar użytkownika

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

    rskup napisał(a):
    karolen napisał(a):
    No co jak co, ale tytułem to Ty potrafisz przykuć uwagę
    Mirek zaspokaja małżonkę w magicznej kuchni a SP2LUB się bawi CYCKAMI. Chyba forum robi się bardzo "męskie" ;)


    a kolega to co? nie bawi się czasem stringami ? :lol: ..... z tego co wiem to wielu forumowiczów lubi takie brzydkie zabawy ;) i ciągle mieli te stringi :lol: w łapkach ... ja również (nie będę ukrywał)

    _________________
    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: 21 sty 2018, o 13:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 lut 2016
    Posty: 259
    Lokalizacja: Norwegia
    Pomógł: 16

    Każdy kto widział Mirkowe poradniki o DS3231 widział to wyznanie Mirka na wizji..... "stanął mi...... no zegarek mi stanął" ;)

    _________________
    SP2LUB - LA1BUA



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2018, o 13:32 
    Offline
    Moderator
    Avatar użytkownika

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

    SP2LUB napisał(a):
    Każdy kto widział Mirkowe poradniki o DS3231 widział to wyznanie Mirka na wizji..... "stanął mi...... no zegarek mi stanął" ;)

    No proszę, kolega wyciąga mi tu... ten tego... takie no :lol: ... a czy to tylko ja ? ... widział kolega co stało się MISiO(wi) ? ;)

    https://youtu.be/J3kPNmb3wV4?t=160

    _________________
    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: 21 sty 2018, o 13:41 
    Offline
    Użytkownik

    Dołączył(a): 19 paź 2014
    Posty: 357
    Lokalizacja: stolyca pyrlandii :)
    Pomógł: 18

    Kurcze chłopaki, szczęście że w ostatniej chwili miałem przebłysk i przełknąłem kawę zanim otwarłem wątek...
    Bo tak przy niedzieli ze ścierą biegać :P



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2018, o 14:27 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    mirekk36 napisał(a):
    a kolega to co? nie bawi się czasem stringami ? ..... z tego co wiem to wielu forumowiczów lubi takie brzydkie zabawy i ciągle mieli te stringi w łapkach ... ja również (nie będę ukrywał)

    No tak. Nie będę hipokrytą i także się przyznam - lubię bawić się stringami :)
    Najgorsze, że CYCKI czekają na mnie od 2 miesięcy, bo kupiłem moduł do zestawu ATB razem z PCB do MagicMatrixa i cały czas się nimi jeszcze nie pobawiłem :( Więc takie wątki mobilizują by rzucić inne rzeczy i się za nie wziąć. Lecz chyba dziś skończę w końcu kleić kwadraciki do MM :)
    Także czeka mnie coś w stylu zaspokajania w kuchni. Taśma MagicLED już od kilku miesięcy czeka. Pierwsze wstępne efekty nawet pokazałem, ale nic jeszcze nie zostało zrobione.
    Więc dużo "męskiej" pracy przede mną :D. I wspominane stringi, na pewno też będą się przewijać :).

    --
    Pozdrawiam,
    Robert

    ------------------------ [ Dodano po: kilkunastu sekundach ]

    Choć przy stingach najbardziej interesująca jest funkcja w javie getStringFromObj() :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2018, o 15:52 
    Offline
    Moderator
    Avatar użytkownika

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

    eeeeeeh - do tej pory myślałem, że tylko stringi są kotrowersyjne przy programowaniu - ale od dzisiaj wiem, że jest jeszcze coś takiego jak "CYCKI" :lol: ... :lol: i kto mi zapłaci za zachlapany monitor ja się pytam ? ... wynika z tego, że główny podejrzany SP2LUB ... który tak nomen omen - to fajne programy na CYCKach robi ;) sam muszę znaleźć więcej czasu, żeby je pomiziać :lol:

    _________________
    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  
    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 0 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