Witam szanownych grupowiczów.
Mam dwa takie termometry i chcialbym je podlaczyc na jednej lini 1Wire. Ale nie potrafie odczytywac z nich temperatury. Jak powinien wygladac kawalek kodu w ktory jest odpowiedzialny za wpisywanie numerow seryjnych. Dla uproszczenia pomijam zczytywanie ile jest ukladow i jakie maja numery, zakladam ze numery sa znane, juz wczesniej odczytane. Ja mialem taki programik, o ile mnie pamiec nie myli
.
.
.
1wreset
for a=1 to 8
1wwrite num_seryjny(a)
next a
call odczyt temperatury
ale cos mi nie dziala, czytalem note ds1820 i postepowalem wg opisu(mam nadzieje) jesli idzie o wysylanie numeru ale efekt byl gorzej niz oplakany.
Prosze o pomoc. I z gory dziekuje.
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięZnowu termometr DS1820
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
programik na odczytanie 2xDS1820 pod jedno wejście
Numer(1) = 16 : Numer(2) = 71 : Numer(3) = 156 : Numer(4) = 41 : Numer(5) = 0 : Numer(6) = 0 : Numer(7) = 0 : Numer(8) = 126
Numer1(1) = 16 : Numer1(2) = 71 : Numer1(3) = 85 : Numer1(4) = 29 : Numer1(5) = 0 : Numer1(6) = 0 : Numer1(7) = 0 : Numer1(8) = 233
To są moje numert Ds-ów ty wpisz swoje numery DS-ów
Sub Temperatura
1wreset
1wwrite &H55
Gosub Nume
1wwrite &H44
Waitms 250
Waitms 100
1wreset
1wwrite &H55
Gosub Nume
1wwrite &HBE
Bd(1) = 1wread(9)
1wreset
T = Makeint(bd(1) , Bd(2))
T = T * 50 : T = T - 25
T1 = Bd(8) - Bd(7)
T1 = T1 * 100
T1 = T1 / Bd(8) : T = T + T1
T = T / 10
X10 = T / 10
End Sub
Nume:
If Q = 0 Then : For R = 1 To 8 : 1wwrite Numer1(r) : Next R : End If
If Q = 1 Then : For R = 1 To 8 : 1wwrite Numer(r) : Next R : End If
Numer(1) = 16 : Numer(2) = 71 : Numer(3) = 156 : Numer(4) = 41 : Numer(5) = 0 : Numer(6) = 0 : Numer(7) = 0 : Numer(8) = 126
Numer1(1) = 16 : Numer1(2) = 71 : Numer1(3) = 85 : Numer1(4) = 29 : Numer1(5) = 0 : Numer1(6) = 0 : Numer1(7) = 0 : Numer1(8) = 233
To są moje numert Ds-ów ty wpisz swoje numery DS-ów
Sub Temperatura
1wreset
1wwrite &H55
Gosub Nume
1wwrite &H44
Waitms 250
Waitms 100
1wreset
1wwrite &H55
Gosub Nume
1wwrite &HBE
Bd(1) = 1wread(9)
1wreset
T = Makeint(bd(1) , Bd(2))
T = T * 50 : T = T - 25
T1 = Bd(8) - Bd(7)
T1 = T1 * 100
T1 = T1 / Bd(8) : T = T + T1
T = T / 10
X10 = T / 10
End Sub
Nume:
If Q = 0 Then : For R = 1 To 8 : 1wwrite Numer1(r) : Next R : End If
If Q = 1 Then : For R = 1 To 8 : 1wwrite Numer(r) : Next R : End If
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 42 gości