Arduino Polska Forum
Rozpoznawanie DS18B20 po ...wtyczce ;) - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino)
+--- Wątek: Rozpoznawanie DS18B20 po ...wtyczce ;) (/watek-rozpoznawanie-ds18b20-po-wtyczce)



Rozpoznawanie DS18B20 po ...wtyczce ;) - PierwszyWolnyLogin - 05-05-2019

Cześć

Mam drobny problem z termometrami DS18B20.

Jak wiadomo można się z nimi komunikować podając numer kolejny termometru
- przykładowo 1 do 5 jeśli jest ich 5szt, W takim wypadku gdy dodamy kolejny
termometr nie wiadomo na którą pozycję on wskoczy...

Można też posłużyć się adresem termometru wcześniej go odczytawszy...

Ja chciałbym zrobić to jeszcze inaczej - dla każdego termometru przygotować
osobne gniazdo. Tak żebym odwoływał się do kolejnego numeru gniazda a nie
termometru czy jego adresu.

Po co tak? Ano po to, żeby gdy trzeba wymienić termometr nie trzeba było
sprawdzać jego adresu, tylko "podłączony do gniazda nr , więc ma numer 5".

Można by napisać procedurę instalacji termometrów - typu "proszę podłączyć
termometr do gniazda nr 1 i nacisnąć czerwony przycisk". Po potwierdzeniu
wyszukać adres nowego termometru i przypisać do niego numerek gniazda.
Tak po kolei dla kolejnych gniazd i termometrów. Podobnie przy wymianie
uszkodzonego termometru.

Szczerze mówiąc nie chce mi się tego pisać Wink Gdyby istniał gotowy mechanizm
to chętnie skorzystam Smile

Proszę o wskazówki jeśli można...

PWL


RE: Rozpoznawanie DS18B20 po ...wtyczce ;) - kaczakat - 05-05-2019

Możesz sobie narobić magistral na każdy pin i tak sobie to rozwiązać, ale wtedy to w ogóle nie potrzebujesz obsługi w menu do konfiguracji czujnika, wystarczy reset procesora. Każde inne rozwiązanie czy to z ponumerowanymi gniazdkami czy wtyczkami i tak będzie się opierało o adres czujnika, wcale nie musisz go znać, program możesz sobie tak napisać, że jak nie ma czujników to przyporządkowuje je po kolei, a potem po zauważaniu nowego czujnika na magistrali przypisuje automatycznie w miejsce brakującego. Na jednej magistrali przy większej ilości czujników musisz wykorzystać adresy, bo inaczej czujniki będą przeskakiwać na zwolnioną pozycję (przynajmniej w standardowej bibliotece Dallas Temperature z odwołaniem do czujnika przez indeks tablicy). Jak braknie dwóch to i tak trzeba głębiej pokonfigurować, a całość zapisać w eeprom. Nie widziałem nigdzie gotowca z menu do tego, jak znajdziesz to się pochwal.


RE: Rozpoznawanie DS18B20 po ...wtyczce ;) - PierwszyWolnyLogin - 05-05-2019

No właśnie - nie wiedziałem szczerze mówiąc czy mogę zrobić więcej niż jedną 1wire ...
Sprawdzę ten trop, w sumie chyba najsensowniejszy poza ilością połączeń w obudowie Wink

PWL


RE: Rozpoznawanie DS18B20 po ...wtyczce ;) - es2 - 05-05-2019

Sprawdzony sposób - jak nie używasz rejestrów alarmu, co też sugeruje nota katalogowa, można tego użyć do ID układu.

(05-05-2019, 17:57)PierwszyWolnyLogin napisał(a): No właśnie - nie wiedziałem szczerze mówiąc czy mogę zrobić więcej niż jedną 1wire ...
Możesz ale aby to zrobić dobrze potrzebujesz tyle UART co 1-Wire albo masterów 1-Wire, np DS2480-800 co ma osiem masterów 1-Wire, które rozwiązują wele problemów, które nie łatwo rozwiązać początkującym w programowaniu.