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 3 kwi 2025, o 20:27


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
    Autor Wiadomość
     Tytuł: Czujnik SHT30
    PostNapisane: 19 lut 2024, o 20:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1968
    Lokalizacja: Lipsko
    Pomógł: 125

    Ludziska pytanie... czy ktoś używa w swoich projektach czujnika SHT30? Wyszukiwarka na forum nic nie znajduje, a mi aż się wierzyć nie chce, że jest on tak mało popularny w sieci wśród majsterkowiczów. Znalazłem coś na githubie pod arduino, ale ja tej składni kompletnie nie kumam. Ktoś ma może jakieś działające biblioteki pod avr?

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lut 2024, o 21:12 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 kwi 2015
    Posty: 450
    Pomógł: 3

    Witaj! Wpisałem na stronie https://chat.openai.com/ polecenie: "Napisz kod w języku C do obsługi czujnika SHT30 na mikrokontroler avr".
    Warto z ciekawości wypróbować sugerowany kod.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lut 2024, o 21:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1968
    Lokalizacja: Lipsko
    Pomógł: 125

    O ciekawa opcja :) Muszę sprawdzić. Dzięki :)

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lut 2024, o 21:36 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    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.


    obsługa tego jest banalna. Przykład w bascom. Mysle, ze bez problemu sobie przetłumaczysz bo to tylko parę linijek. Wysyłasz najpierw dwa byte konfiguracyjne, musisz parę milisekund poczekać i odczytać 6 byte i przeliczyć. Bardzo fajny i dokladny czujnik


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lut 2024, o 22:42 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1968
    Lokalizacja: Lipsko
    Pomógł: 125

    Dzięki wielkie :) Widzę, że to mniej skomplikowane niż zakładałem :)

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2024, o 13:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 sty 2015
    Posty: 190
    Pomógł: 11

    Polecam Chat OpenAI. Generuje coraz lepszy kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2024, o 13:42 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1968
    Lokalizacja: Lipsko
    Pomógł: 125

    Czas temu jakiś zapytałem czat o jakiś kod podczas nauki java script i zaskoczył mnie ciekawym rozwiązaniem. Całkowicie zapomniałem aby ponownie zadać pytanie tym razem w kwestii czujnika :)

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2024, o 15:02 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    W PDF masz tam jeszcze komendy do włączenia grzałki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 lut 2024, o 13:02 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1968
    Lokalizacja: Lipsko
    Pomógł: 125

    Pytanie mi się nasunęło, coś gdzieś chyba przeoczyłem, a chodzi o adres czujnika. Datasheet podaje 0x44, natomiast żeby wszystko działało trzeba go przesunąć w lewo (0x88) i wtedy wszystko jest ok - jest miejsce na bit ACK/NACK, a przy 0x44 tego miejsca by zabrakło, bo ten sam datasheet mówi o też o adresie 0x45 (jeśli ADDR+), a wtedy bit 0 jest zajęty. Jak to jest z tymi adresami? Przyznam, że nie miałem potrzeby do tej pory szukać tych informacji i się nad tym zastanawiać jeśli miałem jakąś gotową obsługę konkretnego czujnika, po prostu ktoś napisał działa, to nie ma czasu na drążenie adresów chyba, że poprawa algorytmu działania i przystosowanie samego programu do własnych potrzeb.
    Przy okazji gotowy działający przykład w C (w oparciu o bibliotekę I2C z BB) dla potomnych poniżej :)

    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.

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2024, o 11:04 
    Offline
    Nowy

    Dołączył(a): 14 maja 2020
    Posty: 11
    Pomógł: 1

    Odnośnie adresowania. Zwróć uwagę, że w datasheet jest napisane: "Należy pamiętać, że adres I2C jest reprezentowany przez 7 najstarszych bitów nagłówka odczytu lub zapisu I2C. Najmłodszy bit przełącza między nagłówkiem odczytu lub zapisu." Zatem adresy: 0x44 lub 0x45 to jest takie podawanie trochę w stylu Arduino. Generalnie tak podane adresy (z informacją, że odnoszą się do 7 najstarszych bitów) należy rozumieć jako:
    1 0 0 0 1 0 0 R/W
    lub
    1 0 0 0 1 0 1 R/W
    Stąd wyjdą adresy 88 lub 8A. Generalnie w transmisji I2C najmłodszy bit bajtu z adresem odpowiada za to, czy mamy do czynienia z operacją odczytu (R/W=1) czy zapisu (R/W=0)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2024, o 13:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1968
    Lokalizacja: Lipsko
    Pomógł: 125

    Dzięki za wyjaśnienie. O tym najmłodszym bicie to wiedziałem tylko ten sposób podawania adresów jest co najmniej dziwny mówiąc delikatnie. Przecież mogli od razu napisać 0x88 i nie byłoby zamieszania :)

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2024, o 23:38 
    Offline
    Moderator
    Avatar użytkownika

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

    SylwekK napisał(a):
    Dzięki za wyjaśnienie. O tym najmłodszym bicie to wiedziałem tylko ten sposób podawania adresów jest co najmniej dziwny mówiąc delikatnie. Przecież mogli od razu napisać 0x88 i nie byłoby zamieszania :)


    Niestety cały koci świat andruino przyjmuje czy tam mówi o adresowaniu w postaci 7 bitów !!! czyli bez najmłodszego bitu, więc dla andruino nie będzie to adres 0x88 tylko 0x44 - masakra. Ale nawet w najnowszym oprogramowaniu od Saleae przyjęli takie wariackie przedstawianie adresów andruinowe. Owszem można w sofcie najnowszym Logic 2.x włączyć sobie normalne adresowanie ale i tak na górze ramki będzie się pokazywało 0x44 a dopiero na dole po włączeniu plugina będzie widać 0x88.

    Gdy tymczasem w starszych ich programach Logic 1.x było normalne adresowanie i widać byłoby 0x88

    ------------------------ [ Dodano po: 1 minucie ]

    SylwekK napisał(a):
    #define SHT30_ADDR 0x44


    Zatem właśnie tu spotkałeś się z kocim adresowaniem andruinowym czyli 7bitów adresu przedstawionych jest jako 8bitowy adres ale przesunięty w prawo o jeden bit ... niestety nie tylko andruinowcy jak widać takie kocie adresowanie i2c uznają i stąd później pomyłki często.

    ------------------------ [ Dodano po: 2 minutach ]

    jak dasz sobie

    SylwekK napisał(a):
    #define SHT30_ADDR 0x88
    I2C_read_buf((SHT30_ADDR)+1, 0x00, 6, bufor);


    to wtedy nie trzeba kociego przesunięcia wpisywać przy adresie

    _________________
    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: 27 lut 2024, o 07:31 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1968
    Lokalizacja: Lipsko
    Pomógł: 125

    Masakra z tymi adresami :)
    Tak wiem, że przesunięcia nie muszę robić tylko wprowadziłem taki zapis żeby soebie nie zaciemniać sytuacji na przyszłość jak spojrzę w pdf i znów się będę zastanawiał dlaczego wpisałem co innego... W sumie po tych wyjaśnieniach powyższych to już mi zapadnie w pamięć ten adres na amen :)
    Dzięki wszystkim jeszcze raz :)

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lut 2024, o 19:18 
    Offline
    Użytkownik

    Dołączył(a): 19 lip 2013
    Posty: 771
    Pomógł: 40

    Tak podpowiem, żeby nie bawić sie w ten Delay pomiędzy konfiguracja , a odczytem to wyślij konfiguracje przed pętla główną i jak będziesz odczytywał w petli to dane juz będą gotowe. Po odczycie od razu wyślij mu te dwa bajty konfiguracyjne.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lut 2024, o 19:48 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1968
    Lokalizacja: Lipsko
    Pomógł: 125

    Dzięki za poradę. Oczywiście dlla mnie delay nie stanowi problemu, bo wszystkie programy piszę na maksa przelotowo i z czasowym podziałem funkcji. Nic się nie blokuje i nie zatrzymuje, a jeśli musi coś czekać to jest po prostu pomijane

    _________________
    http://www.sylwekkuna.com



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

    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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO