私は現在、cytron の PIR モーション センサーという 2 つのセンサーを組み合わせたプロトタイプを作成しています。
およびフォトダイオード (小型、3 本足、モデルは不明)
プロトタイプは、光がなく、動きがある場合、LED がオンになるように機能します。そうしないと、オフになります。
両方のセンサーを別々にテストするコードを書きましたが、問題なく動作します。
2つのコードを組み合わせると、ledの出力の問題に直面します。以下に示すとおりです。
// include
//==========================================================================
# include <pic.h>
# include <htc.h>
// configuration
//==========================================================================
__CONFIG (0x3F32);
// define
//==========================================================================
#define sensor RB3
#define led RA5
#define led2 RB7
#define light RB5
#define _XTAL_FREQ 4000000
#define delay ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0)))
// main function
//==========================================================================
void main(void)
{
// unsigned long delay_time=5000;
TRISA = 0b00000000;
TRISB = 0b01111111; //Configure Port B as Input
ADCON1 =0B00000110;
led=0;
led2=0;
int i;
while(1) //Infinity Loop
{
if(!light)
{
if(sensor)
{
for(i=5;i>0;i--)
{
led2=0;
led=1;
__delay_ms(10000);
}
}
else if(!sensor)
{
if (i>0)
{ for(i=5;i>0;i--)
{
led2=0;
led=1;
__delay_ms(10000);
}
}
else if(i<=0)
{
led=0;
led2=1;
}
}
}
else if(light)
{
led=0;
led2=1;
}
}
}
よろしくお願いします。助けてください。ありがとうございました。