LM35 İLE NEGATİF DEĞERLERİ OKUMAK ?

Başlatan veli_k, 21 Eylül 2016, 11:07:22

veli_k

merhaba arkadaşlar bu program SERKAN IŞGIN a ait ben sadece bi uyarı ekledim fakat 0 derecenin altındaki sıcaklıkları göremiyorum -1 de olsa -10 da olsa 0 derece yazıyor yardımcı olabirseniz sevinirim

TRISA=%00000011
       TRISB=0
       TRISC=0
       TRISD=0
       
       ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,
          DEFINE   LCD_DREG PORTB       'LCD data pinleri portb'ye bağlı
          DEFINE   LCD_DBIT 4           'Data pinleri B4'ten başlıyor
          DEFINE   LCD_EREG PORTB        'E bit PORTB'ye bağlı
          DEFINE   LCD_EBIT 3           'E biti PORTB.3'e bağlı
          DEFINE   LCD_RWREG PORTB
          DEFINE   LCD_RWBIT 2
          DEFINE   LCD_RSREG PORTB      'RS bit PORTB'ye bağlı
          DEFINE   LCD_RSBIT 1          'RS biti PORTB.2'e bağlı
          DEFINE   LCD_BITS 4           'LCD'de 4 adet data pini kullanılıyor.
          DEFINE   LCD_LINES 2 
       ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,  
          DEFINE ADC_BITS 10            'çözünürlük
          DEFINE ADC_CLOCK 3            'clock kaynağı (3=rc)
          DEFINE ADC_SAMPLEUS 50       'örnekleme süresi(us = mikro saniye)
       ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,   
         ADCON1=%10000000              'ADC giriş ve çıkışların ayarlanması
       ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,   
         ADCDEGER VAR WORD             'analog okunan ham değişken
         DEGER VAR WORD                'dijitale çevirilen değişken
         GECICI VAR WORD
         KALAN VAR BYTE
         
         ADCDEGER1 VAR WORD            'analog okunan ham değişken
         DEGER1 VAR WORD               'dijitale çevirilen değişken
         GECICI1 VAR WORD
         KALAN1 var byte
       ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
          
          LCDOUT $FE,1
          PAUSE 200

       '---------------ANA PROGRAM----------------
         BASLA:
             '------1.sensör------
                
             ADCIN 0,ADCDEGER  '0 NOLU KANALDAN DEĞERİ OKU
             
             ADCDEGER = ADCDEGER*5
             GECICI = ADCDEGER*9775
             GECICI = DIV32 10000
             DEGER = GECICI / 10
             KALAN = GECICI // 10
                      
             '------2.sensör------
             
             ADCIN 1,ADCDEGER1  '1 NOLU KANALDAN DEĞERİ OKU
             
             ADCDEGER1 = ADCDEGER1*5
             GECICI1 = ADCDEGER1*9775
             GECICI1 = DIV32 10000
             DEGER1 = GECICI1 / 10
             KALAN1 = GECICI1
                      
            '------SENSÖR1------
             LCDOUT $FE,1, "iC SICAKLIK:",#DEGER, ".",DEC1 KALAN,"C"
            '------SENSÖR2------ 
             LCDOUT $FE,$C0, "DIS SICAKLIK:",#DEGER1, ".",DEC1 KALAN,"C"
             
               IF DEGER1<1 THEN '1 DERECENİN ALTINA DÜŞTÜĞÜ ZAMAN AŞAĞIDAKİ UYARIYI VERECEK(SENSÖR2)
               LCDOUT $FE,1
               LCDOUT $FE,1, "iC SICAKLIK:",#DEGER, ".",DEC1 KALAN,"C"                    
               LCDOUT $FE,$C0,"BUZLANMA RiSKi"
               PAUSE 1500
               LCDOUT $FE,1
               LCDOUT $FE,1, "iC SICAKLIK:",#DEGER, ".",DEC1 KALAN,"C"
               LCDOUT $FE,$C0, "DIS SICAKLIK:",#DEGER1, ".",DEC1 KALAN,"C"
               PAUSE 1500
               
               ENDIF
      
               PAUSE 100
               GOTO BASLA
           END



mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

kantirici

#2
LM35 ile doğrudan bağlantı ile negatif sıcaklıklar okunamıyor. Burada nasıl ölçüleceği  anlatılmış.

https://ozcanfatih.wordpress.com/2013/02/13/lm35-ile-negatif-sicaklik-olcumu/