风筝
发表于: 2018-5-22 11:09:46 | 显示全部楼层

倾斜传感器开关是一种电子设备,可以用于检测物体的方向并相应地输出高电平或低电平。实际上,在它的内部有一个水银球,可以移动并形成短路。这样倾斜传感器可以根据方向闭合或断开回路。


在这个项目中,我们将Mercury开关/倾斜传感器连接到Arduino UNO开发板。然后根据倾斜传感器的输出,我们控制LED和蜂鸣器。无论何时我们倾斜传感器,警报都会打开。


所需的材料

●    Mercury开关/倾斜传感器

●    Arduino UNO开发板

●    蜂鸣器

●    LED指示灯

●    电阻 - 220欧姆

●    面包板

●    连接导线


电路原理图

倾斜传感器与Arduino的连接电路图

Interfacing-circuit-diagram-of-Tilt-Sensor-with-Arduino.png


将倾斜传感器连接到Arduino开发板,我们需要一个5v直流电源才能工作。该5v是使用Arduino UNO提供的,而倾斜传感器的输出连接到Arduino的第4引脚。 LED通过220欧姆电阻与Arduino UNO的PIN 2连接,以将电流限制在安全值。并且,蜂鸣器直接连接到Arduino UNO的PIN 3。


倾斜传感器

Tilt-sensor.jpg


这是一款基于Mercury开关的倾斜传感器模块,倾斜时可在其输出引脚处提供高电平。它需要5V直流输入。这是一个由输入、接地和输出组成的三端设备。它有一个由两个电极和液态汞球组成的玻璃管。液态汞球在特定方向倾斜时关闭以及打开回路。模块的工作和内部结构如下:

Tilt-Sensor-Schematic-diagram.png


倾斜传感器的工作过程

示例1:没有倾斜

最初,当它处于如下图所示的非倾斜位置时,由于通过连接两个电极使液态汞闭合电路,因此它会输出低电平输出。当输出为低电平时,板载LED将会一直常亮。

Tilt-sensor-working-when-not-tilted.png


示例2:倾斜

当它以特定的方向或角度倾斜时,液态水银会破坏金属电极之间的接触,并且使电路开路。因此,我们在这种情况下输出高电平,并且板载的LED熄灭。

Tilt-sensor-working-when-tilted.png



代码和工作过程说明

在本文的末尾处给出了Arduino连接倾斜传感器的完整代码。


在下面的代码中,我们将引脚定义为输入和输出。引脚2和引脚3分别设置为LED和蜂鸣器的输出引脚,引脚4设置为输入以采集来自倾斜传感器的输入数据。

  1. void setup() {
  2.   pinMode(2, OUTPUT);
  3.   pinMode(3, OUTPUT);
  4.   pinMode(4, INPUT);
  5. }
复制代码

现在,无论何时,当倾斜传感器倾斜超过特定角度时,倾斜传感器的输出都变为高。该输出通过引脚4读取。因此,只要引脚4为高电平,它就会打开LED和蜂鸣器。

  1. void loop() {
  2.   if (digitalRead(4) == 1)
  3.   {
  4.   digitalWrite(2, HIGH);  
  5.   digitalWrite(3, HIGH);
  6.   delay(300);                     
  7.   digitalWrite(2, LOW);   
  8.   digitalWrite(3, LOW);
  9.   delay(300);
  10.   }
  11. }
复制代码

这种方式可以用于一些非常有趣的项目中,如防盗盒、闹钟盒或秘密文件箱等。

Interfacing-Tilt-Sensor-with-Arduino.jpg


代码

Arduino连接倾斜传感器的完整代码如下所示:

  1. void setup() {
  2.   pinMode(2, OUTPUT);
  3.   pinMode(3, OUTPUT);
  4.   pinMode(4, INPUT);

  5. }

  6. void loop() {
  7.   if (digitalRead(4) == 1)
  8.   {
  9.   digitalWrite(2, HIGH);   
  10.   digitalWrite(3, HIGH);
  11.   delay(300);                       
  12.   digitalWrite(2, LOW);   
  13.   digitalWrite(3, LOW);
  14.   delay(300);  
  15.   }
  16. }
复制代码
跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1480



手机版|

GMT+8, 2024-4-27 12:25 , Processed in 0.057219 second(s), 8 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表