视频演示

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亮度程序_利用光敏电阻加声音传感器制作声控灯相关推荐

  1. 光敏电阻控制led亮度程序_单片机开发系统学习LED亮度控制原理

    早期控制LED亮度的方法一般是采用模拟电路来调节LED的工作电流来实现,这种方式灵活性较差,很难达到智能控制的效果.本文将介绍如何通过一个普通MCS51单片机来产生PWM信号,达到调节LED的亮度的目 ...

  2. 利用声音传感器控制led灯功能_利用光敏电阻加声音传感器制作声控灯

    视频演示https://www.zhihu.com/video/1145029294962020352 光敏电阻传感器模块 模块参数: 工作电压:3.3V-5V 光敏电阻模块对环境光线敏感,一般用来检 ...

  3. 光敏电阻控制led亮度程序_Arduino动手做(2)光敏电阻模块

    Arduino动手做(1)干簧管传感器模块 [Arduino]66种传感器模块系列实验(02) 实验二:光敏电阻传感器模块 我手里这块是三针版的,挺秀气吧 光敏电阻是用硫化隔或硒化隔等半导体材料制成的 ...

  4. 利用声音传感器控制led灯功能_树莓派.利用声音传感器制作声控灯

    https://www.zhihu.com/video/1144560484488392704 声音检测传感器模块 模块参数: 工作电压:5V 具有信号输出指示,检测到声音模块上LED点亮. 输出有效 ...

  5. 控制led亮度C语言程序,单片机pwm控制led亮度原理图

    单片机pwm控制led亮度原理图 用51产生PWM去控制LED,首先要确定PWM的周期T和占空比D,确定了这些以后,可以用定时器产生一个时间基准t,比如定时器溢出n次的时间是PWM的高电平的时间,则D ...

  6. 基于arduino的光敏电阻控制LED灯

    基于arduino的光敏电阻控制LED 思路: 1.硬件需要arduino UNO板子,LED,光敏电阻,面包板,杜邦线若干,电阻220殴(连接LED)和10k殴各一个,电路图如下 代码 代码如下: ...

  7. PWM控制LED亮度(2-呼吸灯)-STM32电控学习笔记10

    PWM控制LED亮度(2-呼吸灯)-STM32电控学习笔记10 day10:2022/9/29 前面学了两三天的PWM了,PWM本身不难理解,至于为啥进度缓慢,还不是这时钟定时器分频值重装载啥的太难理 ...

  8. PWM脉冲宽度调制技术控制LED亮度

    1.PWM控制 PWM控制--脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要的波形.PWM是一种对模拟信号电平进行数字编码的方法.通过高分辨率计数器的使用,方波的占空比被调制用来 ...

  9. Arduino 入门教程(八)旋转按钮控制LED亮度

    代码如下: // 定义旋转电位计模拟信号输入针脚号 const int analogInPin = A0; // 定义LED神灯数字信号针脚号 const int analogOutPin = 9; ...

最新文章

  1. Word中快速插入目录
  2. [转]double free or corruption (!prev): 0x080644c8 ***
  3. 关闭子页面刷新父页面,不需要弹出确认窗口
  4. codeforce 603B - Moodular Arithmetic
  5. HTML输入学生成绩并排序java_JS实现冒泡排序,插入排序和快速排序并排序输出...
  6. 【小夕精选】YJango 7分钟带你领略你未曾想过的线性代数+微积分
  7. 查询已有链表的hashmap_面试官再问你 HashMap 底层原理,就把这篇文章甩给他看...
  8. ovs 下流表port 1进入,port 1出去
  9. AngularJS国际化配置
  10. Kindle Paperwhite安装PDF阅读器Koreader
  11. bobsmith电路阻抗原理_网络变压器的介绍分类及工作原理
  12. LaTeX 数学公式及符号
  13. VSCode中调试flutter遇到Android licenses not accepted的错误提示
  14. 大数据平台及数仓的通用架构和技术体系
  15. vmware下虚拟机centos,root登录时候提示鉴定故障解决方法
  16. 电脑桌面一计算机打不开怎么办,电脑桌面什么都打不开怎么办
  17. Hadoop退出安全模式
  18. 《数据结构》实验报告(一)——顺序表存储结构及实现
  19. SOCKET链接速度慢
  20. reids 5.0.4 cluster集群模式部署实操。

热门文章

  1. android 解决华为系列手机调试时不能打印Logcat日志信息
  2. .NET简谈网络系统大局观
  3. yslow前端性能测试工具
  4. KMP算法具体解释(转)
  5. 统计每天某一时间段的SQL语句
  6. switch case in protected scope 异常解决
  7. hdpi、mdpi、ldpi图片规格
  8. SNS 好像遇到了拐点?
  9. CF1173A 【Nauuo and Votes】题解
  10. 泥瓦匠进阶:连接池原理设计并不难