【日记 2021-05-14】树莓派获取环境亮度(光照度)
什么是亮度?
光照度指被照射物体单位面积上所接受可见光的光通量,单位是勒克斯( Lux) 或流明每平方米( lm /m2) ,是用来描述光的亮度的。我们平时最关心的我家灯到底够不够亮,具体数值可以用照度计测量。
参考文献:张大勇.室内设计中灯光的明暗搭配[J].北京印刷学院学报,2021,29(01):71-74.
环境准备
1、GY30模块(BH1750FVI光照度传感器)
2、安装python-smbus
sudo apt-get install python-smbus
这个安装会附带安装 i2c-tools,不用单独安装了。
3、IIC 开启
sudo raspi-config
进入 Interfacing Options 高级设置,将 SPI 与 I2C 设置为 Enable 后重启系统。
4、连接传感器
代码
直接运行如下程序,即可得到环境的光照度:
#!/usr/bin/env python
# encoding: utf-8import smbus
import time#BH1750地址
__DEV_ADDR=0x23#控制字
__CMD_PWR_OFF=0x00 #关机
__CMD_PWR_ON=0x01 #开机
__CMD_RESET=0x07 #重置
__CMD_CHRES=0x10 #持续高分辨率检测
__CMD_CHRES2=0x11 #持续高分辨率模式2检测
__CMD_CLHRES=0x13 #持续低分辨率检测
__CMD_THRES=0x20 #一次高分辨率
__CMD_THRES2=0x21 #一次高分辨率模式2
__CMD_TLRES=0x23 #一次分辨率
__CMD_SEN100H=0x42 #灵敏度100%,高位
__CMD_SEN100L=0X65 #灵敏度100%,低位
__CMD_SEN50H=0x44 #50%
__CMD_SEN50L=0x6A #50%
__CMD_SEN200H=0x41 #200%
__CMD_SEN200L=0x73 #200%bus=smbus.SMBus(1)
bus.write_byte(__DEV_ADDR,__CMD_PWR_ON)
bus.write_byte(__DEV_ADDR,__CMD_RESET)
bus.write_byte(__DEV_ADDR,__CMD_SEN100H)
bus.write_byte(__DEV_ADDR,__CMD_SEN100L)
bus.write_byte(__DEV_ADDR,__CMD_PWR_OFF)
def getIlluminance():bus.write_byte(__DEV_ADDR,__CMD_PWR_ON)bus.write_byte(__DEV_ADDR,__CMD_THRES2)time.sleep(0.2)res=bus.read_word_data(__DEV_ADDR,0)#read_word_datares=((res>>8)&0xff)|(res<<8)&0xff00res=round(res/(2*1.2),2)result="光照强度: "+str(res)+"lx"return resultif __name__ == '__main__':while True:print(getIlluminance())time.sleep(2)
说明:毕业设计用树莓派来做家庭灯光的控制,需要用到此功能,特此记录!
【日记 2021-05-14】树莓派获取环境亮度(光照度)相关推荐
- 市面上主流编辑器介绍(2021/05/20)
市面上主流编辑器介绍(2021/05/20) 背景 Markdown是一种有用的轻量级标记语言,后续Markdown简写为md. 富文本编辑器(Rich Text Editor,RTE)是一种可内嵌于 ...
- 2021.05.27 发表自己第一篇技术文章
从昨晚开始做家庭财经系统.不要以为有系统两个字就怎么复杂,都是大家都会的.建库.建表. 第一个使用软件是mysql 2021.05.26 数据库 lianxi 已建好. 表 members_basic ...
- 2021.05.15继承球体和圆柱体
原文链接: 自动车 手动车:https://codeeggs.github.io/2021/05/15/2021.05.15%E7%BB%A7%E6%89%BF%E7%90%83%E4%BD%93%E ...
- 用树莓派获取天气状况
用树莓派获取天气状况 在树莓派上我们可以通过"wether"工具来以命令行的方式获取天气预报信息. 首先当然是安装Weather工具,通过命令行 sudo apt-get inst ...
- 电动力学每日一题 2021/10/14
电动力学每日一题 2021/10/14 (a) Define r∣∣=xx^+yy^\textbf r_{||}=x\hat x+y\hat yr∣∣=xx^+yy^, r∣∣=x2+y2r_{| ...
- 最近任务-2012.05.14
最近任务: 本周:3个英文短文,30新单词,3个C程序,5个新CSS属性. 2012.05.14(星期一)---2012.05.16(星期三) 1.复习网络各层概念 复习网络TCP/IP协议 2012 ...
- DS SIMULIA CST STUDIO SUITE 2021.05 SP5
CST Studio Suite 2021.05 - 发行说明 此补丁是推荐更新,其中包括以下更正和改进. 许可 CST Studio Suite Frontend 包括 CST Studio Sui ...
- 2021.05.05青蛙过河
2021.05.05青蛙过河 (题目来源:https://leetcode-cn.com/problems/frog-jump/) 题目描述 一只青蛙想要过河. 假定河流被等分为若干个单元格,并且在每 ...
- 2021.05.20最少数量的箭引爆气球
2021.05.20最少数量的箭引爆气球 题目描述 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以纵坐标并不重要,因此只要知道开始和 ...
最新文章
- Android APK加壳技术方案----代码实现
- android 之多线程详解
- linux运维必备,100道常见面试题
- IntelliJ IDEA scala的源码设置
- window环境下mysql配置参数_Window下mysql环境配置问题整理
- java流的序列化_Java中的对象流和序列化介绍
- 电子商务专业实习总结
- 单片机的各种存储的含义和区别
- NSIS nsDialogs 插件
- 数据挖掘十大经典算法原理
- 无模拟电路基础如何看TTL电路
- 阿里云计算巢软件免费试用中心正式上线,企业用户可免费试用1个月
- 五花八门的\异地恋\大结局
- 11.小白初学日记 STM32F429 HAL库 STM32程序启动过程
- ITSM开源工具OTRS安装
- 宝塔linux升级,宝塔linux面板去除后台强制更新
- 【C语言】初识C语言——开端
- 牛视系统源码,抖音矩阵系统功能开发定制。I‘m here
- 虾米播播音乐墙html,WordPress音乐播放器插件Hermit X(支持网易云、QQ音乐、虾米等)...
- oracle adjusting parallel,Oracle 参数之_undo_autotune
热门文章
- REST ful规范
- c语言西华大学陈晓亮,计算机与软件工程学院
- 手机直播/PC直播/摄像头直播等流媒体直播系统中如何进行推流优化?
- 一文入门车载以太网,吐血整理!不看后悔!
- SLCP验厂辅导,企业在认证之后便可以将经验证过后的数据信息分享给其它各托管平台
- 开发群发微信图文消息,正文中的图片却不显示问题
- HTML5吃豆豆游戏开发实战(一)使用Canvas绘制游戏主角
- Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)
- Node.js文档和教程
- springboot @Value取不到值