这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【Let'sdo第3期-拾色播放器DIY】过程贴3-接近传感器驱动实现

共1条 1/1 1 跳转至

【Let'sdo第3期-拾色播放器DIY】过程贴3-接近传感器驱动实现

助工
2025-12-14 18:13:09     打赏
# 接近传感器驱动实现
## 硬件连接接近传感器(本质上是开关)连接到开发板的任意GPIO引脚:
**引脚接入方式:**- 接近传感器信号输出引脚连接到开发板的GPIO引脚(如D14)- 接近传感器VCC引脚连接到开发板的3.3V或5V电源引脚- 接近传感器GND引脚连接到开发板的GND引脚- 板载LED引脚连接到开发板的LED引脚
**连接注意事项:**- 接近传感器工作电压需与开发板电源电压匹配(通常3.3V或5V)- 对于磁簧开关等无源传感器,需要上拉电阻确保稳定状态检测- 传感器输出信号电平需与开发板GPIO输入电平兼容- 对于霍尔传感器等有源传感器,注意信号输出类型(数字或模拟)
**传感器特性说明:**- 接近传感器本质是一个开关,当检测到物体接近时开关状态改变- 磁簧开关:靠近磁铁时闭合(导通),远离时断开- 霍尔传感器:靠近磁铁时输出电平变化- 红外传感器:检测到物体时输出信号变化



import time
import board
import digitalio

# 初始化接近传感器(磁簧开关)
reed_switch = digitalio.DigitalInOut(board.D14)
reed_switch.switch_to_input(pull=digitalio.Pull.UP)

# 初始化LED用于指示
led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

print("接近传感器测试开始...")
print("当磁簧开关靠近磁铁时,LED会亮起")
print("按Ctrl+C停止测试")

# 主循环
while True:
    # 读取接近传感器状态
    is_closed = not reed_switch.value  # 磁簧开关闭合时为低电平
    
    # 更新LED状态
    led.value = is_closed
    
    # 打印状态
    if is_closed:
        print("检测到磁铁接近!")
    else:
        print("未检测到磁铁")
    
    time.sleep(0.5)  # 每秒检测一次

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]