在本Arduino教程中,我们将学习如何使用运动传感器来发出压电蜂鸣器的声音。这是伟大的入侵检测电路或防盗报警电路!任何时候,运动传感器感应到运动,压电蜂鸣器都会发出声音。在本教程中,我们将使用一个主动压电蜂鸣器,它不需要脉宽调制操作信号。

相关的:压电蜂鸣器:主动与被动

此项目的零件清单

这是这个项目的一个方便的零件清单。其中一些链接可能是附属链接。如果你使用它们,它们不会花费你什么,但我们可能会得到一小笔佣金,帮助我们继续构建这样的精彩内容。

数量 部分/链接
1X 微控制器
1X USB B型电缆
1X 无焊试验板
1X 跨接导线套件
1X 运动传感器
1X 压电式蜂鸣器
去一家极客酒吧!

接线图:使用运动传感器发出压电蜂鸣器的声音

此接线图将教您如何接线,以便使用运动传感器来发出压电蜂鸣器的声音!由于不需要电阻器或电容器,因此这是其中一个项目,您可以完全跳过试验板,将其直接连接到Arduino(如果您选择)。然而,实验板确实使它更容易可视化。选择权在你!

使用运动传感器控制压电蜂鸣器接线图

运动传感器的Arduino代码

此Arduino草图将根据运动传感器的状态控制压电蜂鸣器。任何时候,运动传感器检测到运动或环境变化时,都会触发压电蜂鸣器鸣响。

此代码可用于执行许多其他功能,是防盗报警电路的良好基础!您可以将其扩展到其他传感器,如门窗传感器,并拥有完整的Arduino报警系统!

const int MOTION_SENSOR_PIN = 7;// Arduino引脚连接到运动传感器的输出引脚const int BUZZER_PIN = 3;//连接到Buzzer引脚的Arduino引脚int motionstateccurrent = LOW;//运动传感器引脚的当前状态int motionStatePrevious = LOW;//之前的状态的运动传感器的引脚无效设置(){Serial.begin(9600);//初始化串行pinMode(MOTION_SENSOR_PIN, INPUT);//设置arduino引脚的输入模式pinMode(BUZZER_PIN, OUTPUT);//将arduino引脚设置为输出模式}void loop() {motionStatePrevious = motionstateccurrent;//存储旧状态motionstateccurrent = digitalRead(MOTION_SENSOR_PIN);//读取新状态if (motionStatePrevious == LOW && motionstateccurrent == HIGH) {// pin state change: LOW -> HIGH Serial. if (motionStatePrevious == LOW && motionstateccurrent == HIGH);println(“运动检测!”); digitalWrite(BUZZER_PIN, HIGH); // turn on } else if (motionStatePrevious == HIGH && motionStateCurrent == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!"); digitalWrite(BUZZER_PIN, LOW); // turn off } }

下一步

现在,您可以继续学习下一个教程或返回Arduino教程索引。