人体红外传感器
人体红外传感器模块是十分简单,只有三个引脚需要你连接
从左到右依次为地线(接GND);输出引脚(接数字引脚);和VCC(接5V)。
然后是引脚正对面有两个旋钮可以调节传感器的灵敏度和接收距离。(该人体红外线传感器能接收到运动的人或动物,但是我的传感器可能旧了,灵敏度有所下降,并不能连续切换有人和没人的状态)
连线方式就是直接将左边的连接到GND,中间的连接到数字引脚其中一个,右边的连接5V就可以。
然后就是Arduino的编码
int ledpin = 2;//我这里接2引脚,可以接别的引脚
void setup()
{
pinMode(ledpin, INPUT);//初始化
Serial.begin(9600); // 打开串口,设置波特率为9600 bps
}
void loop()//Arduino的循环语句
{
int value = digitalRead(ledpin); //定义传感器检测到的值为value
if(value==HIGH)//如果它的值为高电平,即检测到有人通过
{
Serial.println("Someone!");//输出有人
}
else
{
Serial.println("Nobody");//输出没人
}
delay(1000);
}
关于最后这个延迟,不知道是我传感器旧了还是其他原因。我设置的延迟不能太小,否则不管又没人经过,电平会在0或1之前毫无规律的跳动。
最后可以在此基础上加入别的元素,如加入一个发光二极管,当电平为1时二极管发光,电平为0时二极管不发光。
if(value==HIGH)
{
digitalWrite(LED,HIGH);
delay(500);
}
else
{
digitalWrite(LED,LOW);
delay(500);
}
当然这之前要在开始定义你的二极管的引脚和在void setup()中初始化。
也可以吧发光二极管替换成蜂鸣器。相似的效果和程序。