dtmf tonlarını pice çözdürmek

Başlatan Mr.Thinking, 07 Ağustos 2008, 11:52:54

Mr.Thinking

merhaba arkadaşlar.
ben uzun süredir üzerinde çalıştığım bir proje için picprojede dtmf ile pic ilişkilendirilmesi konusunda araştırma yapıyorum. Ancak henüz aradığım bilgiye ulaşamadım.
        Yapmak istediğim kısaca şöle:
        Daha önceden 3 kez çaldıktan sonra otomatik açılması için ayarladığım bir cep telefonu var. Bu cep telefonun kulaklık uçlarından aldığım ses sinyalini kt 3170 entegresine gönderdim elimdeki cep telefonun tuşlarına basarak 10 adet dtmf tonu gönderdim, -(soru:KT3170 bu dtmf tonlarını hangi veriye receiv etti?) İşte işin bilmediğim kısmı: KT3170 den gelen bu verileri pice çözdürüp 10 adet röleyi nasıl açıp kapatabilirim.Bu veriler KT3170 in hangi pinlerinden gelir.Datasheetini inceledim ama temel olarak 10 dtmf tonu var fakat entegrede 6 çıkış var.Bana bu konuda yardımcı olabilirmisiniz arkadaşlar. Hangi pici kullanmalıyım ve yazılımını nasıl yapmalıyım. Hek kodu nasıl yazılır. Lütfen acil yardım.
ego=1/Knowledge

Klein

Bunun için önce binary kodlamayı biraz araştırmanız gerek. Bahsettiğiniz yonganın   4 adet paralel 1 adet seri çıkışı var.  4 uç ile binary kodlama ile 16 sayı kodlanabilir. Matematikte 2 tabanlı saylar olarak da bilinir. Buradan başlamanızda fayda var.

elektronik

hex kodu nasıl yazılır ? güzel bir soru sormuşsun.
hex kodları yazılmaz . başka programlama dilleri ile yazdığın kodları derleyip hex kodlarına çevirirsin.
burda bir sıralama hatası var . ilk yapman gereken bir programlama dilini öğrenmen . eğer kısa sürede öğrenmek istiyorsan sana önerim picbasic öğren en kolay pic programlama dilidir. ama zaman sorunun yoksa c öneririm.
pic programlama öğrendikten sonra bu soruyu sorman daha uygun olurdu.
sitede dtmf diye ararsan birçok bilgiye ulaşırsın.

Mr.Thinking

Alıntı yapılan: "elektronik"hex kodu nasıl yazılır ? güzel bir soru sormuşsun.
hex kodları yazılmaz . başka programlama dilleri ile yazdığın kodları derleyip hex kodlarına çevirirsin.
burda bir sıralama hatası var . ilk yapman gereken bir programlama dilini öğrenmen . eğer kısa sürede öğrenmek istiyorsan sana önerim picbasic öğren en kolay pic programlama dilidir. ama zaman sorunun yoksa c öneririm.
pic programlama öğrendikten sonra bu soruyu sorman daha uygun olurdu.
sitede dtmf diye ararsan birçok bilgiye ulaşırsın.
picbasici indirdim ama kullanmasını tam olarak bilmiyorum hala üzerinde çalışıyorum. ayrıca dtmf olarak sitedeki tüm bilgileri hemen hemen okudum ama yeterli olmadı çünki tüm konularda ptt hattlı telefonlarla ilgilenilmiş. benim konum biraz daha farklı.
ego=1/Knowledge

Mr.Thinking

Alıntı yapılan: "elektronik"hex kodu nasıl yazılır ? güzel bir soru sormuşsun.
hex kodları yazılmaz . başka programlama dilleri ile yazdığın kodları derleyip hex kodlarına çevirirsin.
burda bir sıralama hatası var . ilk yapman gereken bir programlama dilini öğrenmen . eğer kısa sürede öğrenmek istiyorsan sana önerim picbasic öğren en kolay pic programlama dilidir. ama zaman sorunun yoksa c öneririm.
pic programlama öğrendikten sonra bu soruyu sorman daha uygun olurdu.
sitede dtmf diye ararsan birçok bilgiye ulaşırsın.
ayrıca pic programlamayı öğrensem zaten bu soruyu sormazdım
ego=1/Knowledge

elektronik

haklısın kardeş sana cevap verende hata .
kusura bakma.

Alıntı yapılan: "elektro77". Hek kodu nasıl yazılır. Lütfen acil yardım.

"hex kodu nasıl yazılır" diye sorduğun için sana picprogramlama öğrenmeni tavsiye ettim.

Mr.Thinking

Alıntı yapılan: "elektronik"haklısın kardeş sana cevap verende hata .
kusura bakma.
e iyide kardeşim sen bizi iyice kalas konumuna soktun.
ego=1/Knowledge

timpati

Alıntı yapılan: "elektronik"haklısın kardeş sana cevap verende hata .
kusura bakma.

@elektronik,

++  :D
why mr. anderson, why ?

files

DRMF 3170in 4 adet pininden çıkar 5. pin ise tuşa basılırken 1 olur bırakınca söner. pic bu pine bakar tuş basıldıysa  diğer 4 pinden gelen binary sayıyı okur.  0..12 arası sayıolar 4 pinden çıkar

