Arşiv

Archive for Aralık 2011

DS18B20 den Sıcaklık Okumada Farklı Bir Yöntem

03 Aralık 2011 Yorum bırakın

DS18B20 ölçüm sonucunu float olarak vermektedir. Fakat bu değişken tipini işlemek 8 bitlik bir mikrokontrolcü tarafından oldukça kasvetli bir iştir. Örneğin PIC16F84 de float bir değişkenin içerisinden ondalık ve tam kısımların ayırt edilebilmesi için yapılması gereken işlemler, program belleğinin neredeyse yarısını kaplayacak kadar yer işgal eder. Fakat aşağıdaki gibi alternatif bir yöntemle ondalık kısım (0.1 hassasiyetle) ve tam kısım, basit işlemlerle de elde edilebilir.

Aşağıdaki fonksiyon örneği pozitif sıcaklık değerleri için geçerlidir. Fonksiyon bReturnOption 1 ile çağırıldığında sıcaklığın tam sayı değerini, 0 ile çağırıldığında ise sıcaklığın ondalık değerini geri döndürür.

unsigned char bGetTemperature(unsigned char bReturnOption)
{
unsigned char bTemperatureLSB, bTemperatureMSB, i, bReturned;
vReset();
vWriteByte(0xCC);
vWriteByte(0x44);
for(i=0;i<8;i++) __delay_ms(100);
vReset();
vWriteByte(0xCC);
vWriteByte(0xBE);
bTemperatureLSB=bReadByte();
bTemperatureMSB=bReadByte();
vReset();

if(bReturnOption==1)
{
bReturned=((bTemperatureMSB<<4)|(bTemperatureLSB>>4));
}
else
{
bReturnOption=bTemperatureLSB&0x0F;
switch(bReturnOption)
{
case 0:
case 1: bReturned=0; break;
case 2:
case 3: bReturned=1; break;
case 4: bReturned=2; break;
case 5:
case 6: bReturned=3; break;
case 7: bReturned=4; break;
case 8: bReturned=5; break;
case 9:
case 10: bReturned=6; break;
case 11:
case 12: bReturned=7; break;
case 13: bReturned=8; break;
case 14:
case 15: bReturned=9; break;
}
}
return bReturned;

}

Yatırım

01 Aralık 2011 10 yorum

Bugünler yine altın aşağı altın yukarı efsaneleri ortalıkta dönmeye başladı. Benim de yorumum artacak yönünde.

Meraklısına, takip etmek isteyene, ufak bir program yazdım. Bu program, iş bankasının sürekli güncellediği web sayfalarını belirli aralıklarla ziyaret ederek anlık fiyat bilgilerini alır ve görüntüler. Ayrıca aldığınız fiyatı ve gramı girerseniz sizin yerinize kar zarar durumunu hesaplar.

Kullanımı oldukça basittir.

Maliyet; alış fiyatını, adet; alınan gram adedini ifade eder. Bu bilgilerle kar/zarar durumu hesaplanır. Ayrıca üst taraftaki combobox ile  güncelleme zamanı ayarlanabilir.

Ayrıca trayda birkaç külçe altın simgesine tıklanırsa, ana ekran gizlenebilir, gizli ise gösterilebilir veya program kapatılabilir.

Tray deki iconun üzerinde bir kaç saniye beklenirse güncel fiyatları gösteren bir popup belirecektir.

Programın çalışması kısaca şöyledir;

Form da bir web browser bulunmaktadır. Browser dan belli aralıkla belirli bir internet adresini ziyaret etmesi istenir. Bu sayfanın yüklemesi bittiğinde sayfanın kaynak dosyası içerisinde string işlemleri yapılarak güncel fiyat bilgileri alınır. Sonrasında ise hesaplamalar yapılır.

Programın kaynak kodları ve kendisi aşağıdaki linktedir. Derleyici ise borland C++ builder 5 dir.

XAU (Dosya uzantısını .rar olarak değiştirin)

Yalnız aklınızdan çıkarmamanız gereken ufak bir not

Çalışmadan, yorulmadan, üretmeden, rahat yaşamak isteyen toplumlar, önce haysiyetlerini, sonra hürriyetlerini ve daha sonra da istiklal ve istikballerini kaybederler. Mustafa Kemal ATATÜRK