震动开关在arduino的应用

1.震动开关简介

震动开关又叫滚珠开关、钢珠开关,珠子开关,其实都是的一种;只是叫法不一样,是通过珠子滚动接触导针的原理来控制电路的接通或者断开的。该传感器通过振动引起内部开关的闭合或断开,从而发送信号给控制系统。

震动开关插在面包板上是接通的,当敲它会断开;如果倒放,也会断开

震动开关的特点:

  • 响应灵敏:能够快速检测到环境中的微小震动或运动。
  • 简单易用:连接简单,适合初学者和各种项目使用。
  • 低功耗:在静止状态下功耗极低,适合长期监测。

2.引脚

震动开关引脚不分正负;

4.震动开关实例

物料:

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灯;

淘宝店铺:首页-南瓜造物-淘宝网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值