selim4141
Üye
- Katılım
- 16 Eki 2011
- Mesajlar
- 17
- Puanları
- 1
Merhaba arkadaşlar
Sorunum vericiden sinyali gönderiyorum fakat alıcıdan sinyali algılatamıyorum ve mesafeyi ölçmüyor sadece lcd de yazı çıkıyor .sonra herhangi bir işlem yapmıyor.
Alıcı devresinde bu sitedeki alıcı devresini kullandım.
yazılımda mı hata yapıyorum?nedeni nedir?
Elektronik Devreler - www.edevreler.com basit elektronik projeler devreler elektronik şemalar devre şemaları
nasıl algılatabilirim.
Yardımcı olur musunuz?benim için çok önemli.
kod:
#include <16F877a.h>
#fuses HS, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP
#use delay(clock = 20000000)
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#define use_portb_lcd TRUE
#include <lcd.c>
int16 distance, time;
#define trig pin_C1 //trigger pini output yapın
#define echo pin_C2 //echo pini input yapın
void main()
{
setup_psp(PSP_DISABLED);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_ccp1(CCP_CAPTURE_DIV_4);
setup_CCP1(CCP_CAPTURE_RE);
setup_CCP2(CCP_PWM);
setup_timer_2(T2_DIV_BY_16,7,1);
set_pwm2_duty(7);
set_tris_a(0xFF);
set_tris_b(0x00);
set_tris_c(0x04); // RC2 giriş RC1 çıkış
lcd_init();
printf(LCD_PUTC, "\f Sonar Test");
delay_ms(1000);
while(1)
{
output_high(trig);
delay_us(12.5);
output_low(trig);
while(!input(ECHO))
{}
set_timer1(0);
while(input(ECHO))
{}
time=get_timer1();
distance=time/58;
printf(LCD_PUTC, "\fTime : %Lu \nDistance : %Lu",time,distance);
delay_ms(100);
}
}
Sorunum vericiden sinyali gönderiyorum fakat alıcıdan sinyali algılatamıyorum ve mesafeyi ölçmüyor sadece lcd de yazı çıkıyor .sonra herhangi bir işlem yapmıyor.
Alıcı devresinde bu sitedeki alıcı devresini kullandım.
yazılımda mı hata yapıyorum?nedeni nedir?
Elektronik Devreler - www.edevreler.com basit elektronik projeler devreler elektronik şemalar devre şemaları
nasıl algılatabilirim.
Yardımcı olur musunuz?benim için çok önemli.
kod:
#include <16F877a.h>
#fuses HS, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP
#use delay(clock = 20000000)
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#define use_portb_lcd TRUE
#include <lcd.c>
int16 distance, time;
#define trig pin_C1 //trigger pini output yapın
#define echo pin_C2 //echo pini input yapın
void main()
{
setup_psp(PSP_DISABLED);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_ccp1(CCP_CAPTURE_DIV_4);
setup_CCP1(CCP_CAPTURE_RE);
setup_CCP2(CCP_PWM);
setup_timer_2(T2_DIV_BY_16,7,1);
set_pwm2_duty(7);
set_tris_a(0xFF);
set_tris_b(0x00);
set_tris_c(0x04); // RC2 giriş RC1 çıkış
lcd_init();
printf(LCD_PUTC, "\f Sonar Test");
delay_ms(1000);
while(1)
{
output_high(trig);
delay_us(12.5);
output_low(trig);
while(!input(ECHO))
{}
set_timer1(0);
while(input(ECHO))
{}
time=get_timer1();
distance=time/58;
printf(LCD_PUTC, "\fTime : %Lu \nDistance : %Lu",time,distance);
delay_ms(100);
}
}