今天,我们会利用ROHM传感器评估套件制作一款超级简单的万圣节僵尸面具!我们将使用ROHM接近传感器/环境光传感器(PS/ALS)传感器。该传感器能够检测到任何在面具前面移动的物体,并且会亮起红色,吓唬那些不速之客!
上一篇文章介绍了如何设置传感器开发板以及如何连接Arduino。如果您还没看过该文,请点击ROHM传感器评估套件概述!
ROHM传感器评估套件简介
Sensor Evaluation Kit(传感器评估套件)配备了ROHM传感器开发板和8种不同的ROHM传感器:加速度传感器、气压传感器、地磁传感器、环境光/接近传感器、颜色传感器、霍尔传感器、温度传感器和 紫外线传感器。
有关传感器开发板和每个传感器的详细文档,请参阅https://www.rohm.com/web/global/sensor-shield-support,该网页还为您提供了各个传感器所需的Arduino库的下载链接。评估套件包装中的用户手册对传感器开发板与传感器的配合使用进行了说明,该用户手册的电子版也可在该网站上找到。
让我们利用接近传感器/环境光传感器制作万圣节僵尸面具吧!
万圣节快到了,我决定制作这个可怕的万圣节面具!
还记得我说过传感器开发板非常适合传感器项目的原型设计吗?这个项目就是一个很好的示范!我想在我的前门放置一个万圣节装饰物件,用灯光吓唬那些靠近我家门的人。我选择了一个面目狰狞的灯光面具,并且利用接近传感器来检测靠近的人员。该项目以Arduino Uno为基础!但是,首先我需要进行原型设计,为此,我将使用传感器开发板与接近/环境光传感器(PS/ALS模块)。
硬件:
- 可怕的万圣节面具,眼睛处安装了发光LED(我从当地Target商店采购的)
- 220Ω电阻(限制LED的电流)
- 跳线
- 面包板
- ROHM传感器开发板以及接近/环境光(PS/ALS)传感器模块
- Arduino Uno
- 连接电脑与Arduino Uno的USB电缆
软件
- Arduino IDE
- ROHM ALS/接近传感器(RPR-0521RS)库
每当有物体靠近传感器时,该项目就会点亮一个LED。
- 将传感器开发板安装到Arduino的母排针上
- 将PS/ALS传感器模块插到开发板的任意一个I2C接口上
- 将以下代码上传到Arduino:
#define byte uint8_t
#include
#include
RPR0521RS rpr0521rs;
int led_pin = 12;
void setup() {
byte rc;
Serial.begin(9600);
while (!Serial);
Wire.begin();
rc = rpr0521rs.init();
pinMode(led_pin, OUTPUT);
}
void loop() {
byte rc;
unsigned short ps_val;
float als_val;
byte near_far;
rc = rpr0521rs.get_psalsval(&ps_val, &als_val);
if (rc == 0) {
near_far = rpr0521rs.check_near_far(ps_val);
if (near_far == RPR0521RS_NEAR_VAL) {
digitalWrite(led_pin, HIGH);
} else {
digitalWrite(led_pin, LOW);
}
}
delay(500);
}
面具的眼睛周围装有LED灯带,打开面具内部的开关时,这些LED会亮。LED灯带连到了面具内的电池盒上。
我决定用Arduino的数字输出引脚直接为LED供电,因此我拆掉了电池单元并把JST母连接器焊了下来。
然后,我制作了一个定制的分路器,其目的是将LED灯条连接到面包板上。分路器将每个母接头的正极和负极引脚连接在一起,并配备了两根导线(一根连接电源正极,另一根接地),从而可以连到面包板上。
最后,将正极和接地线分别连接到数字引脚12和地。记住要用220Ω电阻来限制LED上的电流!
现在我们可以进行测试了!如需更改接近触发的阈值距离,您可以调整“RPR-0521RS.h”库文件中“RPR0521RS_NEAR_THRESH”的值。
对传感器开发板原型设计的各方面都满意后,您可以将接近传感器安装到面罩的前面,然后把接近传感器的引脚连到传感器开发板的I2C输入。此时,项目完成!
把这个面具放在您的前门旁边,去吓唬那些万圣节懵懂的访客吧!祝大家万圣节安全快乐! 🙂