光敏电阻控制led亮度程序_利用光敏电阻加声音传感器制作声控灯
视频演示
https://www.zhihu.com/video/1145029294962020352
光敏电阻传感器模块
模块参数:
工作电压:3.3V-5V
光敏电阻模块对环境光线敏感,一般用来检测周围环境的光线的亮度。模块在环境光线亮度达不到设定阈值时,DO端输出高电平,当外界环境光线亮度超过设定阈值时,DO端输出低电平。
线路连接(*连接线路时树莓派务必断电操作)
根据声控灯教程增加光敏电阻模块(查阅上一篇教程),模块VCC端接树莓派2号(5V)引脚,GND端接25号引脚,DO(OUT)端接18号引脚。
编写程序light.py(只用到光敏模块)
import RPi.GPIO as GPIO
import time
#初始化
def init():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(18,http://GPIO.IN)
GPIO.setup(40,GPIO.OUT)
#点亮led检测是否工作
GPIO.output(40, 1)
time.sleep(0.1)
pass
#灯函数(这里数值控制灯亮的时间)
def beep():
while GPIO.input(18):
GPIO.output(40,GPIO.HIGH)
time.sleep(3)
GPIO.output(40,GPIO.LOW)
time.sleep(0.1)
#感应器侦测函数
def detct():
#因为是仅仅试验,所以只让它循环运行100次
for i in range(1,101):
#如果感应器针脚输出为True,则打印天黑了。
if GPIO.input(18) == True:
print('天黑了!')
beep()
#否则将LED针脚电平设置为LOW
else:
GPIO.output(40,GPIO.LOW)
print('天亮了!')
time.sleep(2)
time.sleep(3)
init()
detct()
#脚本运行完毕执行清理工作
GPIO.cleanup()
运行程序,开始led灯将点亮0.1秒后熄灭说明开始工作,如果光线充足,led熄灭屏幕上打印出“天亮了”,遮住光敏模块后led灯点亮并打印出“天黑了”。
增加声控:编写程序 soundandlight.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
LED = 40 # LED正极连接的GPIO
LIGHT = 18 # 光感
SOUND = 12 # 声感
flg = False # 当前LED灯的开关状?
# 指定GPIO4(声音感应器的OUT口连接的GPIO口)的模式为输入模式
# 默认拉高到高电平,低电平表示OUT口有输出
GPIO.setup(LIGHT, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(SOUND , GPIO.IN, pull_up_down=GPIO.PUD_UP)
# 指定GPIO40(LED长针连接的GPIO针脚)的模式为输出模
GPIO.setup(LED, GPIO.OUT)
GPIO.output(LED, 1)
time.sleep(0.1)
pass
# 当内部作用域想修改外部作用域的变量时,用到global和nonlocal关键字
num = 0
def callback(channel):
global num
#检测声音模块是否输出低电平,如果是表示声音被检测到,点亮或关闭LED
print(channel, GPIO.input(LIGHT), GPIO.input(SOUND ))
num += 1
print(num)
#如果没有灯光,触发点亮led
if (GPIO.input(LIGHT) == 1):
GPIO.output(LED, 1)
#稍微延时一会,避免刚点亮就熄灭,或者刚熄灭就点亮
#这里数值控制灯亮的时间
time.sleep(3)
GPIO.output(LED, 0)
# 监听光感
GPIO.add_event_detectLIGHT, GPIO.RISING, callback)
# 监听声控
GPIO.add_event_detect(SOUND ,GPIO.RISING,callback,bouncetime=200)
while True:
time.sleep(10)
GPIO.cleanup()
运行程序,开始led灯将点亮0.1秒后熄灭说明开始工作,如果光线充足LED灯熄灭;遮住光敏模块后,发出声音被声音传感器检测到后LED灯点亮3秒。
光敏电阻控制led亮度程序_利用光敏电阻加声音传感器制作声控灯相关推荐
- 光敏电阻控制led亮度程序_单片机开发系统学习LED亮度控制原理
早期控制LED亮度的方法一般是采用模拟电路来调节LED的工作电流来实现,这种方式灵活性较差,很难达到智能控制的效果.本文将介绍如何通过一个普通MCS51单片机来产生PWM信号,达到调节LED的亮度的目 ...
- 利用声音传感器控制led灯功能_利用光敏电阻加声音传感器制作声控灯
视频演示https://www.zhihu.com/video/1145029294962020352 光敏电阻传感器模块 模块参数: 工作电压:3.3V-5V 光敏电阻模块对环境光线敏感,一般用来检 ...
- 光敏电阻控制led亮度程序_Arduino动手做(2)光敏电阻模块
Arduino动手做(1)干簧管传感器模块 [Arduino]66种传感器模块系列实验(02) 实验二:光敏电阻传感器模块 我手里这块是三针版的,挺秀气吧 光敏电阻是用硫化隔或硒化隔等半导体材料制成的 ...
- 利用声音传感器控制led灯功能_树莓派.利用声音传感器制作声控灯
https://www.zhihu.com/video/1144560484488392704 声音检测传感器模块 模块参数: 工作电压:5V 具有信号输出指示,检测到声音模块上LED点亮. 输出有效 ...
- 控制led亮度C语言程序,单片机pwm控制led亮度原理图
单片机pwm控制led亮度原理图 用51产生PWM去控制LED,首先要确定PWM的周期T和占空比D,确定了这些以后,可以用定时器产生一个时间基准t,比如定时器溢出n次的时间是PWM的高电平的时间,则D ...
- 基于arduino的光敏电阻控制LED灯
基于arduino的光敏电阻控制LED 思路: 1.硬件需要arduino UNO板子,LED,光敏电阻,面包板,杜邦线若干,电阻220殴(连接LED)和10k殴各一个,电路图如下 代码 代码如下: ...
- PWM控制LED亮度(2-呼吸灯)-STM32电控学习笔记10
PWM控制LED亮度(2-呼吸灯)-STM32电控学习笔记10 day10:2022/9/29 前面学了两三天的PWM了,PWM本身不难理解,至于为啥进度缓慢,还不是这时钟定时器分频值重装载啥的太难理 ...
- PWM脉冲宽度调制技术控制LED亮度
1.PWM控制 PWM控制--脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要的波形.PWM是一种对模拟信号电平进行数字编码的方法.通过高分辨率计数器的使用,方波的占空比被调制用来 ...
- Arduino 入门教程(八)旋转按钮控制LED亮度
代码如下: // 定义旋转电位计模拟信号输入针脚号 const int analogInPin = A0; // 定义LED神灯数字信号针脚号 const int analogOutPin = 9; ...
最新文章
- Word中快速插入目录
- [转]double free or corruption (!prev): 0x080644c8 ***
- 关闭子页面刷新父页面,不需要弹出确认窗口
- codeforce 603B - Moodular Arithmetic
- HTML输入学生成绩并排序java_JS实现冒泡排序,插入排序和快速排序并排序输出...
- 【小夕精选】YJango 7分钟带你领略你未曾想过的线性代数+微积分
- 查询已有链表的hashmap_面试官再问你 HashMap 底层原理,就把这篇文章甩给他看...
- ovs 下流表port 1进入,port 1出去
- AngularJS国际化配置
- Kindle Paperwhite安装PDF阅读器Koreader
- bobsmith电路阻抗原理_网络变压器的介绍分类及工作原理
- LaTeX 数学公式及符号
- VSCode中调试flutter遇到Android licenses not accepted的错误提示
- 大数据平台及数仓的通用架构和技术体系
- vmware下虚拟机centos,root登录时候提示鉴定故障解决方法
- 电脑桌面一计算机打不开怎么办,电脑桌面什么都打不开怎么办
- Hadoop退出安全模式
- 《数据结构》实验报告(一)——顺序表存储结构及实现
- SOCKET链接速度慢
- reids 5.0.4 cluster集群模式部署实操。