DS1820 Bascom AVR
DS1820 Temperature adalah sensor suhu pabrikan Dallas semiconductor, tidak seperti sensor lainnya yang mempergunakan ADC untuk membaca data hasil pembacaaan temperatur semisal LM35 buatan National. DS1820 menggunakan 1wire communication dimana pada sensor ini terdapat ROM untuk menyimpan hasil pembacaan temperature. Untuk pembacaan data temperature dari sensor ini microcontroller harus mengirimkan data Hexa CC dan Hexa 44 untuk membaca memory DS1820
Sensor ini menggunakan 3 kabel yaitu merah, hitam dan kuning dimana merah dihubungkan pada Vcc 5Vdc, hitam dihubungkan pada Ground, untuk kabel kuning saya hubungkan pada portb.0 yaitu digital pin 8 pada arduino UNO karena saya mempergunakan arduino uno. Berikut adalah baris program dalam Bascom AVRnya.
1: $regfile = "m328pdef.dat"
2: $crystal = 16000000
3: $baud = 9600
4: Config 1wire = Portb.0
5: Dim B As Byte , S As String * 5
6: Dim W As Word , Dg As Integer
7: Dim Dsid1(8) As Byte
8: Dim Sc(9) As Byte
9: Declare Sub Conv
10: Declare Function Decigrades(byval Sc(9) As Byte) As Integer
11: Print "DS1820 Waterproof Sensor"
12: W = 1wirecount()
13: Print "Found :" ; W ; " sensor Connected"
14: Dsid1(1) = 1wsearchfirst()
15: Print "Checking Sensor ID CRC"
16: If Dsid1(8) = Crc8(dsid1(1) , 7) Then
17: Print "CRC OK Sensor 1 ID"
18: Wait 1
19: End If
20: Do
21: Conv
22: Waitus 800
23: 1wverify Dsid1(1)
24: If Err = 1 Then
25: Print "Error Measure"
26: Elseif Err = 0 Then
27: 1wwrite &HBE
28: Sc(1) = 1wread(9)
29: If Sc(9) = Crc8(sc(1) , 8) Then
30: Dg = Decigrades(sc(9))
31: S = Str(dg)
32: S = Format(s , "00.0")
33: Print "Temperature :"
34: Print S ; " Celcius"
35: End If
36: End If
37: Wait 1
38: Loop
39: End
40: Sub Conv
41: 1wreset
42: 1wwrite &HCC
43: 1wwrite &H44
44: End Sub
45: Function Decigrades(byval Sc(9) As Byte)
46: Decigrades = 0
47: Decigrades = Makeint(sc(1) , Sc(2))
48: Decigrades = Decigrades * 10
49: Decigrades = Decigrades / 16
50: End Function
Seperti terlihat pada kode diatas pembacaan temperature dari DS1820 akan dikirimkan secara serial pada komputer jadi untuk melihat outputnya anda dapat membuka bascom terminal untuk melihat hasil pembacaan data temperaturenya, atau jika anda ingin menampilkan pada LCD anda dapat memodifikasi programnya. sendiri.
Semoga bermanfaat, happy coding.
Semoga bermanfaat, happy coding.
DS1820 Bascom AVR
Reviewed by cahyohertanto
on
September 18, 2016
Rating:
No comments: