Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

PIC yazılım sorunu

Başlatan hamza777, 22 Haziran 2013, 14:48:50

hamza777

Arkaşlar PIR sensörle ilgili bir uygulama yapıyorum. AŞğıdaki satırlarda read_sensor() fonsiyonu ile dijital PIR sensörü 5 okuma yapıp enbüyük  ve enküçük değerlerini bulup farkını alıp RC0 pinini kontrol ediyorum.
     
    IF yordamının elseden sonrakısmına ulaştığı zaman ana program zamanlayıcı ile uğraştığı için PIR ı rutin olarak okuyamıyorum.

1.  PIRı  15 ms  aralıklarla ruin okumalıyım.
2. PIRdan sinyal gelmediği zaman zamanlayacı çalışacak ve belli bir süre sonra RC0= olacak.
3- Zamanlayıcı devreye girse bile PIR ı belli periyotlarla okumam lazım.

Bu sorunu nasıl çözebiliriz.




//-----RC0 ile-PIR durumuna göre 48 adet ledler açip kapama --------------------

                        YUKSEK = read_sensor();
                        DUSUK = YUKSEK;
                   for (unsigned int m=0; m<5; m++)
                   {
                      sensor_son = read_sensor();

                       if( sensor_son > YUKSEK)  YUKSEK = sensor_son;  // En yüksek bulundu
                       if(sensor_son < DUSUK)   DUSUK  = sensor_son;   // En düşük bulundu.

                   }
                       
               PIR_SONUC = YUKSEK - DUSUK;

               if ( PIR_SONUC > 2  )
                {
                    LATCbits.LATC0=1;   
                }
               else
               {                 
                   ZAMAN_SN();
                   LATCbits.LATC0=0;
               }