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

Jak ustawić kolejność komunikacji z czujnikami DS1820 w Bascom?

e11 08 Lut 2007 21:50 1617 5
REKLAMA
  • #1 3546003
    e11
    Poziom 17  
    Posty: 331
    Ocena: 14
    Zastanawiam się jaki jest mechanizm komunikowania się procesora z układami DS. Bardziej precyzyjnie to podpinamy dwa układy DS. ( np. DS1820) z którym procesor skomunikuje się jako pierwszy czy ten , który ma niższy numer ID. Zastanawiam się nad tym dlatego ,że mając zbudowany układ i zamontowany na obiekcie np. z dwoma czujnikami i zachodzi potrzeba wymiany jednego z nich , co wtedy . Chyba nie źle można namieszać . Jak zrobić w bascom-ie kolejność komunikowania się z czujnikiem, że jeżeli wymieniam czujnik temperatury pieca to po wymianie czujnika jest to dalej ten sam punkt pomiarowy a nie zamieniają się miejscami. Pozdrawiam
  • REKLAMA
  • #2 3546468
    szeri88
    Poziom 14  
    Posty: 163
    Pomógł: 11
    Ocena: 2
    Z doświadczenia wnioskuje, że jako pierwszy układ wykrywany jest ten z najniższym ID. Myślę, że projektując system warto to przewidzieć wprowadzając do programu funkcję "ustawienia". Ja obecnie robię termometr dwu-punktowy. Aby nie było problemów przy wymianie czujnika - po starcie systemu należy podłaczyć pierwszy czujnik, a po kilku sekundach drugi - proste i skuteczne.

    Pozdrawiam
  • REKLAMA
  • #3 3548754
    genetix
    Poziom 24  
    Posty: 669
    Pomógł: 42
    :arrow: e11

    Jeśli urządzenie pracuje z wyświetlaczem teksowym - można zrobić menu serwisowe z funkcją detekcji wszystkich podłączonych podzespołów 1-wire. Następnie program prosiłby o przyporządkowanie ID czujnika do mierzonej wielkości, np na LCD 2x20:

    sensor for t1:
    [DS18B20 ID:XXXXXXY]
  • REKLAMA
  • #4 3548802
    e11
    Poziom 17  
    Posty: 331
    Ocena: 14
    Szeri88 a co po zaniku zasilania i ponownym powrocie .
    Genetix masz racje jednak dla mnie to jeszcze za trudne .To są początki mojego programowania.
  • REKLAMA
  • #5 3548968
    genetix
    Poziom 24  
    Posty: 669
    Pomógł: 42
    e11 napisał:
    Szeri88 a co po zaniku zasilania i ponownym powrocie .


    Wtedy układ wykryje "od razu" oba czujniki, więc zmiany konfiguracji nie będzie. Ewentualnie możesz zrobić jeszcze inaczej - ciekawiej:

    Podłącz sobie dipswitch do jakiegoś portu. Jeśli podłączasz nowe czujniki robisz tak:
    1. na dipswitchu wybierasz sobie np. temp1, ustawiając 0001
    2. podpinasz tylko jeden czujnik (który ma pracować jako temp1) i włączasz zasilanie
    3. procek się "budzi", widzi 0001 więc identyfikuje czujnik jako "temp1" i jego numer ID zapisuje w EEPROM'ie jako ID czujnika od temperatury "1"
    4. wyłączasz, zmieniasz dipswitch na 0010, podłączasz czujnik 2 i znów to samo

    po zaprogramowaniu wszystkich czujników ustawiasz dipswitch na 0, czyli po podłączeniu zasilania układ zacznie normalnie pracować.

    Myślę, że dasz sobie radę,
    pozdrawiam
    G.
REKLAMA