Sosyal Medya  

FacebookTwitterDiggLinkedinRSS Feed
   

Bu makalemde, SHT75 sensöründen sıcaklık ve nem verilerini nasıl okuyabileceğimizi anlatmaya çalışacağım. Makalemin genelin oluşturmuş olduğum kodlar PIC18F2550 mikrodenetleyicisi ile gerçeklenmiştir. PIC projelerimde genellikle Hi-Tech C veya C18 dillerini kullanmaktayım ama program çeşitliliği olması açısından, bu makalemde Proton Basic Pro yazılım dilini tercih ettim. SHT75 sensörünün çalışma mantığı anlaşıldığında, C dilinde de çok rahat bir şekilde program oluşturulabilir.

 

SHT75 Sensörünün Çalışma Mantığı

SHT7x sesörü 2hatlı seri haberleşme sistemini kullanmaktadır. Bu hatlardan biri clock, diğeri de data hattıdır. Her bir verinin gönderilişi veya alınışı data hattından sağlanır. Alınan verilerin alınma frekansı da clock aracılığı ile sağlanmaktadır.

SHT75 sensörünün varsayılan çözünürlük değerler: 14bit sıcaklık ve 12bit nem. İstersek sıcaklığı 12bit, nemi de 8bit çözünürlükte ayarlayabiliriz. Konuyla ilgili detaylı bilgiyi dahasheet'ine bakarak öğrenebilirsiniz. Makale boyunca göreceğiniz tüm resimler SHT75 sensörünün datasheet'inden alınmıştır.

Çalışma Mantığı

  • SHT75 Sensör Reset: SHT75 sensöründe CRC-8 hata kontrol byte'ı bulunmaktadır ve her ölçüm sonrasında CRC-8 Byte'ı gelir. Biz bu Byte'ı alıp kullanmayacağımız için, ihtiyacımız olan veriyi aldıktan sonra SHT75 sensörünü reset atıyoruz ve sensörün tekrardan değer ölçümüne hazır olmasını sağlıyoruz. Sensöre reset atabilmek için data hattını input konumunda tutup, clock hattından 10 adet pulse gönderirilir. Bu işlem sonrasında data hattı low konumun gelecek ve tekrardan high konumuna dönecektir.
    Şekilde SHT75 sensörünün reset için yapılması gereken haberleşme yeralmaktadır.(Datasheet-sy6)
    SHT75 Reset
  • Haberleşme Başlangıç(Transmission Start) Sinyali: SHT75 sensöründen sıcaklık ve nem ölçümü yapabilmek için haberleşmeyi başlatmamız gerekmekte. Sistem asenkron çalıştığı için, her asenkron seri haberleşmede olduğu gibi SHT75 sensöründe de haberleşme başlangıç sinyali yer almaktadır.
    Aşağıdaki şekilde haberleşme başlangıç sinyalini göstermektedir.(Datasheet-sy7)
    SHT75 Transmission Start

  • Komut Gönderimi: SHT75 sıcaklık ve nem sensörü dijital bir sensör olduğu için, sensör içerisinde ayrı bir işlemci bulunmakta. Biz bu işlemciye yapmak istediğimiz işlemi söylüyoruz ve o da o işlemi gerçekleştirip, sonucu bize döndürüyor. Örneğin: sıcaklık değerini istemek için SHT75 sensörüne 0x00011 değerini gönderiyoruz, nem için de 00101 değeri.
    Aşağıdaki tabloda SHT75 sensörünün desteklediği tüm komutlar yer almaktadır.(Datasheet-sy6)
    SHT75 Command List

  • ACK Alımı: SHT75 sıcaklık ve nem sensörüne ölçüm almak istediğimiz komutu gönderdiğimizde, sensörden bize ACK bilgisi gelir. Yani data hattı SHT75 sensörü tarafından data hattı önce low sonra da high konumuna çekilir.
  • Ölçüm İçin Bekleme: SHT75 sensörü tarafından ACK geldikten sonra ölçüm için beklenmeye başlanır. Sensör tarafından ölçüm bittiğinde ve gönderilmeye hazır olduğunda data hattı low konumuna çekilir.
  • Ölçüm Değerinin YüksekByte'ını Almak(15.Bit ile 8.Bit Arası): SHT75 sensöründen gelecek veriler 16bitliktir ve ilk önce yüksek değerli byte alınır.(15.bit ile 8.Bit Arası).
  • ACK Gönderimi: Yüksek değerli byte alındıktan sonra SHT75 sensörüne ACK göndeririz. Yani data hattını high konumundan low konumuna çekeriz.
  • Ölçüm Değerinin Düşük Byte'ını Almak(7.Bit ile 0.Bit Arası): ACK gönderdiğimizde SHT75 sensörü veri göndermeye devam eder ve düşük değerlikli byte gönderilir. Burada dikkat edilmesi gereken husus; önce en yüksek değerli bitler gönderilmektedir. Yani 15. bit ile başlayıp 8.bite kadar, daha sonra da 7.bitten başlayıp 0.bite kadar alınır.
  • Alınan HAM Değerler Sabitlerle İşleme Sokularak Sonuç Hesaplanır: SHT75 sensöründen alınan değerler ham değerlerdir. Bu değerler dahasheet'inde verilen bazı sabitlerle işleme sokularak sonucun hesaplanması gerekmektedir. 
    Aşağıdaki şekillerde sıcaklık ve nem verilerini nasıl hesaplayacağımızı anlatılmaktadır.(datasheet-sy8)
    Tempearture Conversion Coefficients
    Temperature Compensation Coefficients

    Aşağıdaki şekilde de SHT75 sıcaklık ve nem sensöründen, nem ölçümü gösterilemektedir.(Datasheet-sy7)
    SHT75 ile Nem Ölçümü

