Akses Sensor Suhu dan Kelembaban SHT11 Berbasis Mikrokontroler


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

66 responses to this post.

  1. Assalamu’alaikum.
    Salam kenal mas Fahmi. Mas saya lagi mau buat sistim kontrol suhu untuk mesin penetas telur sederhana dengan bola lampu, dulu pas kuliah pernah pake mikrokontroler, cm belum pernah untuk aplikasi yang berhubungan dengan suhu dan ADC, masih belum tau ni peke sensor apa, minta saranya dong mas… Trimakasih sebelumnya

    Balas

  2. Wslm’alaikum mas wahyu, pake ja SHT11 ini sensor sudah dilengkapi sensor suhu dan kelembapan dengan sensitifitas yang baek…selain itu mudah diakses dan mudah dicari, salah satunya dapat link ini http://id-evotech.com/ kalo untuk belajar adc di blogku juga da caranya…tapi pake bascom avr ni linknya https://fahmizaleeits.wordpress.com/2010/05/01/aplikasi-adc-mikrokontroler-atmega8535/
    selamat mencoba…

    Balas

    • Posted by rif on Maret 14, 2011 at 1:00 pm

      assalamualaikum..
      mw tanya nih ttg sensor sht11…
      qlo sensor ini bsa ngedetek kadar air (kelembaban) yang di kandung oleh suatu benda tidak?
      apa cuma ngedetek kelembaban udara sj..
      terimakasih..

      Balas

      • setahu ane hanya bisa untuk deteksi kelembapan udara, kalo ane salah mohon dikoreksi hehehe 😀

      • It was some sort of comenntetnt coming across your site recently. I came here right now hoping to come across new things. And I was not let down. Your ideas in new techniques on this subject material were informative and a good help to me personally. Thank you for leaving out time to write down these things plus for sharing your mind.

  3. trimakasih mas bwt tanggapanya. tp saya coba ketik SHT11 lewat kolom cari produk di http://id-evotech.com koq tidak ditemukan ya, klo boleh tau harganya berapa mas?

    Balas

  4. Posted by samsuduha on Desember 27, 2010 at 11:40 am

    bs tuh d pake untuk pengatur suhu sarng burung, bs d ajarin pake jark jauh g . terimakasih

    Balas

  5. Posted by arif on Februari 2, 2011 at 1:55 pm

    ass mas fahmi…..

    klo program sht11-nya pake bhasa C….ada tidak..kirim Email ya…(arif_bye@yahoo.co.id) mohon bantuannya…

    terimaksih,,,

    Balas

  6. Ass.wr.wb. Bagus bos postingnya
    Kunjungi blog saya
    http://blog.umy.ac.id/iswanto/;http://iswanto.staff.umy.ac.id/

    Balas

  7. Posted by Hussein on Maret 1, 2011 at 7:54 pm

    ass mas fahmi

    saya sedang merancang pengendalian atau kontrol suhu dan kelembaban menggunakan sensor sht11 dengan atmega 8535
    boleh minta rancangananya tidak? ..klo bisa kirim email (shen_no7@yahoo.com)..mohon bantuannya

    terima kasih banyak

    Balas

  8. Posted by Nha on Maret 22, 2011 at 8:16 pm

    maaf nih, mau nnya
    saya kan pake SHT 11 buat Final Project saya.
    bikin alat pngukur kelembaban.
    saya sudah dapat programnya(dalam bentuk bascom avr)
    saat di compile tidak ada masalah .
    saat di simulasi kan juga tidak ada masalah,programnya tampil dengan baik.
    tapi pas saya coba download(pake usb downloader)dan setelah terdownload,hasil pengukuran itu tidak ada sama sekali.
    jadi apakah ada masalah dengan fuse bit, sistem komunikasi 2 wire-nya atau bagaimana?
    mohon bantuannya…

    Balas

    • bisa jadi hardware SHTnya rusak ato mikronya yang rusak, deklarasi pin mas seperti apa untuk sck dan data?, coba deklarasi seperti ini:

      Sck Alias Portb.0
      Dataout Alias Portb.1

      Balas

  9. Posted by ulil on April 19, 2011 at 2:30 pm

    mas mo tnya nih, sensor SHT11 ni pa bis dibuat tuk mengukur kelmbapan tanah?? soalnya sy mo bwt alat pengukur kelembapan tanah pke sensor ini, atas jawbanya sy ucapkan terima kash…..

    Balas

    • sepertinya kurang tepat aplikasinya…SHT11 lebih kecenderungan pada kelembapan udara, tapi tidak menutup kemungkinan bisa diaplikasikan pada kelembapan tanah *ane lum pernah nyoba buat kelembapan tanah 😀

      Balas

  10. Posted by miday on April 28, 2011 at 4:43 pm

    mau tanya mas, kalo buat nylaian kipas selama 2 menit saat suhu mencapai 35 C, program diatas ditambahin apa ?

    Balas

    • tinggal nambahin logika If then rule mas, sample codenya:

      basic_code:
      if suhu => 35 then
      call kipas()
      end if

      c_code:
      if (suhu => 35)
      {
      kipas();
      }

      Balas

      • Posted by dede on Juli 9, 2012 at 11:21 am

        kalo menggunakan basic stamp code programnya seperti apa yua ( sensor yang digunakan DT_ sense HUmidity & Temperature ) terus klo untuk mengukur suhu tubuh manusai bisa nggak yua gan.

  11. Posted by dede on April 29, 2011 at 10:47 pm

    assalamualaikum..
    kak mo tanya kalo sht11 ni bisa buat ngukur kadar kelembaban dinding tah gak? mkasiii
    wassalam

    Balas

    • Waalaikumsallam, aplikasi sht11 untuk kelembapan udara… mungkin jika didekatkan di dinding bisa juga diaplikasikan sebagai kelembapan dinding 😀

      Balas

  12. Posted by doni on Juni 9, 2011 at 2:07 pm

    assalamualaikum,,,
    saya sedang mengerjakan project penetasan telur dengan fuzzy control mas,,dengan pengaturan suhu dan kelembaban,,bisa gak berikan saya gambaran buat program fuzzy ini mas??
    kalau bisa kirim kan ke email saya aja mas,,
    dony.mahendra@gmail.com

    Balas

  13. Posted by dioaris on Juni 29, 2011 at 7:24 pm

    mas fahmi saya kan membuat program pemantau suhu menggunakan Atmega128 menggunakan SHT11 pada mulanya suhu menunjukan suhu yang akurat tapi kenapa ya tau-tau eror
    jadi menunjukan suhunya ‘614’ terus itu kenapa ya mas dimana yang salahnya

    Balas

  14. Posted by visya on Juli 6, 2011 at 9:37 pm

    mas ,
    mohon bimbingan nya .
    sya masih baru menggunakan sensor SHT11 .
    dan juga belum mengerti tentang SHT11 .
    sya menggunakan sensor ini untuk tugas akhir saya mesin pengering biji kakao .

    sya belum mengerti gimana cara memprogram nya mas .
    mohon bimbingan nya mas .
    makasi 🙂

    Balas

  15. Posted by rosman on Juli 9, 2011 at 4:30 pm

    kang mau tanya
    kebetulan saya juga pake sensor sht11 ini
    terus waktu ngukur pertama kali berhasil
    tapi besok-besoknya jadi gagal
    nilai RH yang harusnya naik malah jadi turun
    tapi kalo suhunya ma tetep bagus
    kira-kira apanya yang salah y mas???

    Balas

  16. mas bagmn membuat programx agr sensor sht mengengalikan lampu (off) dan kipas (off) saat nilai kelembaban brada pada nilai terendah? mohon peneranganx.

    Balas

  17. Gimana mas kalau saya dibuatkan untuk aplikasi penetas telur lengkap dengan motor penggerak, harganya berapa ya mas

    Balas

  18. Aslm. mas fahmi, bisa minta numer hp nya…? ane mau penelitian tentang evaporati cooling otomatis pada green house, n rencana mau pake sht 11 tp g tau caranya

    Balas

  19. Posted by hery setyo widodo (elect-eng.its.ac.id) on November 24, 2011 at 10:12 pm

    mas, harga sensor kelembaban Humidity HS-15P itu berapa ya?

    Balas

  20. Posted by radz on Desember 7, 2011 at 7:37 pm

    yaaaaah… copas lagi nih program bascom.. sekarang pertanyaan saya… tlg gmna caranya kalo make 4/ lebih sensor sht11/sht10/sht75 secara bersamaan make atmega…. tolong konfigurasi kaki2nya dan addresing synchronous 2-wirenya itu gmn??????thx

    Balas

  21. Posted by henDro89 on Mei 14, 2012 at 11:40 pm

    Mas fahmi saya punya mikrokontroler atmega16 mau sya hubungkan dgn sensor klembaban tanah yg punya 3 wire(vcc,gnd,anlog output) tp sya masih binggung bahasa pemrograman yg menggunakan bascom mas,,mohon pencerahannya..

    Balas

  22. Posted by sholichin on Juni 5, 2012 at 4:10 pm

    assalamualaikum mas fahmi,, saya mau tanya,, sht11 itu utk kelembaban perlu d seting ulang ga supaya sesuai dengan keadaan sesungguhnya???
    apakah cukup d masukkan saja k adc nya kmudian di buat program spt d atas,, atau perlu d seting lg?

    Balas

  23. Posted by Karina on Juli 4, 2012 at 11:05 pm

    punten mas, mau tanya. kalo sht11 dijadikan input plc gimana ya? apakah perlu interface lain, ato micro lagi, ato bisa langsung dicolok di port input plc? makasih sebelumnya 🙂

    Balas

  24. Posted by fedri on Juli 5, 2012 at 8:35 pm

    mas saya mau tanya kalo formula untuk mengukur suhu yang dihubungkan dengan LED yg di ukur pada suhu tertentu itu gmn?

    Balas

  25. Posted by Rifki on Oktober 11, 2012 at 10:40 am

    mas fahmi..
    sy mau tny pin sensor sht11 kn ada 4 GND,DATA,SCK VDD.. nah dr masing2 pin itu jlaskan masing2 mas?? buat pengajuan judul dan pertahanan konsep judul TA mas..hehe

    Balas

  26. Posted by dulz on Oktober 22, 2012 at 8:07 am

    mas kalo menggunakan DHT 11 bagai mana? adakah sample programnya?
    saya sedang membuat suatu alat untuk mengontrol suhu dan kelembaban tapi menggunakn sensor DHT 11

    Balas

  27. Posted by yayan on Oktober 30, 2012 at 10:18 am

    ass..
    Mas bleh mnta program SHT 11 menggunakan codevision AVR
    Soalnya sensor ini digunakan untuk tugas akhir pembuatan penetasan telur ayam otomatis.

    Balas

  28. Assalammualaikum mas fahmi…..
    saya mau mmbuat tugas akhir mesin penetas telur otomatis menggunakan SHT11.
    Tapi Saya kurang ngerti untuk penyimpanan program k eeprom.
    Mas ada programnya k eeprom?
    Mohon bantuannya mas.
    Terima kasih sbelumnya mas

    Balas

  29. mas mau tanya saya pakai sht11,di TAku yg berjudul monitoring kelembaban udara memakai mikro ATMega8535 sudah didownload programx.. masalahx tdk mendapatkan data.. gmn solusix? makasi sblmx.

    Balas

  30. Posted by ghafur on Maret 27, 2014 at 11:32 pm

    permisi mas. kalo buat hsm-20g sma gak mas programnya?

    Balas

  31. mas bagaimana untuk program deklarasi sensor DHT 11?
    mohon pencerahannya

    Balas

  32. Posted by Laksana on Desember 1, 2014 at 12:19 am

    Selamat pagi mas,
    sy laksana, maaf sblmnya, hanya ingin bertanya sedikit, sy menggunakan sensor SHT11 pula dgn Arduino Mega sbg MK, mengapa data kelembaban yg ditampilkan tdk valid ya? (>100%, sekitar 115%-130%) padahal sebelumnya valid (<100%), apakah krn kerusakan pd komponen sensornya atau bgmn? dari segi listing program arduinonya tdak ada perubahan sebelumnya, mungkin mas fahmi bs memberikan sedikit pencerahan, terimakasih 😀

    Balas

  33. Posted by adam on April 23, 2015 at 2:30 pm

    assalamualaikum
    mas kalo pake software cvavr bisa ga tpi pake dht11 sensornya

    Balas

  34. Posted by Riizan on September 4, 2015 at 7:14 am

    assalamualaikum
    saya rizan dari jogja mas,,,,
    maav mas mau tanya bahasa pemrogramannya ini menggunakan apa ya?
    ini saya pemula,,,,klu ada tolong kasih tutorialnya mas
    mksh sblmnya

    Balas

  35. assalamualaikum…
    mas klau program bascom untuk sensor DHT11 ada nggak mas???
    klu ada minta tolong di share donk mas….
    maksih…

    Balas

  36. assalamualaikum ..
    mas,, mau tanya kalau sensor kelembaban tanah Sensor Soil Moisture bisa di gunakan untuk mengukur kelembaban di media sekam bakar gak ya ?? kalau bisa berikan tutorialnya mas ??

    Balas

  37. terima kasih sebelumnya ,mas

    Balas

  38. Assalamualaikum….
    mas, mau tanya bisa beritahu saya kah program Arduino sensor SHT11 untuk mengukur suhu dan kelembaban udara ang sederhana. saya sdh coba masih aja error.

    Balas

  39. Terimakasih, postingannya sangat membantu dalam mengerjakan tugas sensor suhu dan kelembaban

    Balas

  40. Good to find an expert who knows what he’s tanlkig about!

    Balas

  41. Do only baseball caps (hats with lids) have to be removed during National Anthem at sporting events?Silly question, but just curious. What about wool skull caps and such?

    Balas

Tinggalkan komentar