Programlama ve Elektronik

Programlama ve Elektronik (http://www.proelo.com/)
-   PIC C (http://www.proelo.com/pic-c-43/)
-   -   çizgi izleyen kod sorunu (http://www.proelo.com/pic-c-43/cizgi-izleyen-kod-sorunu-2611/)

nusrettepe 14. May 2016 10:47 PM

çizgi izleyen kod sorunu
 
Kod:

#include <16F877A.h>
#device adc=10
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
 
#use delay(clock=20000000)
 
#use fast_io(a)
#use fast_io(c)
unsigned int8 sensorler=0solpwm=0sagpwm=0;
 
void main()
{
  setup_timer_2(T2_DIV_BY_12491); //50.0 us overflow 50.0 us interrupt
  setup_ccp1(CCP_PWM); // ccp1 ucu pwm çıkışı olarak ayarlandı
  setup_ccp2(CCP_PWM); // ccp2 ucu pwm çıkışı olarak ayarlandı
  set_tris_a(0xFF); // a portunu giriş olarak ayarla
  set_tris_c(0xF0);
 
  while(true) //sonsuz döngü
  {
      sensorler = input_a(); // A porundaki tüm pinleri oku
      sensorler = sensorler * 0b00101111; // Sensörden gelen değerleri maskeleyerek al
 
      // birinci ifade beyaz zemin üzeri siyah çizgi için
      // ikinci ifade siyah zemin üzerine beyaz çizgi için
      //Düz git
      if(sensorler==0b00000100 || sensorler==0b00101011)
      {
          solpwm=990;
          sagpwm=990;
      }
      //sola dön vites1
      if(sensorler==0b00000110 || sensorler==0b00101001)
      {
          solpwm=700;
          sagpwm=990;
      }
      //saga dön vites1
      if(sensorler==0b00001100 || sensorler==0b00100011)
      {
          solpwm=990;
          sagpwm=700;
      }
      //sola dön vites2
      if(sensorler==0b00000010 || sensorler==0b00101101)
      {
          solpwm=500;
          sagpwm=990;
      }
      //saga dön vites2
      if(sensorler==0b00001000 || sensorler==0b00100111)
      {
          solpwm=990;
          sagpwm=500;
      }
      //sola dön vites3
      if(sensorler==0b00000011 || sensorler==0b00101100)
      {
          solpwm=300;
          sagpwm=990;
      }
      //saga dön vites3
      if(sensorler==0b00101000 || sensorler==0b00000111)
      {
          solpwm=990;
          sagpwm=300;
      }
      //sola dön vites4
      if(sensorler==0b00100000 || sensorler==0b00001111)
      {
          solpwm=0;
          sagpwm=990;
      }
      //saga dön vites4
      if(sensorler==0b00000001 || sensorler==0b00101110)
      {
          solpwm=990;
          sagpwm=0;
      }
      set_pwm1_duty(solpwm);
      set_pwm2_duty(sagpwm);
    }
}


nusrettepe 14. May 2016 10:49 PM

Cevap: çizgi izleyen kod sorunu
 
5 sensörlü çizgi izleyen robotun kodları. kodlarda bir sorun var mı arkadaşlar? pic e yükledim robot çalışmıyor? yardımcı olursanız sevinirim.


Bütün Zaman Ayarları WEZ +3.5 olarak düzenlenmiştir. şu Anki Saat: 02:49 AM .