PIC18F2550 ile SHT75 Sensöründen Sıcaklık ve Nem Ölçümü

Aşağıdaki örnek yazılımda saniyede bir defa SHT75 sensöründen sıcaklık ve nem bilgileri ölçülere, ekrana yazdırılır.

 

'************************************************************************************
'*  Dosya Adi   : main.bas                                                          *
'*  Programci   : Muhammet EFE                                                      *
'*  Tarih       : 25.07.2015                                                        *
'*  Verisiyon   : 1.0.0.0                                                           *
'*  Özet        :SHT75 sensör uygulaması                                            *   
'*               Bu yazılım izin alınmadan hiçbir ticari uygulamada kullanılamaz    *
'*                                                                                  *                                 
'************************************************************************************
Device 18F2550

Xtal 20

Config_Start
PLLDIV=5   '4MHz ayarlanacak. Divide by 5 (20 MHz oscillator input)
CPUDIV=OSC1_PLL2  ' [OSC1/OSC2 Src: /1][96 MHz PLL Src: /2]
FOSC=HSPLL_HS   ' HS oscillator, PLL enabled, HS used by USB
Config_End


Dim KONTROL As Byte   
Dim HATA As Bit
Dim HAM As Word ' Sensör HAM okuma değeri
Dim ISI As Float = 0 ' Hesaplanmış ISI değeri
Dim NEM As Float = 0
            
Dim W As Word  
Dim RHlin As Float
Dim RHlin2 As Float
Dim c1 As Float = -2.0468
Dim c2 As Float =  0.0367
Dim c3 As Float = -0.0000015955
Dim t1 As Float =  0.01
Dim t2 As Float =  0.00008
Dim d1 As Float = -39.6 '5V => -40.1,  3V => -39.6
Dim d2 As Float =  0.01

TRISA=0
TRISB=0
TRISC=0

PORTA=0
PORTB=0
PORTC=0

ADCON0=0x3C
ADCON1=0x0F

'*** Donanimsal Seri Haberlesme ***
TRISC.6=0 ' Tx
TRISC.7=1 ' Rx
Declare Hserial_RCSTA %10010000
Declare Hserial_TXSTA %00100010;%00100110
BAUDCON=%01001000
SPBRG=25.LowByte
SPBRGH=25.HighByte
Declare Hserial_Clear = On

'***************************************************
GoTo Main
Dim shtBitIndeks As Byte
  
Symbol CLK=PORTB.5
Symbol DTA=PORTB.4 

Symbol H0=HAM.Byte0
Symbol H1=HAM.Byte1
             
sht75_SensoruOku: 
              KONTROL=%00000101:HAM=0   'NEM ÖLÇME
        GoSub OLCUMAL
        GoSub RUTHESAP
              KONTROL=%00000011:HAM=0   'SICAKLIK ÖLÇME
        GoSub OLCUMAL
        GoSub ISIHESAP
        
Return      

