Arduino 驱动干簧管模块

下面是使用Arduino Uno R3驱动干簧管模块的详细说明、接线图和代码示例。

img

所需材料

  • Arduino Uno R3
  • 干簧管模块
  • 面包板和连接线

接线步骤

  1. 供电和地线连接

    • 将Arduino Uno的5V引脚连接到干簧管模块的VCC引脚。
    • 将Arduino Uno的GND引脚连接到干簧管模块的GND引脚。
  2. 信号线连接

    • 将干簧管模块的信号引脚连接到Arduino Uno的数字引脚D2。

连接图示

Arduino Uno R3            干簧管模块
----------------          ------------
5V  ------------------->  VCC
GND ------------------->  GND
D2  ------------------->  Signal

示例代码

const int reedSwitchPin = 2;  // 干簧管模块连接到D2
int reedSwitchState = 0;      // 存储干簧管的状态

void setup() {
  pinMode(reedSwitchPin, INPUT);  // 设置干簧管引脚为输入
  Serial.begin(9600);             // 启动串口通信
}

void loop() {
  // 读取干簧管的状态
  reedSwitchState = digitalRead(reedSwitchPin);

  // 如果干簧管被触发(磁铁靠近),则输出 LOW
  if (reedSwitchState == LOW) {
    Serial.println("Magnet is near");
  } else {
    Serial.println("Magnet is far");
  }

  delay(500);  // 延迟0.5秒
}

代码详解

  1. 定义引脚

    • reedSwitchPin:连接到干簧管模块的信号引脚(D2)。
    • reedSwitchState:用于存储干簧管的当前状态。
  2. 初始化

    • setup()函数中,设置干簧管引脚模式为输入。
    • pinMode(reedSwitchPin, INPUT):设置干簧管引脚为输入。
    • Serial.begin(9600):启动串口通信。
  3. 读取干簧管状态

    • 使用digitalRead(reedSwitchPin)读取干簧管引脚的状态,并存储在reedSwitchState中。
  4. 判断并输出状态

    • 如果干簧管被触发(磁铁靠近),reedSwitchState为HIGH,输出"Magnet is near"。
    • 如果干簧管没有被触发(磁铁远离),reedSwitchState为LOW,输出"Magnet is far"。
  5. 延迟

    • delay(500):延迟0.5秒,以便每0.5秒读取一次状态。

总结

以上步骤和代码示例展示了如何使用Arduino Uno R3驱动干簧管模块并通过串口输出干簧管的状态。当磁铁靠近干簧管时,串口会输出"Magnet is near",当磁铁远离时,串口会输出"Magnet is far"。这个示例简单易懂,适合初学者学习和理解。

posted @ 2024-07-02 19:22  jeikerxiao  阅读(18)  评论(0编辑  收藏  举报