angaralı38
Üye
- Katılım
- 6 Eki 2012
- Mesajlar
- 9
- Puanları
- 1
merhaba arkadaşlar; ben çizgi izleyen robot yapıyorum. buna bir iki ek özellik eklemek istedim. araç yine çizgi izleyecek ancak ben rf ile sinyal yollayınca araç yavaşlayacak. yazılımın çizgi izleyen ve rf kısmı ayrı ayrı çalışıyor ancak birleştirdiğim zaman simülasyonda çalışmıyor. devre çizimi ekte veriyorum. kodlar aşağıdadır. yardımınız için teşekkür ederim.
Kod:
[COLOR=#a52a2a][B]VERİCİ KODLARI[/B][/COLOR]
#include <verici.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000)
#use rs232 (baud=9600, xmit=PIN_B2, rcv=PIN_B1)
void uyan(){ // RF cihzını uyandırmak için
putc(0x55);
putc(0x00);
putc(0xff);
return;
}
void main(){
while(true){
uyan();
if(input(pin_b4)) // B4 portu 5 volt ise B bilgisini yolla
putc('X');
else
putc('Y');
}}
Kod:
[U][B][COLOR=#00ff00]ANA DEVRE KODLARI[/COLOR][/B][/U]
#include <16f877a.H>#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#use delay (clock=4000000)
#define en_sag pin_a0
#define orta_sag pin_a1
#define orta_sol pin_a2
#define en_sol pin_a3
#define input1 pin_b0
#define input2 pin_b1
#define input3 pin_b2
#define input4 pin_b3
#define enable_a pin_b4
#define enable_b pin_b5
void main()
{
char a;
a=getc();
output_high(enable_a);
output_high(enable_b);
while(1)
{
if(a='X'){
if(input(en_sag)==1 && input(orta_sag)==0 && input(orta_sol)==0 && input(en_sol)==0)
{
output_low(input1);
output_low(input2);
output_high(input3);
output_low(input4);
}
if(input(en_sag)==1 && input(orta_sag)==1 && input(orta_sol)==0 && input(en_sol)==0)
{
output_low(input1);
output_low(input2);
output_high(input3);
output_low(input4);
}
if(input(en_sag)==0 && input(orta_sag)==1 && input(orta_sol)==0 && input(en_sol)==0)
{
output_low(input1);
output_low(input2);
output_high(input3);
output_low(input4);
}
if(input(en_sag)==0 && input(orta_sag)==0 && input(orta_sol)==0 && input(en_sol)==1)
{
output_high(input1);
output_low(input2);
output_low(input3);
output_low(input4);
}
if(input(en_sag)==0 && input(orta_sag)==0 && input(orta_sol)==1 && input(en_sol)==1 )
{
output_high(input1);
output_low(input2);
output_low(input3);
output_low(input4);
}
if(input(en_sol)==0 && input(orta_sag)==0 && input(orta_sol)==1 && input(en_sol)==0)
{
output_high(input1);
output_low(input2);
output_low(input3);
output_low(input4);
}
if(input(en_sag)==0 && input(orta_sag)==1 && input(orta_sol)==1 && input(en_sol)==0)
{
output_high(input1);
output_low(input2);
output_high(input3);
output_low(input4);
}
}
if(a='Y'){
output_low(input1);
output_low(input2);
output_low(input3);
output_low(input4);
}
}}