Haberler:

Türkiye'nin Elektronik ve Metal Dedektörlerini Buluşturan İlk Sitesi Teknoloji Ekibi'ne Hoş Geldiniz.

Ana Menü

dallas 18b20 ile 1-Wire Protokolü kullanılarak yapılmış termometre

Başlatan Karadağ, 02 Ağustos 2010, 21:19:16

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Karadağ

1-wire protokolünü öğrenmek için yaptığım ve dallas18b20 kullandığım termometre devresi. Devreye birde menü ekleyecektim ama picdeki bellek yetersiz kaldığı için ve elimde de ondan başka pic olmadığı için ekleyemedim. Kodu inceleyenler artıklardan ekleyemediğim menüyü fark ederler :). Fakat ilerki zamanlarda manchester kod hakkında bir örnek için devreyi rf olarak yapmayı planlıyorum.

Linkback: dallas 18b20 ile 1-Wire Protokolü kullanılarak yapılmış termometre
insanlar sizi eskisi gibi kullanmadıklarında değiştiğinizi söylerler...

Eğer bir aptala laf anlatmaya çalışırsan dışarıdan bakanlar iki aptalın sohbet ettiğini sanırlar.

Kamburlar ülkesinde sırtı düze sakat denir.

Karadağ

Transmitter tarafının yazdım. Kodlar gayet güzel çalışıyor. Kodu yazarken Thomasın manchester kodlama yöntemini kullandım (1 için 10, 0 için 01).
Umarım manchester kodlamayı öğrenmek isteyen ve rf veri göndermek isteyen birilerinin işine yarar. Gerçi datanın sonuna birde checksum eklemek gerekiyor ama onuda bir sonraki aşamada eklerim. Manchester fonksiyonunu ve OSC çıktısını buraya ekledim. Kodların proje olarak tümünü de dosya olarak ekledim. Zamanım oldukça receiver tarafının da kodlarını yazar, dener ve yayımlarım.

[IMG]http://img64.imageshack.us/img64/8563/manchestern.th.jpg[/img]

Uploaded with ImageShack.us


void ManchesterSender(volatile unsigned char LenghtByte,volatile unsigned char LenghtBit, volatile unsigned int Data)
{
volatile unsigned char i,j;
volatile unsigned char tmp;
//RC4=1;
for(i=0;i<LenghtByte;i++)
{
for(j=0;j<LenghtBit;j++)
{
tmp=TestBit(Data,j);//data tomas standartlarına göre gönderiliyor.
if(tmp==1)
{
DataPort=1;
DelayUs(500);
DataPort=0;
DelayUs(500);
}
else if(tmp==0)
{
DataPort=0;
DelayUs(500);
DataPort=1;
DelayUs(500);
}
}
}
//RC4=0;
}

void DataSender(volatile unsigned char ID, volatile unsigned int Data)
{
//Preample gönder 4 adet 1, 4 adet 0
DataPort=1;
DelayMs(1);
DataPort=0;
DelayMs(1);
DataPort=1;
DelayMs(1);
DataPort=0;
DelayMs(1);
DataPort=1;
DelayMs(1);
DataPort=0;
DelayMs(1);
DataPort=1;
DelayMs(1);
DataPort=0;
DelayMs(1);
//Preample bitir
//ID gönder
ManchesterSender(1,8,ID);
//ID bitir
//Data gönder
ManchesterSender(1,16,Data);
//Data bitir
DataPort=0;
}

insanlar sizi eskisi gibi kullanmadıklarında değiştiğinizi söylerler...

Eğer bir aptala laf anlatmaya çalışırsan dışarıdan bakanlar iki aptalın sohbet ettiğini sanırlar.

Kamburlar ülkesinde sırtı düze sakat denir.


Paylaş whatsappPaylaş facebookPaylaş linkedinPaylaş twitterPaylaş myspacePaylaş redditPaylaş diggPaylaş stumblePaylaş technoratiPaylaş delicious