Arduino 驱动干簧管模块
下面是使用Arduino Uno R3驱动干簧管模块的详细说明、接线图和代码示例。
所需材料
- Arduino Uno R3
- 干簧管模块
- 面包板和连接线
接线步骤
-
供电和地线连接:
- 将Arduino Uno的5V引脚连接到干簧管模块的VCC引脚。
- 将Arduino Uno的GND引脚连接到干簧管模块的GND引脚。
-
信号线连接:
- 将干簧管模块的信号引脚连接到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秒
}
代码详解
-
定义引脚:
reedSwitchPin
:连接到干簧管模块的信号引脚(D2)。reedSwitchState
:用于存储干簧管的当前状态。
-
初始化:
- 在
setup()
函数中,设置干簧管引脚模式为输入。 pinMode(reedSwitchPin, INPUT)
:设置干簧管引脚为输入。Serial.begin(9600)
:启动串口通信。
- 在
-
读取干簧管状态:
- 使用
digitalRead(reedSwitchPin)
读取干簧管引脚的状态,并存储在reedSwitchState
中。
- 使用
-
判断并输出状态:
- 如果干簧管被触发(磁铁靠近),
reedSwitchState
为HIGH,输出"Magnet is near"。 - 如果干簧管没有被触发(磁铁远离),
reedSwitchState
为LOW,输出"Magnet is far"。
- 如果干簧管被触发(磁铁靠近),
-
延迟:
delay(500)
:延迟0.5秒,以便每0.5秒读取一次状态。
总结
以上步骤和代码示例展示了如何使用Arduino Uno R3驱动干簧管模块并通过串口输出干簧管的状态。当磁铁靠近干簧管时,串口会输出"Magnet is near",当磁铁远离时,串口会输出"Magnet is far"。这个示例简单易懂,适合初学者学习和理解。