Protonda ntc ile çalışmak nasıl yapılır?

Başlatan Murat Mert, 12 Mart 2009, 10:45:52

Murat Mert

Değerli pic projeciler selam
protonda 10K lık ntc termistörler ile çalışmalar yapmak istiyorum. Bununla ilgili forumda araştırmalar yaptım ama pek anlayamadım. Bende ntc lineer olmadığı için bir tablo oluşturmak istedim. Mesela:
"termistor(atıyorum) 22 C de değer 350 ise 2 ekle gibi"
bunu IF.....THEN..... komutu ilemi yapsam daha iyi olur yoksa CASE komutu ile mi yapsam daha iyi olur. Açıklar iseniz sevinirim. Kolay gelsin.
mert07

Maxim

if `le falan yaparsan hafıza yetmez ona ,
lookup ve lookupL komutlarına bakarmısın ,
table oluşturabilirsin böyle

Murat Mert

Sn. maxiboost hocam rica etsem bununla ilgili bir örnek verirmisiniz?
mert07

Murat Mert

A=INKEY
SAPMA=LOOKUP A,[1,4,7,11,16..........22]
A=0 THEN 1
A=1THEN 4
.
.
.
A=10 THEN 22

Şeklinde mi olacak? A=0,A=1.......A=10 yerine
A=22 THEN 4
A=35 THEN 7
A=38 THEN 16

Şeklinde yazabilirmiyiz yada illaki 0 1 2.........10 11 diyemi gitmeli?
Bilgileriniz için şimdiden teşekkürler.
mert07

Murat Mert

Herkezden özürdilerim yanlışlıkla mesajı 2 defa yolladım.
mert07

Maxim

önce belirtmek lazımki ,bir şeyi yapmanın başka yollarıda olabiliyor ,
benim bildiğim lookup tablosu ile böyle yapılıyor .



NTC ısıya göre direnci değişen eleman .

elimizde hangi sıcaklıklarda ne değer alıyor bilmiyorsak ona göre bir düzenek hazırlayıp ölçmek lazım.


ntc ile 5 volt arasına bir direnç takıp çıkan voltaja göre bir tablo oluşturmak gerekiyor, zaten ntc pice böyle bağlanacak ,




amacımız bir lookup tablosu oluşturmak dimi ?
bir senaryo düşünelim .

yukarıdaki gibi ntc yi pice bağlayalım ,
analog girişi 8bit seçelim ,yani 0 ile 255 arasında bir değerimiz olacak .

0 derecede adc girişimiz hangi değeri aldı ?
atıyorum 12 .

5 derecede adc girişimiz hangi değeri aldı ,
atıyorum 23

87 derecede adc girişimiz hangi değeri aldı ,
atıyorum 176

bunları tek tek bir yere not ediyoruz .

sonunda elimizde sıcaklığa göre 8 bitlik bir tablomuz oldu.


peki ,87 derecede adc değerimiz nedir? 176..
peki ekranda ne görmemiz lazım ? 87

şimdi burada bir lookup tablosu oluşturuyoruz .
lookup tablomuzda 255 tane değer olacak .

bu tabloyu biz oluşturuyoruz ve ne görmek istiyorsak karşılığını biz belirliyoruz .

87 derece 8bitlik adc değeri 176 mı ?
o zaman tam lookup tablomuzdaki 176. yere 87 yazıyoruz ve onu ekrana veriyoruz .
Ekranda gözükecek olan değer adc değeri değil, lookup tablosunda bizim yazdığımız değer olacak .


örnek :
ADC_DEGERI  = ADIN 0

DIM ADC_DEGERI AS BYTE
DIM VAR1 AS BYTE

VAR1 = LOOKUP ADC_DEGERI , [ 4 , 5 , 30 ,32, 35,......87, ]

PRINT AT 1,1 ,"SICAKLIK:", DEC VAR1,"C"




kısacası,

adc girişimiz 0 ile 255 arası bir değer .
lookup tablomuzda`da 255 tane bizim girdiğimiz değerler olacak ..

adc girişi 176 olduğu zaman
lookup tablosunda 176 ya denk gelen yerde 87 yazıyor olması lazım.


soru: adc girişimiz 3, ekranda ne görürüz bu örnekte?
VAR1 = LOOKUP ADC_DEGERI , [ 4 , 5 , 30 ,32, 35,......87, ]

cevap : 32


soru :
adc girişi 0 ,ne görürüz ?
cevap: 4


soru:
adc girişimiz 4 ne görürüz ?
cevap: 35

Murat Mert

Sn. maxiboost
Öcelikle ilgilenip cevap yazıp bilgilendirdiğiniz için teşekkür ederim.Elinize ve zihninize sağlık.  ;)   Galiba sizi biraz kızdırdım bunun içinde özür dilerim.  :cry:
Proton kitabın siparişini verdim biraz onunla uğraşmam lazım. Herşey için teşekkürler. Kolay gelsin.  :D
mert07

Maxim

Alıntı yapılan: "mert07"Sn. maxiboost
Öcelikle ilgilenip cevap yazıp bilgilendirdiğiniz için teşekkür ederim.Elinize ve zihninize sağlık.  ;)   Galiba sizi biraz kızdırdım bunun içinde özür dilerim.  :cry:
Proton kitabın siparişini verdim biraz onunla uğraşmam lazım. Herşey için teşekkürler. Kolay gelsin.  :D

kızmakmı ?
onuda nereden çıkardın ?  :lol:
yok öyle birşey, rahat ol.