树莓派使用声音传感器控制灯亮和熄灭声音传感器,GPIO编程,Python,传感器

By 管理员3

2023-05-10 02:14:55

浏览量97276

已赞4

树莓派使用声音传感器控制LED灯亮和熄灭

硬件清单:

· 面包板

· 杜邦线

· LED发光二极管一只

· 声音传感器一只

Image

传感器资料及电路图

工作原理说明

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

接线方式:

1. 声音传感器电源正极 - 树莓派的VCC

2. 声音传感器电源负极 - 树莓派的GND

3. 声音传感器数据OUT - 树莓派的GPIO4

4. LED长针 树莓派的GPIO17

5. LED短针 树莓派的GND

代码(Python

#!/usr/bin/env python
# encoding: utf-8

import RPi.GPIO
import time

# LED正极连接的GPIO口
LED = 17

# 声音感应器OUT口连接的GPIO口
SENSOR = 4

# 当前LED灯的开关状态
flg = False

RPi.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 flg
			RPi.GPIO.output(LED, flg)
			# 稍微延时一会,避免刚点亮就熄灭,或者刚熄灭就点亮。
			time.sleep(0.5)

except KeyboardInterrupt:
	pass

RPi.GPIO.cleanup()
当检测到声音后,LED灯打开 反之熄灭!

本文章最后由 超级版主2023-11-12 21:29 编辑
发表评论
请先 注册/登录 后参与评论

已有1 发布

默认   热门   正序   倒序
查看更多评论
(4) 分享
分享

扫二维码或复制链接分享该篇文章

取消
已有0次打赏
本站免责声明
1、本站资源,均来自网络或个人用户发布,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !

侵权删除请致信 E-Mail:cxg88@qq.com