1.震动开关简介
震动开关又叫滚珠开关、钢珠开关,珠子开关,其实都是的一种;只是叫法不一样,是通过珠子滚动接触导针的原理来控制电路的接通或者断开的。该传感器通过振动引起内部开关的闭合或断开,从而发送信号给控制系统。
震动开关插在面包板上是接通的,当敲它会断开;如果倒放,也会断开
- 响应灵敏:能够快速检测到环境中的微小震动或运动。
- 简单易用:连接简单,适合初学者和各种项目使用。
- 低功耗:在静止状态下功耗极低,适合长期监测。
2.引脚
震动开关引脚不分正负;
物料:
1PCS 10K电阻
1PCS NTC热敏电阻
1PCS UNO开发板
接线图:
代码示例:
const int buttonPin = 2; // 按钮连接的引脚
long startTime; // 用于记录时间的变量
const int ledPin = 13; // LED连接的引脚
bool ledState = LOW; // LED状态变量,初始为低电平(关闭状态)
void setup() {
Serial.begin(9600); // 初始化串口通讯,波特率为9600
pinMode(buttonPin, INPUT_PULLUP); // 设置按钮引脚为输入,使用内部上拉电阻
pinMode(ledPin, OUTPUT); // 设置LED引脚为输出
}
void loop() {
// 读取按键状态
int buttonState = digitalRead(buttonPin);
startTime = millis(); // 获取当前时间
int i = 0; // 初始化计数器变量(虽然未使用)
// 如果按钮被按下(高电平)
if (buttonState == HIGH) {
ledState = !ledState; // 切换LED状态
Serial.println(ledState); // 在串口打印当前LED状态
while (millis() - startTime < 500) { // 等待500毫秒
// 在这个循环中可以做其他事情,目前为空
}
digitalWrite(ledPin, ledState); // 根据ledState更新LED状态
}
startTime = millis(); // 更新startTime的值
// 此处如果没有进一步逻辑,可能会立即重新进入loop循环
}
按下按钮,立刻打开LED灯 ; 再次按下按钮,立刻关闭LED灯;
淘宝店铺:首页-南瓜造物-淘宝网