模块是好的,在硬件上设置为持续检测信号。
检测到人体,模块输出3.3v电压,检测不到,输出0v。
把模块输出引脚和单片机相连,检测单片机引脚,0v。单独测试模块引脚输出3.3v(模块和人位置不变)。。将电源上3.3v和单片机上引脚相连接,led亮。
程序如下
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit renti=P2^0; // 人体引脚
sbit led=P1^0;
void delay(uint ms)
{
uint i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
renti=1; //在初始化里 令renti=0和renti=1,都尝试过,不好使
led=1;
while(1)
{
if(renti==1) //检测有火焰
{ delay(5);
if(renti==1)
{ led=0;
delay(5000);
}
else
{
led=1;
}
}
}
}
什么二极管呀??