'------------------------------- İŞLEM START -----------------------------------
T_START:
      DelayMS 40
      Output DTA:Output CLK
        High DTA
         Low CLK
       DelayUS 10
        High CLK
         Low DTA
       DelayUS 10
         Low CLK
       DelayUS 10
        High CLK
       DelayUS 10
        High DTA
       DelayUS 10
        Low CLK
       DelayUS 10 

Return
'-----------------------SENSORE KOMUT GÖNDER -----------------------------------
OLCUMAL:
           GoSub shtReset
           GoSub T_START
           GoSub KomutGonder
           
           Input DTA
           High CLK
           DelayUS 10
           Low CLK
           DelayUS 10
           HATA=0
           For W=0 To 65500
              If DTA=0 Then GoTo GIT
              DelayUS 5
           Next W
           HATA=1
    GIT:         
         If HATA=1 Then
             GoTo HATALI
         EndIf
         GoSub sht75VeriAl
         GoTo CIK

    HATALI:
        HSerOut["Hata\r"]
    CIK:
Return
'----------------------ISI HESAP ALT PROGRAMI-----------------------------------   

KomutGonder:    
      Dim KontrolBit As Byte
      Output DTA:Output CLK
      Low CLK
      For  shtBitIndeks=7 To 0 Step -1
        KontrolBit = GetBit KONTROL,shtBitIndeks
        If KontrolBit=1 Then
            High DTA
        Else
            Low DTA
        EndIf
        DelayUS 10
        High CLK
        DelayUS 10
        Low CLK
      Next shtBitIndeks
Return

shtReset:
     Output CLK:Input DTA
     Low CLK
     For shtBitIndeks=0 To 9
        High CLK
        DelayUS 10
        Low CLK
        DelayUS 10
     Next shtBitIndeks
Return

sht75VeriAl:
    Low CLK
    For shtBitIndeks=15 To 0 Step -1
           If DTA=1 Then
                SetBit HAM,shtBitIndeks
           Else
                ClearBit HAM,shtBitIndeks
           EndIf
           DelayMS 10
           High CLK
           DelayUS 10
           Low CLK
           
       If shtBitIndeks=8 Then     'ACK
            Output DTA
            High DTA
            Low CLK
            DelayUS 10
            Low DTA
            High CLK
            DelayUS 10
            Low CLK
            DelayUS 10
            Input DTA      
       EndIf
    Next shtBitIndeks
Return
  
ISIHESAP:  
        ISI=d1+(d2*HAM) 
Return       
'-------------------------RUTUBET HESAP ALT PROGRAMI----------------------------
RUTHESAP: 
    RHlin = c1 + c2 * HAM 
    RHlin2 = c3 * HAM * HAM
    RHlin = RHlin + RHlin2
    NEM = ( t1 + t2 * HAM)
    NEM = NEM * ( ISI - 25)
    NEM = NEM + RHlin
    If NEM>100 Then
        NEM=100
    Else If NEM<0 Then
        NEM=0
    EndIf
Return
 
    Main:
        BASLA:
            sonsuzDongu:
                GoSub sht75_SensoruOku
                HSerOut ["Sicaklik: ",Dec4 ISI,"\t\r"]
                HSerOut ["Nem: ",Dec4 NEM,"\t\r"]
                DelayMS 2400
            GoTo sonsuzDongu
    Stop

Bu makalemin de sonuna geldim. Umarım sizler için faydalı bir yazı olmuştur. Bir sonraki makalemde görüşmek üzere sağlıcakla kalın.

Muhammet EFE

Yorumlar   

0 # caner 04-01-2016 10:19
Merhabalar yazınız gerçektende çok açılayıcı ve doyurucu olmuş

pic ile nemlendirici kontrol kartı yapmak istiyorum bunun için daha profesyonel ve mümkünse oda tipi bir sensör arayışı içerisinde

...

