16f84 ccs c ile Hızı artan buzzeer sesi Bomba gibi :)

Başlatan Elektrik2012, 30 Nisan 2014, 19:36:06

Elektrik2012

Merhaba okulda sergimiz var onun için pic bir programyazıcam şu işe yarıyacak 1.  butona bastıgında buzzer ötmeye başlıycak susucak bu 250 ms başlasın 100 ms kadar 30 ms aralıklar hızı artsın istedim daha sonra en sonunda pin_b1 pini high olsun İstedim hgh olduktan sonra 2000 ms sonra tekrar low olsun istiyorum,Bu şu işe yarıycak sergiye gelenler butona bastıgında buzzer ötmeye başlıycak dıt dıt dıt dıt diye hızlanarak en sonunda ben pin b1 mekanik bağlıycam kutunun içinde hoşgeldiniz yazısı çıkacak ben bprogramı  yazdım ama similasyonda olmadı istedigim nerde hata yaptım? :)
#include <16f84a.h> //Mikrodenetleyici seçilir
#fuses XT,NOWDT,NOPROTECT,PUT //Sigortalar seçilir
#use delay (clock=4M) //Denetleyici frekansı

void main()
{
set_tris_a(0x00);
output_b(0x00);

while(1)
{
if(input(pin_A0)==1) //Eğer Ra0 pinine lojik 1 gelirse ,1 yerine 0 olabilir o zaman Lojik 0 gelmesi lazım
{
Output_high(pin_b0);//Pin b0 lojik 1 yap
delay_ms(250);
Output_low(pin_b0);//Pin b0 lojik 1 yap
delay_ms(230);
Output_high(pin_b0);//Pin b0 lojik 1 yap
delay_ms(210);
Output_low(pin_b0);//Pin b0 lojik 1 yap
delay_ms(190);
Output_high(pin_b0);//Pin b0 lojik 1 yap
delay_ms(160);
Output_low(pin_b0);//Pin b0 lojik 1 yap
delay_ms(130);
Output_high(pin_b0);//Pin b0 lojik 1 yap
delay_ms(100);
Output_low(pin_b0);//Pin b0 lojik 1 yap
delay_ms(100);
Output_high(pin_b0);//Pin b0 lojik 1 yap
delay_ms(100);
Output_low(pin_b0);//Pin b0 lojik 1 yap
delay_ms(100);

output_high(pin_b1);
delay_ms(2000);
output_low(pin_b1);

output_b(0x00);

}}}
Simülasyonda 8 kez high olduktan sonra direk pin_b1 aktif yapıyor

Kabil ATICI

Burada normal bir hoparlör kullanıyorsan,
Peki sen o zaman aralığındaki iniş veya çıkışlardaki sesi duyabilir misin?

en azından 1-0-1-0 gibi bir geçiş yapman lazım. Bunu insan kulağının duyacağı bir aralıkta yapacaksın.(araya geçikme konarak) 1-0 aşağı yukarı 10KHz gibi bir ses oluşturman gerekir.

Hadi devreyi simülasyonda yapıyorsun, sanal osilaskopla baktın mı? O adımları gerçekleştiriyor mu?

Butonun 5V'a bağlı galiba. Şema olmayınca programdan ancak görebildiğimizi yorumluyoruz.
ambar7

Elektrik2012

#2
Çok Teşekkür ederim ilginiz için Hoparlör koymuycam Osilatörlü buzzer kouycam transistörler tetikliycem Buton +5v bağlı  lojik 1 gelince işliyor komutu

Kabil ATICI

o zaman susma ve ötme süresi kademeli olarak azalacak. Çalışmasına Sanal osilaskopla veya lojik analizör ile baktın mı?
ambar7

Elektrik2012


Kabil ATICI

Simülasyonda devre üzerinde analog özellikli eleman varsa, gerçek zamanda çalışmayabilir. Ve sizin gözleriniz o değişimi göremeyebilir.
ambar7

Elektrik2012

Anladım çok teşekkür ederim Gerçekte birde bord deniycem Çok çok saolun