Mr.Thinking

Alıntı yapılan: "files"DRMF 3170in 4 adet pininden çıkar 5. pin ise tuşa basılırken 1 olur bırakınca söner. pic bu pine bakar tuş basıldıysa  diğer 4 pinden gelen binary sayıyı okur.  0..12 arası sayıolar 4 pinden çıkar
teşekkür ederim files. Bu bilgilerde projemde ilerlememde bana çok yardımcı olacak. Fakat pic yazılımını bulamazmıyım bi yerden. sadece 1'e basınca birinci röle 2'ye basınca ikinci röle...  0'a basınca 10. röle çekecek şekilde bir yazılım çok zor olmasa gerek. Yardımlarınız için şimdiden teşekkür ederim.
SAYGILAR
ego=1/Knowledge

mustafa_cmbz

örnek olması açısında şöyle bir kod verebilrim basic için..


std_tara:

ıf std=1 then tara_1

goto std_tara


tara_1:

ıf m1=1 then togle relay_1
ıf m2=1 then togle relay_2
ıf m1=1 and m2=1 togle relay_3 

goto std_tara


burada 3 nolu tuşa basıldığını m1 ve m2'yi and işlemine tabi tutarak pic'e algılatabilirsin..birde kt3170 8421 mantığına göre çıkış verir..yani 3 nolu tuşa bastığında 2 ve 1 çıkış olur 5nolu tuşa bastığında 4 ve 1 =1 olur...bunu pic' algılatmak için ise kt3170 'in std ucunu devamlı taratman gerek...ilk önce std'yi taratacaksın sonra std=1 ise diğer 4 pin'i taratıp degerleri alacaksın....kolay gelsin...

....

Mr.Thinking

burada 3 nolu tuşa basıldığını m1 ve m2'yi and işlemine tabi tutarak pic'e algılatabilirsin..birde kt3170 8421 mantığına göre çıkış verir..yani 3 nolu tuşa bastığında 2 ve 1 çıkış olur 5nolu tuşa bastığında 4 ve 1 =1 olur...bunu pic' algılatmak için ise kt3170 'in std ucunu devamlı taratman gerek...ilk önce std'yi taratacaksın sonra std=1 ise diğer 4 pin'i taratıp degerleri alacaksın....kolay gelsin...
peki hocam bu dtmf tonlarını araya hiç entegre koymadan cep telefonunun kulaklık uçalrını pice versek olurmu.pice notaları algılatabilirmiyiz.
ego=1/Knowledge

hkalaycioglu

elektro77 bende dtmf tonlarını kullandım cep telefonlu uzaktan motor kontrol işleri yaptım kt3170 veya cm8870 bu entegreler dtmf kodlarını binary kodlara cevırır.sen cep telefonundan 1 tusuna bastıgında entegre cıkısında std bınary 1 olur d1 d2 d3 d4 cıkıslarıda 0001 olur her tus bu sekılde kodlanmıstır. kt 3170 in std ucunu kontrol etmene gerek yok aslında. kt 3170 in d1 d2 d3 d4 uclarını pic 16f84 ün portb nin rb0 rb1 rb2 rb3 uclarına bagla. su kodlada konrtol işlemini yapabilirsin

AC:
IF PORTB.0=0 AND PORTB.1=0 AND PORTB.2=0 AND PORTB.3=1 THEN
GOTO ROLE1

ROLE1:
  HIGH PORTB.4
  GOTO AC

gibi kod yazabılırsın bu sana kalmıs hangı tusa gore neyı kontrol etmek ıstıyorsan kontrol işlemini yapabilirsin

Mr.Thinking

Alıntı yapılan: "hkalaycioglu"elektro77 bende dtmf tonlarını kullandım cep telefonlu uzaktan motor kontrol işleri yaptım kt3170 veya cm8870 bu entegreler dtmf kodlarını binary kodlara cevırır.sen cep telefonundan 1 tusuna bastıgında entegre cıkısında std bınary 1 olur d1 d2 d3 d4 cıkıslarıda 0001 olur her tus bu sekılde kodlanmıstır. kt 3170 in std ucunu kontrol etmene gerek yok aslında. kt 3170 in d1 d2 d3 d4 uclarını pic 16f84 ün portb nin rb0 rb1 rb2 rb3 uclarına bagla. su kodlada konrtol işlemini yapabilirsin

AC:
IF PORTB.0=0 AND PORTB.1=0 AND PORTB.2=0 AND PORTB.3=1 THEN
GOTO ROLE1

ROLE1:
  HIGH PORTB.4
  GOTO DON

gibi kod yazabılırsın bu sana kalmıs hangı tusa gore neyı kontrol etmek ıstıyorsan kontrol işlemini yapabilirsin
çok teşekkür ederim tam kodları gönderebilirmisiniz rica etsem.ben pici hiç bilmiyorum.    Şimdiden teşekkürler.
ego=1/Knowledge

hkalaycioglu

bugun gonderemem ancak yarın kodları gonderebılirım bugun nobetcıyım butun kodlar evdekı bılgısayarımda su anda yazmakta bıraz zaman alır yarın ınsallah gonderırım