Bu sensörü buldum çıkış olarak 0-10Vdc veriyor bunu pic ile nasıl okuyabilirim
Cevap
0 # cxnird 25-04-2018 02:29
buy viagra no prescription
generic viagra (sildenafil citrate) malegra 50mg http://canadian-pharmacye.com
Cevap
0 # xecmwe 25-04-2018 20:51
order viagra online
best online price for viagra http://canadian-pharmacie.com
Cevap
0 # Morrisademo 28-04-2018 19:50
Привет всем! Класный у вас сайт!
Что скажете по поводу этих новостей?:
http://firstnewz.ru/news/6067-vareganneftegaz-realizuet-programmu-doizucheniya-gazovyh-zalezhey.html Варьеганнефтега з реализует программу доизучения газовых залежей
http://firstnewz.ru/news/12451-mogilizaciya-sedmoy-volny.html
http://firstnewz.ru/news/22964-respublika-belarus-i-mvf.html
смотреть украина война ютуб http://firstnewz.ru/
Cevap
0 # tzoqzy 29-04-2018 07:27
cheap viagra usa
como se usa la viagra
acquistare viagra online senza ricetta http://viagracy.com
Cevap
0 # sigfdy 03-05-2018 03:19
buy sale viagra
t-online email viagra spam http://canadian-pharmacye.com
Cevap
0 # bfrykr 03-05-2018 10:53
buy discount viagra
como se usa la viagra
viagra italiano online http://canadian-pharman.com
Cevap
0 # JaizeLib 04-05-2018 10:08
viagra nbs.cgi
http://viagrawithoutdoctorstore.com - viagra without a doctor prescription
is viagra daily the best
viagra without a doctor prescription usa
- viagra official website
shops buy viagra in bangkok
Cevap
0 # Raymondflume 07-05-2018 12:32
viagra generic availability viagra generic cheap generic viagra viagra generic cost
Cevap
0 # Tyzonevoli 09-05-2018 03:02
viagra injury attorney columbus
http://viagrawithoutdoctorpharm.com - viagra without a doctor prescription failure of viagra to work
viagra without a doctor prescription - labetalol viagra
viagra coupons for walgreens log-in
Cevap
0 # ZharlesCoanO 09-05-2018 04:43
viagra dosage when to take top referrers
http://xlviagracan.com - viagra for sale viagra tadalafil 20mg reviews clever.cgi?page =
viagra for sale - generic viagra softabs pics
viagra v viagra v levitra
Cevap
0 # JoshuaAnaer 09-05-2018 07:19
tadalafil 20 mg http://cialisrt.us/#593 - cialis
Cevap
0 # WilliamCob 09-05-2018 07:29
viagra without a doctor prescription canada viagra without a doctor prescription usa viagra without subscription
Cevap
0 # WilliamCob 09-05-2018 23:03
viagra without stimulation viagra without a doctor prescription cvs viagra without erectile dysfunction
Cevap
0 # Stevenswacy 09-05-2018 23:52
cialis cost cialis cost cialis online
Cevap
0 # najlvw 10-05-2018 01:27
non prescription cialis online pharmacy http://canada-pharmaci.com
Cevap
0 # Stevenswacy 10-05-2018 22:28
cialis generico online cialis online cialis generico online
Cevap
0 # TylerTax 11-05-2018 12:16
viagra without a doctor prescription viagra without headache viagra without subscription
Cevap
0 # Stevenswacy 12-05-2018 03:35
buy cialis online buy cialis online online cialis
Cevap
0 # TylerTax 12-05-2018 05:40
cialis 20 mg best price cialis 20 mg cialis 5mg
Cevap
0 # WilliamCob 12-05-2018 05:42
viagra without subscription viagra without ed viagra without subscription
Cevap
0 # RichardCiz 12-05-2018 22:00
cialis 5mg tadalafil 20 mg cialis 20 mg best price
Cevap
0 # Stevenswacy 12-05-2018 22:29
cialis on line no pres cialis cost cialis online
Cevap
0 # JoshuaAnaer 12-05-2018 22:38
viagra without subscription http://viagrawithoutdocpresc.accountant/#7323 - viagra without subscription
Cevap
0 # yvtawz 13-05-2018 11:16
college admission essay
type essay online free
online essay editing
sat essay topics http://speedy-papers.com
Cevap
0 # CraigDeels 14-05-2018 10:59
viagra online canada pharmacy is fake http://v1agraonline.com/#6703 - online viagra canada
Cevap
0 # Raymondflume 14-05-2018 13:36
viagra generic viagra without a doctor prescription generic viagra available generic viagra called
Cevap
0 # WilliamCob 15-05-2018 00:02
viagra without a doctor's prescription viagra without a doctor prescription online pharmacies viagra without a doctor prescription online pharmacies
Cevap
0 # Alfrednen 15-05-2018 00:04
cialis 20mg cialis prices cialis 20 mg
Cevap
0 # WilliamHob 15-05-2018 00:08
buy cialis online cialis online cheap cialis
Cevap
0 # JoshuaAnaer 15-05-2018 14:21
viagra.com http://viagraonlineviagra.us/#1409 - viagra generic
Cevap
0 # JoshuaAnaer 16-05-2018 08:38
viagra without a doctor prescription in texas http://viagrawithoutdocpresc.accountant/#4061 - viagra without a doctors approval
Cevap
0 # JoshuaAnaer 16-05-2018 20:26
generic viagra http://dsviagralk.us/#1404 - buy viagra online
Cevap
0 # JoshuaAnaer 17-05-2018 13:22
cialis 5mg http://cialisrt.us/#5721 - cialis 20 mg best price
Cevap
0 # LouisUsats 18-05-2018 11:16
online viagra canada http://v1agraonline.com/#9503 - viagra online
Cevap
0 # WilliamCob 20-05-2018 00:12
viagra no prior prescription overnight viagra without erectile dysfunction viagra without a doctors approval
Cevap
0 # TylerTax 20-05-2018 05:52
online viagra reviews viagra online pharmacy reviews viagra online reviews
Cevap
0 # Alfrednen 20-05-2018 13:31
cialis 5 mg funziona cialis 20 mg cialis prices
Cevap
0 # TylerTax 21-05-2018 09:22
viagra generic release date viagra generic pills viagra generic equivalent
Cevap
0 # RichardCiz 21-05-2018 15:44
viagra prices viagra uk viagra for woomen
Cevap
0 # WilliamHob 22-05-2018 08:33
buy cialis online cheap cialis cialis generico online
Cevap
0 # RichardCiz 22-05-2018 10:07
cialis cialis 20mg cialis 20mg
Cevap
0 # JoshuaAnaer 22-05-2018 10:15
viagra without erectile dysfunction http://viagrawithoutdocpresc.accountant/#8640 - viagra without a doctor prescription canada
Cevap
0 # LouisUsats 23-05-2018 02:45
online viagra scams http://v1agraonline.com/#2737 - viagra online pharmacy
Cevap
0 # JoshuaAnaer 23-05-2018 02:46
buy viagra online http://dsviagralk.us/#4197 - viagra pills
Cevap
0 # angeltoray 24-05-2018 03:29
http://angeltorrent.com/

