Arduino Polska Forum

Pełna wersja: Rozpoznawanie DS18B20 po ...wtyczce ;)
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
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
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.
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
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.