×

Gest-R:多功能无触摸开关

消耗积分:2 | 格式:zip | 大小:0.18 MB | 2023-06-30

李鸿

分享资料个

描述

介绍

我们经常遇到必须在公共场所打开和关闭设备的情况,例如办公室的风扇或教室的灯。不 !事实上,Gest-R 非常简单。任何拥有烙铁和 Arduino 的人都可以实现它。我会解释。

多做!

现在,如果您在 Gest-R 已经打开时向下进行怎么办?

启动一个计时器,将在 5 分钟后(或在用户预定义的时间段后)关闭 Gest-R。所以你要睡觉了,进入房间5分钟后想关灯,Gest-R会帮你。只需打开灯两次(2 次向下手势),您就可以开始了。

同样,您可以在预定义的时间间隔后自动打开 Gest-R,方法是在 Gest-R 已经关闭时关闭它,尽管我不知道您为什么要这样做。可能会吓到你的朋友!

它是如何制作的

在解释电路之前,先看一下原理图。

poYBAGN_SDKAJD36AADjeNuux0s569.png
接线图
 

看,超级简单。Gest-R 使用两个电容式接近传感器 TTP223。优点是价格便宜,并且作为无源传感器非常省电。

TTP223 在这里连接到 Arduino Pro Mini 的两个外部中断引脚(引脚 2 和 3)。如果你想让它更小,你也可以使用 Arduino Nano 或 Attiny。

建立连接后,打开您的 Arduino IDE。首先在 void setup() 中附加中断。

void setup() {
// initialize Pins.
pinMode(Output, OUTPUT);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
// Defining Interrupts
attachInterrupt(digitalPinToInterrupt(2), prox1, RISING);
attachInterrupt(digitalPinToInterrupt(3), prox2, RISING);
}

输出是我电路中的数字引脚 5。您必须在代码的开头定义它:

#define Output 5

Prox1 和 Prox2 是调用中断时要调用的函数。

该函数的主循环只包含一个 switch 语句:

void loop() {
  switch (GestR){
    case 1:
      digitalWrite(LED, HIGH);
      break;
    case 0:
      digitalWrite(LED, LOW);
      break;
    case 2:
      blinkled();
      digitalWrite(LED, LOW);
      GestR = 0;
      break;
    case -1:
      blinkled();
      digitalWrite(LED, HIGH);
      GestR = 1;
  }
}

去做

  • 使用固态继电器并添加调光/功率调节功能
  • 添加一个锅来调整定时器延迟
  • 为电路制作PCB

这是我的第一个 Hackster 项目,我很确定还有很大的改进空间。谢谢你。


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

评论(0)
发评论

下载排行榜

全部0条评论

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