树莓派GPIO入门07-利用声音传感器制作声控灯

嵌入式技术

1335人已加入

描述


本文我们用声音传感器来制作一个简易的声控灯。

最终效果

树莓派GPIO入门07-利用声音传感器制作声控灯
视频演示:

硬件

  • 面包板
  • 杜邦线
  • LED发光二极管一只
  • 声音传感器一只
    硬件图

原理说明

声音传感器有3根引脚,电源正极,电源负极,数据OUT,分别接到树莓派的VCC,GND和任意一个GPIO口上(输入模式)。
当声音传感器检测到有声音就会从OUT口输出低电平,注意低电平并不会持续,声音一旦结束传感器也会马上停止输出低电平。
另外,在传感器上有一个电位器,上面有一个十字形的旋钮,用小螺丝刀或小刀可以旋转十字,调整声音敏感度。(触发音量的阈值)
LED的短针负极脸上GND,长针连上另一个GPIO口(输出模式),当树莓派接收到传感器发出的低电平信号时,输出高/低电平,打开/关闭LED灯。

硬件连接

  • 声音传感器电源正极 - 树莓派的VCC
  • 声音传感器电源负极 - 树莓派的GND
  • 声音传感器数据OUT - 树莓派的GPIO4
  • LED长针 - 树莓派的GPIO17
  • LED短针 - 树莓派的GND
  • 代码(Python)

    12345678910111213141516171819202122232425262728293031323334353637

    #!/usr/bin/env python# encoding: utf-8import RPi.GPIOimport time# LED正极连接的GPIO口LED = 17# 声音感应器OUT口连接的GPIO口SENSOR = 4# 当前LED灯的开关状态flg = FalseRPi.GPIO.setmode(RPi.GPIO.BCM)# 指定GPIO4(声音感应器的OUT口连接的GPIO口)的模式为输入模式# 默认拉高到高电平,低电平表示OUT口有输出RPi.GPIO.setup(SENSOR, RPi.GPIO.IN, pull_up_down=RPi.GPIO.PUD_UP)# 指定GPIO17(LED长针连接的GPIO针脚)的模式为输出模式RPi.GPIO.setup(LED, RPi.GPIO.OUT)try:while True:# 检测声音感应器是否输出低电平,若是低电平,表示声音被检测到,点亮或关闭LED灯if (RPi.GPIO.input(SENSOR) == 0):flg = not flgRPi.GPIO.output(LED, flg)# 稍微延时一会,避免刚点亮就熄灭,或者刚熄灭就点亮。time.sleep(0.5)except KeyboardInterrupt:passRPi.GPIO.cleanup()




    打开APP阅读更多精彩内容
    声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
    • 相关推荐

    全部0条评论

    快来发表一下你的评论吧 !

    ×
    20
    完善资料,
    赚取积分