http://angeltorrent.com/search/all/IPX-/
https://angeltorrent.com/search/all/south+central+menace/
http://angeltorrent.com/com]-Mighty-Raju-Ka-Samudri-Adventure-(2017)-720p-Hindi--HDRip--x264--AAC--MovCr-mkv-torrent-10276134.html
https://angeltorrent.com/search/all/king-of-the-blues/
https://angeltorrent.com/Bel-Ami-torrent-10443544.html
https://angeltorrent.com/Doctor-Who-2005-S10E06-720p-HDTV-x264-FoV-torrent-8870568.html
Cevap
0 # TylerTax 24-05-2018 06:29
viagra generic equivalent viagra generic generic viagra india
Cevap
0 # JoshuaAnaer 24-05-2018 14:36
cialis 20mg http://cialisrt.us/#1870 - cialis 20mg
Cevap
0 # TylerTax 24-05-2018 14:41
viagra without a doctor prescription viagra without a doctor prescription from canada viagra without a doctor prescription cvs
Cevap
0 # WilliamHob 25-05-2018 18:52
cialis on line no pres cheap cialis cheap cialis
Cevap
0 # imijfq 26-05-2018 23:13
best place to buy cialis online forum
cialis daily use http://canada-pharmaci.com
Cevap
0 # RichardCiz 27-05-2018 09:05
buy viagra viagra.com viagra coupons
Cevap
0 # ZichardInwap 27-05-2018 12:03
cialis facts
http://viagrawithoutdoctorpres.com - viagra without a doctor prescription cialis 5mg daily users browsing this forum
viagra without a doctor prescription - cialis fiyatA±
cialis 20 mg 8 table website
Cevap
0 # WilliamHob 27-05-2018 20:34
cheap cialis cialis online cialis cost
Cevap
0 # LouisUsats 27-05-2018 22:09
online viagra scams http://v1agraonline.com/#4326 - online viagra scams
Cevap

Yorum ekle


   
© muhammetefe.com