SHT11 Module merupakan modul sensor suhu dan kelembaban relatif dari Sensirion. Modul ini dapat digunakan sebagai alat pengindra suhu dan kelembaban dalam aplikasi pengendali suhu dan kelembaban ruangan maupun aplikasi pemantau suhu dan kelembaban relatif ruangan.
Spesifikasi dari SHT11 ini adalah sebagai berikut:
1. Berbasis sensor suhu dan kelembaban relatif Sensirion SHT11.
2. Mengukur suhu dari -40C hingga +123,8C, atau dari -40F hingga +254,9F dan kelembaban relatif dari 0%RH hingga 1%RH.
3. Memiliki ketetapan (akurasi) pengukuran suhu hingga 0,5C pada suhu 25C dan ketepatan (akurasi) pengukuran kelembaban relatif hingga 3,5%RH.
4. Memiliki atarmuka serial synchronous 2-wire, bukan I2C.
5. Jalur antarmuka telah dilengkapi dengan rangkaian pencegah kondisi sensor lock-up.
6. Membutuhkan catu daya +5V DC dengan konsumsi daya rendah30 μW.
7. Modul ini memiliki faktor bentuk 8 pin DIP 0,6sehingga memudahkan pemasangannya.
Prinsip Kerja Sensor
SHT11 adalah sebuah single chip sensor suhu dan kelembaban relatif dengan multi modul sensor yang outputnya telah dikalibrasi secara digital. Dibagian dalamnya terdapat kapasitas polimer sebagai eleman untuk sensor kelembaban relatif dan sebuah pita regangan yang digunakan sebagai sensor temperatur. Output kedua sensor digabungkan dan dihubungkan pada ADC 14 bit dan sebuah interface serial pada satu chip yang sama. Sensor ini mengahasilkan sinyal keluaran yang baik dengan waktu respon yang cepat. SHT11 ini dikalibrasi pada ruangan denagn kelembaban yang teliti menggunakan hygrometer sebagai referensinya. Koefisien kalibrasinya telah diprogramkan kedalam OTP memory. Koefisien tersebut akan digunakan untuk mengaklibrasi keluaran dari sensor selama proses pengukuran.
Diagram Blok SHT11
Sistem sensor yang digunakan untuk mengukur suhu dan kelembaban adalah SHT11 dengan sumber tegangan 5 Volt dan komunikasi bidirectonal 2-wire. Sistem sensor ini mempunyai 1 jalur data yang digunakan untuk perintah pengalamatan dan pembacaan data. Pengambilan data untuk masing-masing pengukuran dilakukan dengan memberikan perintah pengalamatan oleh mikrokontroler. Kaki serial Data yang terhubung dengan mikrokontroler memberikan perintah pengalamatan pada pin Data SHT11 “00000101” untuk mengukur kelembaban relatif dan “00000011” untuk pengukuran temperatur. SHT11 memberikan keluaran data kelembaban dan temperatur pada pin Data secara bergantian sesuai dengan clock yang diberikan mikrokontroler agar sensor dapat bekerja. Sensor SHT11 memiliki ADC (Analog to Digital Converter) di dalamnya sehingga keluaran data SHT11 sudah terkonversi dalam bentuk data digital dan tidak memerlukan ADC eksternal dalam pengolahan data pada mikrokontroler. Skema pengambilan data SHT11 dapat dilihat pada gambar berikut ini.
nach ni dia sample program SHT11 menggunakan BASCOM AVR:
$regfile = “m8535.dat”
$crystal = 12000000
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.3 , Db7 = Porta.7 , E = Porta.2 , Rs = Porta.0
Config Lcd = 16 * 2
Cursor Off Noblink
‘Routine to read the SHT11 Humidity sensor chip
‘By Stuart Leslie
‘Contact stu@4sightinc.com with any questions
‘Uses BascomAVR
‘a .01 uf capacitor across VCC and Ground on the SHT11 really cleans up the data
‘a pullup is required on “data” pin as shown in the data sheet
Dim Hasil As Single
Dim Hasilsuhu As Single
Dim Suhu As Single
Dim X As Single
Dim Ctr As Byte
Dim Dataword As Word
Dim Command As Byte
Dim Dis As String * 20
Dim Calc As Single
Dim Calc2 As Single
Dim Rhlinear As Single
Dim Rhlintemp As Single
Dim Tempc As Single
Dim Tempf As Single
Const C1 = -4
Const C2 = 0.0405
Const C3 = -0.0000028
Const T1c = .01
Const T2 = .00008
Const T1f = .018
Sck Alias Portb.0
Dataout Alias Portb.1
Datain Alias Pinb.1
Redled Alias Portb.2
Declare Sub Getit()
Ddrb = &B11111111 ‘all port b are output
Config Pinb.0 = Output ‘sck
Config Pinb.1 = Output ‘datain
‘reset the serial communications first, it is easily confused!
Set Dataout
For Ctr = 1 To 12
Set Sck
Waitus 2
Reset Sck
Waitus 2
Next Ctr
Cls
Lcd “akses sht11″
Lowerline
Lcd “by fahmizal”
Wait 2
Do ‘continually read the tempfature and humidity
Command = &B00000011
Call Getit ‘Get the temperature, puts result in “dataword” for us
Tempf = T1f * Dataword
Tempf = Tempf – 40
Tempc = T1c * Dataword ‘get celcius for later calculations and for “the rest of the world”
Tempc = Tempc – 40
X = Tempf
Hasil = X – 32
Suhu = 5 / 9
Hasilsuhu = Hasil * Suhu
Dis = Fusing(hasilsuhu , “###.##”)
Home
Lcd “Temp = ” ; Dis ; “(C)”
Command = &B00000101
Call Getit ‘get the humidity
Calc = C2 * Dataword
Calc2 = Dataword * Dataword ‘that “2″ in the datasheet sure looked like a footnote for a couple days, nope it means “squared”!
Calc2 = C3 * Calc2
Calc = Calc + C1
Rhlinear = Calc + Calc2
Calc = T2 * Dataword
Calc = Calc + T1c
Calc2 = Tempc – 25
Calc = Calc2 * Calc
Rhlintemp = Calc + Rhlinear
Lowerline
Dis = Fusing(rhlintemp , “##.##”)
Lcd “Humid = ” ; Dis ; “(%)”
Waitms 500
Loop
End
Sub Getit()
Local Datavalue As Word
Local Databyte As Byte
‘start with “transmission start”
Set Sck
Reset Dataout
Reset Sck
Set Sck
Set Dataout
Reset Sck
‘now send the command
Shiftout Dataout , Sck , Command , 1
Ddrb = &B11111101 ‘datain is now input
Config Pinb.1 = Input ‘datain
Set Sck ‘click one more off
Reset Sck
Waitus 10 ‘no idea why, but it doesn’t work without it!
Bitwait Pinb.1 , Reset ‘wait for the chip to have data ready
Shiftin Datain , Sck , Databyte , 1 ‘get the MSB
Datavalue = Databyte
Ddrb = &B11111111
Config Pinb.1 = Output
Reset Dataout ‘this is the tricky part- Lot’s of hair pulling- have to tick the ack!
Set Sck
Reset Sck
Ddrb = &B11111101 ‘datain is now input
Config Pinb.1 = Input
Shiftin Datain , Sck , Databyte , 1 ‘get the LSB
Shift Datavalue , Left , 8
Datavalue = Datavalue Or Databyte
‘don’t tick the clock or ack since we don’t need the CRC value, leave it hanging!
Dataword = Datavalue
Ddrb = &B11111111
Config Pinb.1 = Output
Reset Dataout
Set Sck
Reset Sck
Ddrb = &B11111101 ‘datain is now input
Config Pinb.1 = Input
Shiftin Datain , Sck , Databyte , 1 ‘not using the CRC value for now- can’t figure it out! Anybody know how to impliment?
‘Print “CRC value was – ” ; Databyte
Ddrb = &B11111111
Config Pinb.1 = Output
Set Dataout
Set Sck
Reset Sck
End Sub
sumber: fahmizaleeits.wordpress.com
Spesifikasi dari SHT11 ini adalah sebagai berikut:
1. Berbasis sensor suhu dan kelembaban relatif Sensirion SHT11.
2. Mengukur suhu dari -40C hingga +123,8C, atau dari -40F hingga +254,9F dan kelembaban relatif dari 0%RH hingga 1%RH.
3. Memiliki ketetapan (akurasi) pengukuran suhu hingga 0,5C pada suhu 25C dan ketepatan (akurasi) pengukuran kelembaban relatif hingga 3,5%RH.
4. Memiliki atarmuka serial synchronous 2-wire, bukan I2C.
5. Jalur antarmuka telah dilengkapi dengan rangkaian pencegah kondisi sensor lock-up.
6. Membutuhkan catu daya +5V DC dengan konsumsi daya rendah30 μW.
7. Modul ini memiliki faktor bentuk 8 pin DIP 0,6sehingga memudahkan pemasangannya.
Prinsip Kerja Sensor
SHT11 adalah sebuah single chip sensor suhu dan kelembaban relatif dengan multi modul sensor yang outputnya telah dikalibrasi secara digital. Dibagian dalamnya terdapat kapasitas polimer sebagai eleman untuk sensor kelembaban relatif dan sebuah pita regangan yang digunakan sebagai sensor temperatur. Output kedua sensor digabungkan dan dihubungkan pada ADC 14 bit dan sebuah interface serial pada satu chip yang sama. Sensor ini mengahasilkan sinyal keluaran yang baik dengan waktu respon yang cepat. SHT11 ini dikalibrasi pada ruangan denagn kelembaban yang teliti menggunakan hygrometer sebagai referensinya. Koefisien kalibrasinya telah diprogramkan kedalam OTP memory. Koefisien tersebut akan digunakan untuk mengaklibrasi keluaran dari sensor selama proses pengukuran.
Diagram Blok SHT11
Sistem sensor yang digunakan untuk mengukur suhu dan kelembaban adalah SHT11 dengan sumber tegangan 5 Volt dan komunikasi bidirectonal 2-wire. Sistem sensor ini mempunyai 1 jalur data yang digunakan untuk perintah pengalamatan dan pembacaan data. Pengambilan data untuk masing-masing pengukuran dilakukan dengan memberikan perintah pengalamatan oleh mikrokontroler. Kaki serial Data yang terhubung dengan mikrokontroler memberikan perintah pengalamatan pada pin Data SHT11 “00000101” untuk mengukur kelembaban relatif dan “00000011” untuk pengukuran temperatur. SHT11 memberikan keluaran data kelembaban dan temperatur pada pin Data secara bergantian sesuai dengan clock yang diberikan mikrokontroler agar sensor dapat bekerja. Sensor SHT11 memiliki ADC (Analog to Digital Converter) di dalamnya sehingga keluaran data SHT11 sudah terkonversi dalam bentuk data digital dan tidak memerlukan ADC eksternal dalam pengolahan data pada mikrokontroler. Skema pengambilan data SHT11 dapat dilihat pada gambar berikut ini.
nach ni dia sample program SHT11 menggunakan BASCOM AVR:
$regfile = “m8535.dat”
$crystal = 12000000
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.3 , Db7 = Porta.7 , E = Porta.2 , Rs = Porta.0
Config Lcd = 16 * 2
Cursor Off Noblink
‘Routine to read the SHT11 Humidity sensor chip
‘By Stuart Leslie
‘Contact stu@4sightinc.com with any questions
‘Uses BascomAVR
‘a .01 uf capacitor across VCC and Ground on the SHT11 really cleans up the data
‘a pullup is required on “data” pin as shown in the data sheet
Dim Hasil As Single
Dim Hasilsuhu As Single
Dim Suhu As Single
Dim X As Single
Dim Ctr As Byte
Dim Dataword As Word
Dim Command As Byte
Dim Dis As String * 20
Dim Calc As Single
Dim Calc2 As Single
Dim Rhlinear As Single
Dim Rhlintemp As Single
Dim Tempc As Single
Dim Tempf As Single
Const C1 = -4
Const C2 = 0.0405
Const C3 = -0.0000028
Const T1c = .01
Const T2 = .00008
Const T1f = .018
Sck Alias Portb.0
Dataout Alias Portb.1
Datain Alias Pinb.1
Redled Alias Portb.2
Declare Sub Getit()
Ddrb = &B11111111 ‘all port b are output
Config Pinb.0 = Output ‘sck
Config Pinb.1 = Output ‘datain
‘reset the serial communications first, it is easily confused!
Set Dataout
For Ctr = 1 To 12
Set Sck
Waitus 2
Reset Sck
Waitus 2
Next Ctr
Cls
Lcd “akses sht11″
Lowerline
Lcd “by fahmizal”
Wait 2
Do ‘continually read the tempfature and humidity
Command = &B00000011
Call Getit ‘Get the temperature, puts result in “dataword” for us
Tempf = T1f * Dataword
Tempf = Tempf – 40
Tempc = T1c * Dataword ‘get celcius for later calculations and for “the rest of the world”
Tempc = Tempc – 40
X = Tempf
Hasil = X – 32
Suhu = 5 / 9
Hasilsuhu = Hasil * Suhu
Dis = Fusing(hasilsuhu , “###.##”)
Home
Lcd “Temp = ” ; Dis ; “(C)”
Command = &B00000101
Call Getit ‘get the humidity
Calc = C2 * Dataword
Calc2 = Dataword * Dataword ‘that “2″ in the datasheet sure looked like a footnote for a couple days, nope it means “squared”!
Calc2 = C3 * Calc2
Calc = Calc + C1
Rhlinear = Calc + Calc2
Calc = T2 * Dataword
Calc = Calc + T1c
Calc2 = Tempc – 25
Calc = Calc2 * Calc
Rhlintemp = Calc + Rhlinear
Lowerline
Dis = Fusing(rhlintemp , “##.##”)
Lcd “Humid = ” ; Dis ; “(%)”
Waitms 500
Loop
End
Sub Getit()
Local Datavalue As Word
Local Databyte As Byte
‘start with “transmission start”
Set Sck
Reset Dataout
Reset Sck
Set Sck
Set Dataout
Reset Sck
‘now send the command
Shiftout Dataout , Sck , Command , 1
Ddrb = &B11111101 ‘datain is now input
Config Pinb.1 = Input ‘datain
Set Sck ‘click one more off
Reset Sck
Waitus 10 ‘no idea why, but it doesn’t work without it!
Bitwait Pinb.1 , Reset ‘wait for the chip to have data ready
Shiftin Datain , Sck , Databyte , 1 ‘get the MSB
Datavalue = Databyte
Ddrb = &B11111111
Config Pinb.1 = Output
Reset Dataout ‘this is the tricky part- Lot’s of hair pulling- have to tick the ack!
Set Sck
Reset Sck
Ddrb = &B11111101 ‘datain is now input
Config Pinb.1 = Input
Shiftin Datain , Sck , Databyte , 1 ‘get the LSB
Shift Datavalue , Left , 8
Datavalue = Datavalue Or Databyte
‘don’t tick the clock or ack since we don’t need the CRC value, leave it hanging!
Dataword = Datavalue
Ddrb = &B11111111
Config Pinb.1 = Output
Reset Dataout
Set Sck
Reset Sck
Ddrb = &B11111101 ‘datain is now input
Config Pinb.1 = Input
Shiftin Datain , Sck , Databyte , 1 ‘not using the CRC value for now- can’t figure it out! Anybody know how to impliment?
‘Print “CRC value was – ” ; Databyte
Ddrb = &B11111111
Config Pinb.1 = Output
Set Dataout
Set Sck
Reset Sck
End Sub
sumber: fahmizaleeits.wordpress.com
wah ini pake bascom ya mas...nice info mas,,,o iya aplikasi sensor ini bisa semua kondisi pa tidak mas???
BalasHapus