próbuje zrobic temomert z czujnikiem wilgotności. Odczyt temperatury jest dodkonywany z DS 18B20
Czujnik wilgotności jest oporowy a tu jest jego opis http://www.cyfronika.com.pl/ARCHIWUM/h25k5.pdf
Jak się za to zabrać, bo jak widać wartość odcytu wilgotności jest też uzalezniona od temperatury
$crystal = 16000000
$lib "mcsbyte.lbx"
$regfile = "m16def.dat"
$baud = 19200
Config 1wire = Porta.0
Deflcdchar 0 , 238 , 234 , 238 , 224 , 224 , 224 , 224 , 224 'definicja symbolu "stopień"
Config Portd = Output
Config Scl = Portc.0
Config Sda = Portc.1
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2
Declare Sub Odcz_temp
Dim Temperatura1 As Byte
Dim Temperatura2 As Byte
Dim T1 As Single
Dim X As Single
Dim T2 As Single
Dim Tmp As String * 6
Dim R As Byte
Dim Znak As String * 1
R = &HFF
Cls
Do
Call Odcz_temp
Cls
Loop
End
Sub Odcz_temp
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 1000
1wreset
1wwrite &HCC
1wwrite &HBE
Temperatura1 = 1wread() 'odczyt z termometru
Temperatura2 = 1wread()
1wreset 'podprogram 1wr
If Temperatura2 >= 248 Then 'w przypadku temperatur ujemnych
Temperatura1 = R - Temperatura1 'Od 255 Odejmujemy B1
Temperatura2 = R - Temperatura2 'od 255 odejmujemy B2
End If
T1 = Temperatura1 / 16 'Przesuniecie w pawo o 4 bajty
T2 = Temperatura2 * 16 'przesuniecie w lewo o 4 bajty
T1 = T1 + T2
Tmp = Fusing(t1 , "###.&&")
End Sub
Czujnik wilgotności jest oporowy a tu jest jego opis http://www.cyfronika.com.pl/ARCHIWUM/h25k5.pdf
Jak się za to zabrać, bo jak widać wartość odcytu wilgotności jest też uzalezniona od temperatury