logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak rozróżnić i odczytać temperaturę z czujników DS18B20 i DS1820?

jimmi 03 Gru 2007 19:12 1588 6
  • #1 4548005
    jimmi
    Poziom 13  
    Posty: 49
    Pomógł: 4
    Ocena: 6
    Witam! Wie ktoś może jak rozpoznać dwa różne ds'y będące na jednej linii i odczytać z nich temp? Tzn głównie interesuje mnie jak je rozróżnić tak żeby procek wiedział który jest który i odpowiednio z nich obliczał temp??Dzięki za pomoc i zainteresowanie!LG
  • #2 4548154
    Klima
    Poziom 31  
    Posty: 1535
    Pomógł: 112
    Ocena: 180
    Muszisz je odpowiednio zaadresować. Zupełnie proste to nie jest, ale daje się zrobć - każdy z nich ma swój unikalny adres, który najpierw musisz odczytać, a potem używać do tego, żeby z konkretnym urządzeniem "pogadać". Dokładny opis masz w każdym datasheecie urządzeń na 1Wire, albo w książkach (chyba widziałem coś o 1Wire w praktycznie każdej nowej książce o mikrokontrolerach).
  • #3 4548608
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    jimmi napisał:
    ...Tzn głównie interesuje mnie jak je rozróżnić tak żeby procek wiedział który jest który i odpowiednio z nich obliczał temp??...

    To jest akurat prosta sprawa.Skoro mają być na jednej magistrali , to tak czy siak , musisz odczytać ich numery seryjne(ID,adres).Jaki już to zrobisz , to po family code łatwo rozpoznasz , który numer należy do którego DS-a.

    Piotrek
  • #4 4550863
    Klima
    Poziom 31  
    Posty: 1535
    Pomógł: 112
    Ocena: 180
    zumek napisał:
    jimmi napisał:
    ...Tzn głównie interesuje mnie jak je rozróżnić tak żeby procek wiedział który jest który i odpowiednio z nich obliczał temp??...

    To jest akurat prosta sprawa.Skoro mają być na jednej magistrali , to tak czy siak , musisz odczytać ich numery seryjne(ID,adres).Jaki już to zrobisz , to po family code łatwo rozpoznasz , który numer należy do którego DS-a.

    Piotrek


    Jak będzie miał na przykład 2 termometry ds1820, to nie rozpozna. Trzeba użyć prymitywnych metod, żeby je odróżnić.
  • #5 4551378
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    Klima napisał:
    ...Jak będzie miał na przykład 2 termometry ds1820, to nie rozpozna...

    Chyba nie zrozumiałeś pytania ;)
    jimmi chce odróżnić DS1820 od DS18B20 , by wiedzieć w jaki sposób obliczyć temperaturę.Ja podałem mu tylko , sposób na to - to wszystko.Natomiast lokalizacja konkretnego termometru w sieci , to już inna bajka :)

    Piotrek
  • #6 4551790
    Klima
    Poziom 31  
    Posty: 1535
    Pomógł: 112
    Ocena: 180
    zumek napisał:

    Chyba nie zrozumiałeś pytania ;)


    Pójdźmy na kompromis - nasze postrzeganie sensu pytania jest nieco różne.
    Dobrze by było, żeby Autor pytania się wypowiedział, bo my się tu pokłócimy a on i tak nie przeczyta...
  • #7 4671555
    jimmi
    Poziom 13  
    Posty: 49
    Pomógł: 4
    Ocena: 6
    Przeczyta przeczyta, trochę mnie nie było, ale czytałem i puki co pozostanę przy starych metodach, czyli rozpoznawanie po ID czujnika. Na razie zawiesiłem próby łączenia dwóch różnych typów na jednej linii i łączę inne czujniki razem (wilgotność - sht11, ciśnienie-mpx, temperatura-ds18). Jak będzie gotowa całość to pewnie wrzucę projekt i opis. Chwilowo ten topic uznaje za zamknięty.
    EOT
    jimmi

Podsumowanie tematu

✨ W dyskusji omówiono sposób rozróżniania i odczytu temperatury z czujników DS18B20 i DS1820 podłączonych do jednej magistrali 1-Wire. Kluczową metodą jest wykorzystanie unikalnych adresów (ID) każdego czujnika, które należy najpierw odczytać, a następnie używać do komunikacji z konkretnym urządzeniem. Dzięki temu procesor może rozpoznać, z którym czujnikiem pracuje i odpowiednio przetwarzać dane temperatury. Wskazano, że każdy czujnik posiada unikalny numer seryjny oraz kod rodziny (family code), co ułatwia identyfikację modelu i właściwe obliczenia temperatury. Zwrócono uwagę, że rozróżnienie dwóch identycznych modeli DS1820 na jednej linii może być trudniejsze i wymagać dodatkowych metod. Autor tematu ostatecznie zdecydował się na stosowanie rozpoznawania po ID i zrezygnował z łączenia różnych typów czujników na jednej magistrali, łącząc zamiast tego inne czujniki (np. wilgotności i ciśnienia) z DS18.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA