简 介: 使用ESP32读取BH1750的光度传感器的数据。但是最终不知道甚么原因,所读取的数据都是0 ?
后面通过证明,说明在原来进行I2C写的时候出现了语法错误。

关键词BH1750ESP32

#mermaid-svg-L3tHa5Hd7iqhYa9t .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .label text{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .node rect,#mermaid-svg-L3tHa5Hd7iqhYa9t .node circle,#mermaid-svg-L3tHa5Hd7iqhYa9t .node ellipse,#mermaid-svg-L3tHa5Hd7iqhYa9t .node polygon,#mermaid-svg-L3tHa5Hd7iqhYa9t .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-L3tHa5Hd7iqhYa9t .node .label{text-align:center;fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .node.clickable{cursor:pointer}#mermaid-svg-L3tHa5Hd7iqhYa9t .arrowheadPath{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-L3tHa5Hd7iqhYa9t .flowchart-link{stroke:#333;fill:none}#mermaid-svg-L3tHa5Hd7iqhYa9t .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-L3tHa5Hd7iqhYa9t .edgeLabel rect{opacity:0.9}#mermaid-svg-L3tHa5Hd7iqhYa9t .edgeLabel span{color:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-L3tHa5Hd7iqhYa9t .cluster text{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-L3tHa5Hd7iqhYa9t .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-L3tHa5Hd7iqhYa9t text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-L3tHa5Hd7iqhYa9t .actor-line{stroke:grey}#mermaid-svg-L3tHa5Hd7iqhYa9t .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .sequenceNumber{fill:#fff}#mermaid-svg-L3tHa5Hd7iqhYa9t #sequencenumber{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t #crosshead path{fill:#333;stroke:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .messageText{fill:#333;stroke:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-L3tHa5Hd7iqhYa9t .labelText,#mermaid-svg-L3tHa5Hd7iqhYa9t .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-L3tHa5Hd7iqhYa9t .loopText,#mermaid-svg-L3tHa5Hd7iqhYa9t .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-L3tHa5Hd7iqhYa9t .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-L3tHa5Hd7iqhYa9t .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-L3tHa5Hd7iqhYa9t .noteText,#mermaid-svg-L3tHa5Hd7iqhYa9t .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-L3tHa5Hd7iqhYa9t .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-L3tHa5Hd7iqhYa9t .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-L3tHa5Hd7iqhYa9t .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-L3tHa5Hd7iqhYa9t .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t .section{stroke:none;opacity:0.2}#mermaid-svg-L3tHa5Hd7iqhYa9t .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-L3tHa5Hd7iqhYa9t .section2{fill:#fff400}#mermaid-svg-L3tHa5Hd7iqhYa9t .section1,#mermaid-svg-L3tHa5Hd7iqhYa9t .section3{fill:#fff;opacity:0.2}#mermaid-svg-L3tHa5Hd7iqhYa9t .sectionTitle0{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .sectionTitle1{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .sectionTitle2{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .sectionTitle3{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-L3tHa5Hd7iqhYa9t .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t .grid path{stroke-width:0}#mermaid-svg-L3tHa5Hd7iqhYa9t .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-L3tHa5Hd7iqhYa9t .task{stroke-width:2}#mermaid-svg-L3tHa5Hd7iqhYa9t .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t .taskText:not([font-size]){font-size:11px}#mermaid-svg-L3tHa5Hd7iqhYa9t .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-L3tHa5Hd7iqhYa9t .task.clickable{cursor:pointer}#mermaid-svg-L3tHa5Hd7iqhYa9t .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-L3tHa5Hd7iqhYa9t .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-L3tHa5Hd7iqhYa9t .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-L3tHa5Hd7iqhYa9t .taskText0,#mermaid-svg-L3tHa5Hd7iqhYa9t .taskText1,#mermaid-svg-L3tHa5Hd7iqhYa9t .taskText2,#mermaid-svg-L3tHa5Hd7iqhYa9t .taskText3{fill:#fff}#mermaid-svg-L3tHa5Hd7iqhYa9t .task0,#mermaid-svg-L3tHa5Hd7iqhYa9t .task1,#mermaid-svg-L3tHa5Hd7iqhYa9t .task2,#mermaid-svg-L3tHa5Hd7iqhYa9t .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-L3tHa5Hd7iqhYa9t .taskTextOutside0,#mermaid-svg-L3tHa5Hd7iqhYa9t .taskTextOutside2{fill:#000}#mermaid-svg-L3tHa5Hd7iqhYa9t .taskTextOutside1,#mermaid-svg-L3tHa5Hd7iqhYa9t .taskTextOutside3{fill:#000}#mermaid-svg-L3tHa5Hd7iqhYa9t .active0,#mermaid-svg-L3tHa5Hd7iqhYa9t .active1,#mermaid-svg-L3tHa5Hd7iqhYa9t .active2,#mermaid-svg-L3tHa5Hd7iqhYa9t .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-L3tHa5Hd7iqhYa9t .activeText0,#mermaid-svg-L3tHa5Hd7iqhYa9t .activeText1,#mermaid-svg-L3tHa5Hd7iqhYa9t .activeText2,#mermaid-svg-L3tHa5Hd7iqhYa9t .activeText3{fill:#000 !important}#mermaid-svg-L3tHa5Hd7iqhYa9t .done0,#mermaid-svg-L3tHa5Hd7iqhYa9t .done1,#mermaid-svg-L3tHa5Hd7iqhYa9t .done2,#mermaid-svg-L3tHa5Hd7iqhYa9t .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-L3tHa5Hd7iqhYa9t .doneText0,#mermaid-svg-L3tHa5Hd7iqhYa9t .doneText1,#mermaid-svg-L3tHa5Hd7iqhYa9t .doneText2,#mermaid-svg-L3tHa5Hd7iqhYa9t .doneText3{fill:#000 !important}#mermaid-svg-L3tHa5Hd7iqhYa9t .crit0,#mermaid-svg-L3tHa5Hd7iqhYa9t .crit1,#mermaid-svg-L3tHa5Hd7iqhYa9t .crit2,#mermaid-svg-L3tHa5Hd7iqhYa9t .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-L3tHa5Hd7iqhYa9t .activeCrit0,#mermaid-svg-L3tHa5Hd7iqhYa9t .activeCrit1,#mermaid-svg-L3tHa5Hd7iqhYa9t .activeCrit2,#mermaid-svg-L3tHa5Hd7iqhYa9t .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-L3tHa5Hd7iqhYa9t .doneCrit0,#mermaid-svg-L3tHa5Hd7iqhYa9t .doneCrit1,#mermaid-svg-L3tHa5Hd7iqhYa9t .doneCrit2,#mermaid-svg-L3tHa5Hd7iqhYa9t .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-L3tHa5Hd7iqhYa9t .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-L3tHa5Hd7iqhYa9t .milestoneText{font-style:italic}#mermaid-svg-L3tHa5Hd7iqhYa9t .doneCritText0,#mermaid-svg-L3tHa5Hd7iqhYa9t .doneCritText1,#mermaid-svg-L3tHa5Hd7iqhYa9t .doneCritText2,#mermaid-svg-L3tHa5Hd7iqhYa9t .doneCritText3{fill:#000 !important}#mermaid-svg-L3tHa5Hd7iqhYa9t .activeCritText0,#mermaid-svg-L3tHa5Hd7iqhYa9t .activeCritText1,#mermaid-svg-L3tHa5Hd7iqhYa9t .activeCritText2,#mermaid-svg-L3tHa5Hd7iqhYa9t .activeCritText3{fill:#000 !important}#mermaid-svg-L3tHa5Hd7iqhYa9t .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-L3tHa5Hd7iqhYa9t g.classGroup text .title{font-weight:bolder}#mermaid-svg-L3tHa5Hd7iqhYa9t g.clickable{cursor:pointer}#mermaid-svg-L3tHa5Hd7iqhYa9t g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-L3tHa5Hd7iqhYa9t g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-L3tHa5Hd7iqhYa9t .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-L3tHa5Hd7iqhYa9t .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-L3tHa5Hd7iqhYa9t .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-L3tHa5Hd7iqhYa9t .dashed-line{stroke-dasharray:3}#mermaid-svg-L3tHa5Hd7iqhYa9t #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L3tHa5Hd7iqhYa9t #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L3tHa5Hd7iqhYa9t #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-L3tHa5Hd7iqhYa9t #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-L3tHa5Hd7iqhYa9t #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L3tHa5Hd7iqhYa9t #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L3tHa5Hd7iqhYa9t #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L3tHa5Hd7iqhYa9t #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-L3tHa5Hd7iqhYa9t .commit-id,#mermaid-svg-L3tHa5Hd7iqhYa9t .commit-msg,#mermaid-svg-L3tHa5Hd7iqhYa9t .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-L3tHa5Hd7iqhYa9t g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-L3tHa5Hd7iqhYa9t g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-L3tHa5Hd7iqhYa9t g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-L3tHa5Hd7iqhYa9t .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-L3tHa5Hd7iqhYa9t .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-L3tHa5Hd7iqhYa9t .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-L3tHa5Hd7iqhYa9t .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-L3tHa5Hd7iqhYa9t .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-L3tHa5Hd7iqhYa9t .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-L3tHa5Hd7iqhYa9t .edgeLabel text{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-L3tHa5Hd7iqhYa9t .node circle.state-start{fill:black;stroke:black}#mermaid-svg-L3tHa5Hd7iqhYa9t .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-L3tHa5Hd7iqhYa9t #statediagram-barbEnd{fill:#9370db}#mermaid-svg-L3tHa5Hd7iqhYa9t .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-L3tHa5Hd7iqhYa9t .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-L3tHa5Hd7iqhYa9t .statediagram-state .divider{stroke:#9370db}#mermaid-svg-L3tHa5Hd7iqhYa9t .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-L3tHa5Hd7iqhYa9t .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-L3tHa5Hd7iqhYa9t .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-L3tHa5Hd7iqhYa9t .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-L3tHa5Hd7iqhYa9t .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-L3tHa5Hd7iqhYa9t .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-L3tHa5Hd7iqhYa9t .note-edge{stroke-dasharray:5}#mermaid-svg-L3tHa5Hd7iqhYa9t .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-L3tHa5Hd7iqhYa9t .error-icon{fill:#522}#mermaid-svg-L3tHa5Hd7iqhYa9t .error-text{fill:#522;stroke:#522}#mermaid-svg-L3tHa5Hd7iqhYa9t .edge-thickness-normal{stroke-width:2px}#mermaid-svg-L3tHa5Hd7iqhYa9t .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-L3tHa5Hd7iqhYa9t .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-L3tHa5Hd7iqhYa9t .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-L3tHa5Hd7iqhYa9t .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-L3tHa5Hd7iqhYa9t .marker{fill:#333}#mermaid-svg-L3tHa5Hd7iqhYa9t .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-L3tHa5Hd7iqhYa9t {color: rgba(0, 0, 0, 0.75);font: ;}

光度传感器
文章目录
实验背景
实验方案
测试BH1750
基本I2C总线操作
读取数据
测试结果

§01 光度传感器


  在今天(2021-09-24 16:40:56)测试了 接近光电开关DF-11N 光强的基本特征。看到在之前的光度传感器BH1750模块。下面利用ESP32 MicroPython完成对其驱动,以备之后实验使用。

一、实验背景

1、光度传感器BH1750

  在 强度光照模块rimg02 BH1750光度传感器模块 使用了STC单片机测试了对于光度传感器 BH1750 的数据初步实验。在这次试验中,利用BH1750在普通环境下测量了光度大约为几百的数值。在 使用BH1750测量激光发射器的强度 测试了激光发射器的光斑的光强度。

  很可惜在上面几个实验中,并没有对于BH1750测量数据并没有得到进一步分析,比如噪声,数值标定等。

▲ 图1.1.1 转换速度

2、MicroPython I2C

龙邱MPU9250传感器 | 使用ESP32 模块进行测试 测试了 ESP32 MicroPython实验模块 测试了 MicroPython的软件I2C功能对于IMU 9250的数据读取功能。那么在本实验中利用ESP32对于BH1750的I2C访问,来访问光度数据。

二、实验方案

1、管脚配置

ESP32 I2C管脚配置:
SCL:GPIO15
SDA:GPIO2

▲ 图1.2.1 实验管脚配置

2、搭建实验平台

  下面是利用面包板搭建的实验电路。利用两个 4.7kΩ电阻对于SCL,SDA进行上拉到3.3V电压。

▲ 图1.2.2 利用面包板搭建的实验电路

§02 测试BH1750


一、基本I2C总线操作

1、I2C扫描

(1) 实验代码

from machine                import Pin,SoftI2C,Timer
import timei2c = SoftI2C(scl=Pin(15), sda=Pin(2), freq=100000)
scan = i2c.scan()
print(scan)

(2) 扫描结果

  程序运行输出结果:

[35]

(3) 结果分析

  根据BH1750的读取协议,可以看到它的的地址应该是 0x23,这与读出的数值35是相同的。

▲ 图2.1.1 BH1750读取协议

二、读取数据

1、读取H-Resolution数据

  根据前面给出的Continuously H-resolution读取协议,利用I2C读取相应的数据。

(1) 实验代码

from machine                import Pin,SoftI2C,Timer
import time
i2c = SoftI2C(scl=Pin(16), sda=Pin(17), freq=100000)
str = i2c.scan()
print('%x'%str[0])BH1750_CMD_POWERDOWN        = 0x0
BH1750_CMD_POWERON          = 0x1
BH1750_CMD_RESET            = 0x7
BH1750_CMD_H_RESOLUTION     = 0x10
BH1750_CMD_H_RESOLUTION2    = 0x11
BH1750_CMD_L_RESOLUTION     = 0x13
BH1750_CMD_ONETIME_H        = 0x20
BH1750_CMD_ONETIME_H2       = 0x21
BH1750_CMD_ONETIME_L        = 0x23BH1750_I2C_ADD  = 0x23buf = bytearray(1)
buf[0] = BH1750_CMD_H_RESOLUTIONi2c.writeto(BH1750_I2C_ADD, buf)
time.sleep_ms(200)while True:buf = i2c.readfrom(BH1750_I2C_ADD, 0x2)data = buf[0] * 256 + buf[1]print(data)time.sleep_ms(200)

(2) 读取数据波形

▲ 图2.2.1 SDA, SCL波形

(3) 读取数据

▲ 图2.2.2 读取的数据

※ 测试结果 ※


  不知道为什么,最终使用ESP32 没有能够读取BH1750的数据。读出的数据都是0.

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2021-09-25
#
# Note:
#============================================================
from machine                import Pin,SoftI2C,Timer
import time
i2c = SoftI2C(scl=Pin(16), sda=Pin(17), freq=100000)
str = i2c.scan()
print('%x'%str[0])
#------------------------------------------------------------
BH1750_CMD_POWERDOWN        = 0x0
BH1750_CMD_POWERON          = 0x1
BH1750_CMD_RESET            = 0x7
BH1750_CMD_H_RESOLUTION     = 0x10
BH1750_CMD_H_RESOLUTION2    = 0x11
BH1750_CMD_L_RESOLUTION     = 0x13
BH1750_CMD_ONETIME_H        = 0x20
BH1750_CMD_ONETIME_H2       = 0x21
BH1750_CMD_ONETIME_L        = 0x23
BH1750_I2C_ADD  = 0x23
#------------------------------------------------------------
buf = bytearray(1)
buf[0] = BH1750_CMD_H_RESOLUTION
i2c.writeto(BH1750_I2C_ADD, buf)
time.sleep_ms(200)
#------------------------------------------------------------
while True:buf = i2c.readfrom(BH1750_I2C_ADD, 0x2)data = buf[0] * 256 + buf[1]print(data)time.sleep_ms(200)
#------------------------------------------------------------
#        END OF FILE : test1.PY
#============================================================

■ 相关文献链接:

  • 接近开关的初步测试 : DF-11N
  • 强度光照模块rimg02 BH1750光度传感器模块
  • BH1750
  • 使用BH1750测量激光发射器的强度
  • 龙邱MPU9250传感器 | 使用ESP32 模块进行测试
  • ESP32-S模块转接板设计与实现

● 相关图表链接:

  • 图1.1.1 转换速度
  • 图1.2.1 实验管脚配置
  • 图1.2.2 利用面包板搭建的实验电路
  • 图2.1.1 BH1750读取协议
  • 图2.2.1 读取数据波形

使用ESP32 MicroPython I2C功能读取 BH1750光度传感器模块数据相关推荐

  1. 强度光照模块rimg02 BH1750光度传感器模块

    01简介 BH1750 是一款环境光强传感器,输出16bit的数字测量结果.下面是在淘宝购买的模块 强度光照模块rimg02bh1750光度传感器模块 . ▲ BH1750光强度模块的正反面 ■ 表格 ...

  2. 利用BH1750光度传感器测量一些发光体

    简 介: 初步测试了BH1750测量一些光源的数据.特别是对于LED发光特性与电流之间的关系. 通过BH1750的数据收获册上的感光特性,它基本上覆盖了可见光的的范围. 关键词: BH1750,ESP ...

  3. 【MicroPython ESP32】I2C功能使用介绍

    [MicroPython ESP32]I2C功能使用介绍 本示例基于Thonny平台开发. 参考官方文档:http://docs.micropython.org/en/latest/esp32/qui ...

  4. 利用中断在 ESP32 MicroPython 程序中读取AM2302

    简 介: 由于使用MicroPython,如果使用指令查询方式读取AM2302的数据,无法控制到非常精确读取时间信息.利用ESP32 MicroPython中的IO中断,获取AM2302的上升沿时间, ...

  5. STM32读取SM300D2七合一传感器模块数据在0.96寸OLED显示,通过DL-LN3X无线模块显示在上位机

    先看这个: 资料 https://blog.csdn.net/gsh_hello_world/article/details/56277182 https://blog.csdn.net/gsh_he ...

  6. i2c同时读取两个光敏传感数据思路

    初始化i2c的fd及附加参数 激活两个光敏设备 读取哪个光敏数据即设置哪个从机地址,进行一次读取操作:按顺序切换从机地址读取下一个光敏的数据 可将第3步放在子线程中死循环处理

  7. ESP32 ESP-IDF串口的使用-读GPS北斗模块数据

    陈拓 2022/04/27-2022/05/10 1. 简介 在<Windows USB串口接收GPS北斗模块数据和数据说明> https://zhuanlan.zhihu.com/p/5 ...

  8. 柿饼派通过RW007的BLE 功能读取米家蓝牙温湿度计数据

    ## 前言 一直在关注 RT-Thread 的柿饼派和 RW007 模块,听说最近新版的 RW007 模块支持 BLE 功能了,于是便向客服咨询在柿饼派上的  RW007 模块是否也支持 BLE 功能 ...

  9. ESP32 Micropython编程(Thonny)04---- 人体感应模块

    本人持续分享更多关于嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步 最近使用到人体感应模块HC-SR501,这个模块使用十分简单,看下面代码就可以看出了,而且应用广泛,在 ...

最新文章

  1. Xcode 创建.a和framework静态库(转)
  2. C# 参数按照ASCII码从小到大排序(字典序)
  3. 驾照考试:理论考试注意事项
  4. 为什么不走INDEX FAST FULL SCAN呢
  5. 如何将低压精密运算放大器的性能扩展到高压高侧电流检测应用(高电流电阻采集电压电路图及误差分析)
  6. C#原型模式之深复制实现
  7. 【Todo】RTP/RTCP/RTSP/SIP/SDP 等多媒体传输和会话协议
  8. 搜狗2011笔试题+答案解析
  9. python处理excel的方法有哪些_Python操作Excel简单方法
  10. -bash: fork: Cannot allocate memory问题,进程数满了的解决办法
  11. Linux时间子系统之八:动态时钟框架(CONFIG_NO_HZ、tickless)【转】
  12. HTML5 WebSocket
  13. oppo的手机上如何找回原来的小米的云便签
  14. 厦门大学2019年高等代数考研试题
  15. 上百种Python炫酷可视化案例珍藏版——看完掌握~一键三连~老板都想要给你升职加薪哟!
  16. android 看图片tv版,易图浏览_易图浏览TV版APK下载_电视版 for 安卓TV_ZNDS软件
  17. revel MySQL_Go-Revel:Gorp连接MySQL
  18. Python读取PPT,PPT PPTX PPTM PPS PPSM PPSX
  19. java程序员拜年代码_程序员的新年祝福是什么样的?
  20. 什么是BGP协议,以及其工作原理

热门文章

  1. 深度学习目标检测(object detection)系列(一) R-CNN
  2. 使用CSS隐藏HTML元素的4种常用方法
  3. jquery each函数的使用
  4. Java数据结构与算法(25) - ch11哈希(双重哈希)
  5. 赶考在线执业药师,7-8月提分策略,化繁为简
  6. apache prefork和worker
  7. bind日志配置详解
  8. Windows Phone访问web service和WCF服务
  9. ASA 过滤 URL (图解)
  10. 6/29 原型编码阶段:(2) GridView的数据库操作