携帯防犯システム

もどる

マイクロ波レーダーで近づいてきた動体を検知し 85db の

大音響で危険を知らせる。

アマゾンで1枚170円で販売されているマイクロ波ドップラーレーダーを

乾電池4本 6Vで駆動  秋月の大型ブザーか圧電スピーカーを

鳴らす。

約 7〜8mの距離で感知する。 (人間の場合)

PICは アイドリング中になるのがうるさいのと、圧電SPの場合は

発信周波数が必要であるため
PICの耐電圧を思ってdi を入れたが 不要であった。
2019/01/25
けっこう 耐えてるようです。

*自動伝言板用に作成 XC8 v1.4
2018/06/06に完成した。
ブザーは通電のみ 圧電スピーカーはCW関数 CWS(短点)CWL長点を使う
* 使い方 CWS(); と記載のこと
* CWS()を引数を入れられるように変更した SPの場合用
*/


#pragma config OSC = IntRC, WDT = OFF, MCLRE = OFF, CP = OFF
#define _XTAL_FREQ 4000000

#if defined(__XC)
#include <xc.h> /* XC8 General Include File */
#elif defined(HI_TECH_C)
#include <htc.h> /* HiTech General Include File */
#endif
int c;
int a ;
int d ;
int i;
//int CWS(int k);//関数への引き渡し変数 繰り返し数


void CWS (int k)//短音関数GP4 Buzz k回繰り返す方式検討
{ int p;
for(p=0;p<=k;p++)
{
for(d=0;d<=50;d++)//d<=50は繰り返しサイクル
{
GP4=1;__delay_us(400);GP4=0;__delay_us(100);//1.9khz 75%
}__delay_ms(100);
}
}
void main(void)
{
OPTION=0xDF;
TRIS = 0b0001001;//GP0 INput PL DOWN
GPIO=0;
while(1)//GP0
{

for(i=0;i<10;i++)// モニターLED i<=〇 は繰り返し数 初期化待つため
{GP2=1; __delay_ms(500);
GPIO=0; __delay_ms(500);
a=1;

}
while(a==1)//センサー稼働
{ d++;__delay_ms(100);
if(d>=50){ GP2=1;__delay_ms(100);GPIO=0;d=0;} //動作中のモニター
if(GP0==1) //GP0に+がかかった場合 センサーが感知
{
CWS(5); //スピーカー使用する場合設定
// for(i=0;i<=3;i++) i<=〇は繰り返し数指示
GP2=1;__delay_ms(300);GPIO=0;
}

}
}


}

注意>>
電池の極性が間違ってます 要注意!!