| ATNEL tech-forum https://forum.atnel.pl/ |
|
| Czujnik SHT30 https://forum.atnel.pl/topic24623.html |
Strona 1 z 1 |
| Autor: | SylwekK [ 19 lut 2024, o 20:09 ] |
| Tytuł: | Czujnik SHT30 |
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? |
|
| Autor: | avrfun [ 19 lut 2024, o 21:12 ] |
| Tytuł: | Re: Czujnik SHT30 |
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: | SylwekK [ 19 lut 2024, o 21:15 ] |
| Tytuł: | Re: Czujnik SHT30 |
O ciekawa opcja |
|
| Autor: | grzeniu 73 [ 19 lut 2024, o 21:36 ] |
| Tytuł: | Re: Czujnik SHT30 |
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: | SylwekK [ 19 lut 2024, o 22:42 ] |
| Tytuł: | Re: Czujnik SHT30 |
Dzięki wielkie |
|
| Autor: | Draxter32 [ 20 lut 2024, o 13:11 ] |
| Tytuł: | Re: Czujnik SHT30 |
Polecam Chat OpenAI. Generuje coraz lepszy kod. |
|
| Autor: | SylwekK [ 20 lut 2024, o 13:42 ] |
| Tytuł: | Re: Czujnik SHT30 |
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 |
|
| Autor: | grzeniu 73 [ 20 lut 2024, o 15:02 ] |
| Tytuł: | Re: Czujnik SHT30 |
W PDF masz tam jeszcze komendy do włączenia grzałki. |
|
| Autor: | SylwekK [ 25 lut 2024, o 13:02 ] |
| Tytuł: | Re: Czujnik SHT30 |
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 |
|
| Autor: | JacekS50 [ 26 lut 2024, o 11:04 ] |
| Tytuł: | Re: Czujnik SHT30 |
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) |
|
| Autor: | SylwekK [ 26 lut 2024, o 13:09 ] |
| Tytuł: | Re: Czujnik SHT30 |
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 |
|
| Autor: | mirekk36 [ 26 lut 2024, o 23:38 ] |
| Tytuł: | Re: Czujnik SHT30 |
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 |
|
| Autor: | SylwekK [ 27 lut 2024, o 07:31 ] |
| Tytuł: | Re: Czujnik SHT30 |
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 |
|
| Autor: | grzeniu 73 [ 29 lut 2024, o 19:18 ] |
| Tytuł: | Re: Czujnik SHT30 |
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. |
|
| Autor: | SylwekK [ 29 lut 2024, o 19:48 ] |
| Tytuł: | Re: Czujnik SHT30 |
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 |
|
| Strona 1 z 1 | Strefa czasowa: UTC + 1 |
| Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |
|