Znalazłem na dysku coś takiego, może się przyda:
Sub Read1820
1wwrite &HCC: 1wwrite &H44 'inicjalizacja konwersji A/D
waitms 250
waitms 100 'oczekiwanie na koniec konwersji
1wreset 'reset magistrali I2C
1wwrite &HCC 'odczyt zawartości RAM (scretchpad)
1wwrite &HBE 'odczyt zawartości RAM (scretchpad)
Bd(1) = 1wread(9) 'odczyt zawartości RAM (scretchpad)
1wreset 'reset magistrali I2C
Tmp = Bd(1) And 1 'kalkulacja danych
If Tmp = 1 Then Decr Bd(1) 'do osiągnięcia
T = Makeint(bd(1), Bd(2)) 'precyzji 0,1 st. C
T = T * 50 : T = T - 25 : T1 = Bd(8) - Bd(7) : T1 = T1 * 100
T1 = T1 / Bd(8) : T = T + T1 : T = T / 10
X = T / 10
End Sub
Od razu zaznaczam, iż nie programuję w Basicu i nie mam pojęcia, co robi ten program i czy działa. Znalazłem na dysku, więc wrzuciłem.
Pozdrawiam.
PS. Dokładność pomiaru i tak wynosi 0,5 stopnia, tak jak to jest napisane w nocie katalogowej. Dzięki takim zabiegom możliwy jest jedynie
odczyt z dokładnością 0,1 stopnia a
nie pomiar !!