我的父母最近买了一套新房子,担心入侵者。为了帮助阻止人们窃取所有东西,我创建了一个运动传感器,它会在触发时向我发送一封电子邮件。
这个项目中的电子设备非常简单。我首先将 PIR 运动传感器连接到 Particle Argon。这是项目电子部分的第一次迭代:
然后我决定添加一个 LED,这样我就可以知道何时触发了运动传感器:
这是最终电子设备的自上而下的图像:
我的 PIR 传感器具有物理设置,可以使用如下所示的刻度盘和引脚进行设置。
第一张图片左侧的表盘用于控制感官之间的时间。我将其设置为至少 3 秒,以便接收尽可能多的数据。
第一张图片右侧的拨盘用于控制灵敏度。我将其设置为最大 7 米,以便尽可能多地感知房间。
第二张图片中的引脚决定天气与否,触发器可以每秒触发多次,也可以通过表盘设置,可以设置为每 3-300 秒一次。我将它设置为被表盘覆盖。
下面的所有代码都是用 C 编写的。我首先设置了初始变量并定义了引脚号:
int ledPin = 3; //LED pin
int sensorPin = 5; //Sensor pin
int tempSensorInput = 0; //This reads the motion status
然后我设置了安装类:
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(sensorPin, INPUT);
}
然后我设置循环类来检查运动检测器是否检测到任何东西。如果有,它将发布一个事件以触发 IFTTT 并打开 LED 5 秒。
void loop(){
tempSensorInput = digitalRead(sensorPin); //reads the input value
if (tempSensorInput == HIGH) //checks to see if their is an input. If there is: the led turns on, the argon publishes an event to trigger IFTTT, waits 5 seconds, and finally turns the LED off.
{
digitalWrite(ledPin, HIGH);
Particle.publish("IntruderAlert", "Uh oh");
delay(5000);
digitalWrite(ledPin, LOW);
}
}
这是最终代码的样子:
int ledPin = 3; // LED pin
int sensorPin = 5; // Sensor pin
int tempSensorInput = 0; // ths reads the motion status
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(sensorPin, INPUT);
}
void loop(){
tempSensorInput = digitalRead(sensorPin); //reads the input value
if (tempSensorInput == HIGH) //checks to see if their is an input. If there is: the led turns on, the argon publishes an event to trigger IFTTT, waits 5 seconds, and finally turns the LED off.
{
digitalWrite(ledPin, HIGH);
Particle.publish("IntruderAlert", "Uh oh");
delay(5000);
digitalWrite(ledPin, LOW);
}
}
接下来,我使用 IFTTT 将 Particle Argon 连接到我的电子邮件地址。我这样做是为了每次运动传感器检测到任何东西都会给我发一封电子邮件。我首先选择“if”触发器:
然后决定如果被触发会发生什么:
然后我知道当我在我的个人电子邮件地址收到这封电子邮件时它可以工作:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !