×

Lane Tech HS PCL RAGE探测器开源分享

消耗积分:0 | 格式:zip | 大小:0.03 MB | 2022-11-22

刘英

分享资料个

描述

我的兄弟是一个热情的游戏玩家。有时,事情变得有点激烈。为了让我兄弟在玩游戏时更加冷静(一点也不认真),我认为检测他何时发怒可能会很有用。介绍愤怒手套。

电子产品

这个项目的电路很简单。我添加了一个 LED 和电阻器作为传感器激活的视觉指示器(并且因为它很有趣),但您可以跳过此步骤并专门选择您的串行监视器。

这是电子产品的样子……

pYYBAGN3KDyAdEUtABKT_mN7d7Y666.jpg
 
poYBAGN3KGqAMHL4AA5jsQegltY837.jpg
 

...这是你的示意图。

poYBAGN3KG2AB40RAAAoIroXVaM377.png
 

制造

接下来,让我们将传感器放在手套上。我用针和线完成了这个。

 
 
 
pYYBAGN3KHWAb0IxAAvmOAuFl_U055.jpg
 
1 / 2
 

我把它缝在一个角落里,这样以后就不会下车了。

编码

首先,让我们设置我们的项目。我们将以 9600 bps 的速度打开串行端口,以便检查我们的电子设备是否正常。

void setup()
{    
    Serial.begin(9600);
}

我已经为项目创建了必要的变量。myLED 是输出,knock 是输入。

const int myLED = 1; // defines the digital pin for the LED
const int knock = 2; // defines the digital pin for the knock sensor
int state; // defines the state of the knock sensor
int flag = 0; // we'll change this when we detect a knock, that way we won't send multiple requests to IFTTT.

void setup()
{    
    pinMode(myLED, OUTPUT);
    pinMode(knock, INPUT);
    Serial.begin(9600);
}

接下来,让我们研究一下逻辑。当检测到爆震状态为 HIGH 时,条件语句将向串行监视器打印“DETECT”并发布请求“ragedetected”。

const int myLED = 1;
const int knock = 2;
int state;
int flag = 0;

void setup()
{    
    pinMode(myLED, OUTPUT);
    pinMode(knock, INPUT);
    Serial.begin(9600);
}

void loop()
{   
    state = digitalRead(knock); 
	if (state == HIGH) {
    		digitalWrite(myLED, LOW);
    }
	else {
    		digitalWrite(myLED, HIGH);
    		Serial.printlnf("DETECT");
    		Particle.publish("ragedetected", "now");
    }

}

可是等等!使用此设置,爆震传感器将四处振动,我们会看到它多次激活。为了解决这个问题,我们将创建一个标志来防止在检测到一个敲击实例后发布 ragedetected。IFTTT 不会在相当长的时间内发送多封电子邮件——对于一个游戏会话,一封电子邮件绰绰有余。

const int myLED = 1;
const int knock = 2;
int state;
int flag = 0;

void setup()
{      
    pinMode(myLED, OUTPUT);
    pinMode(knock, INPUT);
    Serial.begin(9600);
}

void loop()
{   
    state = digitalRead(knock); 
	if (state == HIGH) {
    		digitalWrite(myLED, LOW);
    }
	else {
    		digitalWrite(myLED, HIGH);
    		if (flag == 0){
    		    Serial.printlnf("DETECT");
    		    Particle.publish("ragedetected", "now");
    		    flag = 1;
    		}
    }

}

完成的!

IFTTT 集成

接下来,我们将创建一个 IFTTT 小程序。IFTTT 是一种连接 API 以做有趣事情的简单方法。在这种情况下,我们会将 ragedetected 发布连接到电子邮件。

poYBAGN3KHeAFRnDAADXXKSiWJw746.png
这应该是您的“如果”触发器。
 
pYYBAGN3KHqAa7f5AACMb1dwvkM354.png
这应该是您的“然后”触发器。
 

成功!

如果一切顺利,在你用拳头猛击桌子后,你应该会收到这封邮件。

poYBAGN3KH2AHZAEAAATH4RRN3M736.png
 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !