picbasic+proton pot kullanımı

Başlatan a4tech33, 07 Nisan 2011, 08:28:13

a4tech33

öncelikle iyi akşamlar sizlere sorum şu ki 12f675 e pot baglanacak 1 portunada led. potun direnci arttıkça led 1dakka da 1 yanacak fakat azaldıkça ledin yanma aralığı düşecek saniye olarak. şimdiden teşekkür ederim cevaplıyanlara

ete

Cevap olarak neyi beklediğini pek anlayamamakla birlikte işin temelini anlatayım istedim.

Devrede bağlı olan Pot 1K lık olacak ve alt ucu GND ye üst ucu +5V ta bağlanacak ve orta ucuda bir Analog girişe bağlanacaktır.
Potun direnci arttıkça led in yanma süresi artacak şeklinde anladığım açıklamanda sınır belirtmemişsin. Maksimum dirençte yanma süresi ne olacak. Bunun birde sönük kalma süresi olacak herhalde bu konuda da bilgi yok. Tabiiki minimum pot ayarında süreler ne olacak bunuda bildirmemişsin. Bende bildirmediğin süreleri UST ve ALT diye nitelendirip açıklama yapacağım.
Maksimum süre maksimum direnç değerinde olacağına göre 10 bitlik ADC okumasından elde edeceğimiz maksimum değerin 1023 olacağını söyleyip bunun 0-1023 aralığınd sıfır dahil 1024 kademeye denk geldiğini belirteyim. O halde maksimum pot değerinde UST (sn) değeri kadar bir bekleme yapılması gerekecektir.  Birim bekleme ne olur dersen UST/1024 şeklinde hesaplanır. Bu değeri Pic ile kullanabilmek için 256 ile çarparız ve formül çarpanımızı buluruz. O halde CARPAN=(UST/1024)*256 şeklinde bulunur.
Şimdi iş kaldı pot değerine göre bekleme süresi hesabına. Formülümüz;
SURE=(ADC_HAM+1)*/CARPAN  şeklinde yapılacaktır.
Şİmdi bir örnek yapalım böylece daha iyi anlayacaksın. Diyelimki maksimum pot değerinde bekleme süresi 1 dakika yani 60 sn olacak.
O halde CARPAN=60/1024*256 = 15 değeri bulunur.
Şİmdi de ADC den diyelimki 670 değerini okuduk;
SURE=(670+1)*/15  formülüne göre hesabımızı yapacağız. Bu hesabın açık şekli şöyledir. 671*15/256 = 39 sn.
Bu durumda led için şu sistemi kullanmak gerekiyor,
Led=1
Pause Sure*1000
led=0
Şayet aynı zamanda sönme süreside kullanılacak ise buna
pause sure*1000  komutunu eklemek gerekecektir.

Pasue komutu ms cinsindendir. Sure değişkeni ise san cinsinden olduğu için beklemenin sn olabilmesi için 1sn=1000ms eşitliğindeki 1000 rakamı ile çarpıp bekleme süresini saniyeye çevirmiş oluyoruz.

Hepsi bu kadar umarım bir şeyler anlamışsındır.
Bir soru sorarken işin detayına inmek soruya cevap almanı kolaylaştırır. Soruyu cevaplarken ben yeniden soru sormak zorunda kalacaksam o mesajı cevaplamak istemem açıkçası. Önce soruyu nasıl sorman gerektiğini iyice düşünüp ondan sonra gereken detayları vermek en doğrusudur. Hala ne demek istediğimi anlamamış isen sorunu şu şekilde sorman gerekirdi derim;
----------------------
Pic'e bağlı bir pot yardımı ile yakılacak bir ledin yanma sönme süresini pot değerine bağlı olarak değiştireceğim.
Potun minimum değerinde yanma süresi xx sn yada ms olsun. Potun maksimum değerinde ise yanma süresi xxx sn. olsun istiyorum.
Led'in yanık kalma süresi kadar sönük kalma süreside olacaktır (yada şu kadar sönük kalma süresi olacaktır) . Bu işi nasıl yaparım?
-------------------------

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

a4tech33

çok teşekkür ederim. gerçekten kendi sorduğum sorudan  daha güzel 1 soruyla açıklamışsınız. benimde anlatmak istediğim soru aynen o şekildeydi hocam. öncelikle çok haklısınız yeni üyeliğime verin.yanıtınız beni aydınlattıı tekrar teşekkür ediyorum hocam.