Witam
Wykonałem układ do pomiaru temperatury z wykorzystaniem DS1820 i ATtiny2313.
Przy połączeniu trzyprzewodowym wszystko jest OK. Pomiar poprawny.
Chcę jednak zmniejszyć ilość przewodów i podłączyć DS1820 w układzie dwuprzewodowym. Połączyłem wyprowadzenie "VCC" DS1820 z wyprowadzeniem "GND". Równolegle do rezystora 4,7kom podciągającego linię "DQ" dołączyłem tranzystor BC558, którego bazę przez rezystor 10kom połączyłem z dodatkowym portem "A.0". Port ten na czas pomiaru temperatury ma stan "zerowy" t.j. rezystor 4,7kom jest zwarty. Moim zdaniem powinno wszystko działać poprawnie, a jednak pomiar temperatury nie jest dokonywany. Gdzie jest błąd ? Proszę o pomoc.
Oto fragment programu:
inventco.eu - proszę poprawić post.
Wykonałem układ do pomiaru temperatury z wykorzystaniem DS1820 i ATtiny2313.
Przy połączeniu trzyprzewodowym wszystko jest OK. Pomiar poprawny.
Chcę jednak zmniejszyć ilość przewodów i podłączyć DS1820 w układzie dwuprzewodowym. Połączyłem wyprowadzenie "VCC" DS1820 z wyprowadzeniem "GND". Równolegle do rezystora 4,7kom podciągającego linię "DQ" dołączyłem tranzystor BC558, którego bazę przez rezystor 10kom połączyłem z dodatkowym portem "A.0". Port ten na czas pomiaru temperatury ma stan "zerowy" t.j. rezystor 4,7kom jest zwarty. Moim zdaniem powinno wszystko działać poprawnie, a jednak pomiar temperatury nie jest dokonywany. Gdzie jest błąd ? Proszę o pomoc.
Oto fragment programu:
1wreset 'reset
1wwrite &HCC 'jeden układ
1wwrite &H44 'dokonaj pomiaru
porta.0 = 0 'zwarcie 4,7kom
Waitms 750 'zatrzymanie na czas pomiaru
porta.0 = 1 'likwidacja zwarcia rezystora 4,7kom
1wreset 'reset
1wwrite &HCC 'jeden układ
1wwrite &HBE 'polecenie odczytu
Odczyt = 1wread(2) 'odczyt temperatury
inventco.eu - proszę poprawić post.