Thonny IDE + MicroPython + ESP32 + GY-302 測量環境中的光照強度

GY-302是一款基于BH1750FVI光照強度傳感器芯片的模塊。該模塊能夠直接測量出環境中的光照強度,并將光照強度轉換為數字信號輸出。其具體參數如下表所示。

參數名稱

參數特性

測量范圍

0-65535 LX

測量精度

在環境光下誤差小于±20%,能夠自動忽略50/60Hz的閃爍光源

分辨率和測量時間

從低分辨率快速模式(4 LX分辨率,最快16ms測量時間)

到高分辨率模式(0.5LX分辨率,最慢120ms測量時間)

通信方式

標準IIC通信,最大通信速率為400kHz

元件:

  • GY-302光照強度模塊

  • ?ESP32 DEVKIT_C開發板

  • 杜邦線
  • USB Type-C

接線:

ESP32 DEVKIT_C

GY-302

VIN或3V3

VCC

GND

GND

D18

SCL

D19

SDA

注:GY-302中的ADDR引腳懸空不接;GY-302中的SCL和SDA引腳也可以連接到ESP32中的其他硬/軟件IIC引腳,只需在代碼中做出相應的配置

代碼:

from machine import Pin
import timegy302_addr = 0x23  # 光線傳感器I2C地址from machine import I2C
i2c = I2C(0, freq = 1_000_000)		#初始化IIC0,使用默認引腳“SCL=18、SDA=19”,傳輸速度:100 Kbps
#i2c = I2C(1, freq = 1000000)		#初始化IIC1,使用默認引腳“SCL=25、SDA=26”,傳輸速度:100 Kbps#from machine import SoftI2C
#i2c = SoftI2C(scl=Pin(5), sda=Pin(4), freq=1000000)	#初始化軟件IIC,SCL=5、SDA=4,傳輸速度:100 Kbps
#i2c = SoftI2C(scl=Pin(33), sda=Pin(32), freq=4_000_000)	#初始化軟件IIC,SCL=33、SDA=32,傳輸速度:400 Kbps#print(hex(i2c.scan()[0]))  # 打印器件I2C地址def gy_302_Init():    i2c.writeto(gy302_addr, chr(0x01)) 		# 發送上電命令 #i2c.writeto(gy302_addr, chr(0x07)) 	# 發送復位命令#i2c.writeto(gy302_addr, chr(0x10)) 		# 發送高分辨率連續測量命令  分辨率:1Lx  測量時間:120msi2c.writeto(gy302_addr, chr(0x11)) 		# 發送高分辨率連續測量命令2  分辨率:0.5Lx  測量時間:120ms#i2c.writeto(gy302_addr, chr(0x13)) 		# 發送低分辨率連續測量命令  分辨率:4Lx  測量時間:16msdef gy_302():gy = i2c.readfrom(gy302_addr, 2) 		# 從gy302_addr地址設備讀取2位數據gy302 = float(gy[0] << 8 | gy[1]) / 1.2 		# 左移,可以理解為 gy[0]*0xff return gy302gy_302_Init()while True:#print("光照值 = %d Lx" %round(gy_302()))print("光照值 = ", gy_302()," Lx")time.sleep(1)

現象:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/62283.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/62283.shtml
英文地址,請注明出處:http://en.pswp.cn/web/62283.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AJAX和XHR、fetch、axios的關系

AJAX中有兩套原生的API&#xff0c;一個是XHR(XMLHttpRequest)&#xff0c;一個是Fetch API axios是第三方庫&#xff0c;在瀏覽器環境中使用的是XHR umi-request也是第三方庫&#xff0c;在瀏覽器環境中使用的是Fetch 在 AJAX&#xff08;Asynchronous JavaScript and XML&am…

openlayers地圖緩存添加

//通過安裝包localforage&#xff08;npm install localforage&#xff09;或https://cdnjs.cloudflare.com/ajax/libs/localforage/1.10.0/localforage.min.js tileCacheStore.js import localforage from localforage var tileCacheStorenull;// 從緩存中獲取該瓦片 functio…

云軸科技ZStack出席中國電信國際EMCP平臺香港發布會,持續推動海外合作

近日&#xff0c;以“云聚未來 翼起新篇”為主題的中國電信國際多云服務一站式平臺&#xff08;E-surfing Managed Cloud Platform&#xff0c;簡稱EMCP平臺&#xff09;新聞發布會在香港成功舉辦&#xff0c;標志著中國電信國際在云計算服務領域取得了又一重大進展。云軸科技…

面試復盤 part 02·1202-1207 日

作品集講述部分 分析反思 作品集講述部分&#xff0c;視覺講述部分需要更換&#xff0c;需要換成其他視覺相關的修改 具體話術 這是一個信息展示優化方案&#xff0c;用戶為財務&#xff0c;信息區分度不足&#xff0c;理解成本較高&#xff0c;因此選擇需要降低理解成本。…

2024.11.29——[HCTF 2018]WarmUp 1

拿到題&#xff0c;發現是一張圖&#xff0c;查看源代碼發現了被注釋掉的提示 <!-- source.php--> step 1 在url傳參看看這個文件&#xff0c;發現了這道題的源碼 step 2 開始審計代碼&#xff0c;分析關鍵函數 //mb_strpos($haystack,$needle,$offset,$encoding):int|…

brpc的二次封裝以及brpc與etcd的聯合

目的&#xff1a; 搭配etcd的注冊中心管理能知道誰能提供什么服務&#xff0c;并用rpc進行服務調用 封裝思想&#xff1a; 信道管理&#xff0c;將不同服務主機的通信信道管理起來 封裝&#xff1a; 1.指定的信道管理類 一個服務通常會有多個節點&#xff0c;每個節點都會…

【提升效率】如何寫好一份詳細設計文檔

版本日期修訂人描述V1.02024/12/6nick huang創建文檔 背景 CSDN在發起“如何做好一份技術文檔”的活動。 想起我最近在寫一份詳細設計&#xff0c;有一些感受&#xff1a; 一份考慮較周全的“詳細設計文檔模板”能起到質量保底的作用。 當一名初級技術人員需要編寫詳細設計文…

電阻計RM3544、RM3545的使用

目錄&#xff1a; 一、電阻計與PC通訊 1、硬件連接 2、RmLogger.exe的使用 二、RM3545測量35uΩ電阻 一、電阻計與PC通訊 1、硬件連接 可以設置USB或COM口(串口)連接PC&#xff0c;也可以設置為“打印”輸出。 1&#xff09;使用USB連接PC 2&#xff09;使用串口連接PC …

Jenkins 的HTTP Request 插件為什么不能配置Basic認證了

本篇遇到的問題 還是因為Jenkins需要及其所在的OS需要升級&#xff0c;升級策略是在一臺新服務器上安裝和配置最新版本的Jenkins&#xff0c; 當前的最新版本是&#xff1a; 2.479.2 LTS。 如果需要這個版本的話可以在官方站點下載&#xff0c;也可以到如下地址下載&#xff1…

uniapp 封裝自定義頭部導航欄

封裝原因 項目中有時候需要使用自定義的頭部導航欄&#xff0c;原生的無法滿足需求 參數 屬性名描述示例title標題字符串&#xff1a;首頁bgColor背景色字符串&#xff1a;#ffftype左側的操作內容字符串&#xff1a;all&#xff0c;詳細值請在下方查看 參數解釋 type all…

docker學習筆記(五)--docker-compose

文章目錄 常用命令docker-compose是什么yml配置指令詳解versionservicesimagebuildcommandportsvolumesdepends_on docker-compose.yml文件編寫 常用命令 命令說明docker-compose up啟動所有docker-compose服務&#xff0c;通常加上-d選項&#xff0c;讓其運行在后臺docker-co…

Linux中inode

磁盤的空間管理 如何對磁盤空間進行管理&#xff1f; 假設在一塊大小為500G的磁盤中&#xff0c;500*1024*1024524288000KB。在磁盤中&#xff0c;扇區是磁盤的基本單位&#xff08;一般大小為512byte&#xff09;&#xff0c;而文件系統訪問磁盤的基本單位是4KB&#xff0c;因…

5G揚帆乘勁風,遨游通訊賦能千行百業譜新篇

在大型工廠&#xff0c;輕觸手機屏幕&#xff0c;實時庫存數據、人員定位等信息便躍然眼前、一目了然&#xff1b;在邊遠油田&#xff0c;動動手指&#xff0c;即可實時查詢設備溫度、危險氣體濃度等信息&#xff0c;大數據瞬間盡在“掌”握……在遨游5G防爆智能手機的助力下&a…

RT Thread Studio新建STM32F407IG工程文件編譯提示錯誤

編譯提示錯誤 原因: RT 源碼使用4.0.3的話&#xff0c;請用STM32F4支持包的0.2.2版本&#xff0c;就不會出錯了。 如果支持包用0.2.3版本的話&#xff0c;需要用RT內核4.1.0版本。0.2.3 版本更新了一些針對內核4.1.0的驅動代碼&#xff0c;這幾個定義都是4.1.0里的。

學生管理系統(java)

1.前期準備 &#xff08;1&#xff09;新建java項目 &#xff08;2&#xff09;新建java軟件包以及三個文件Student.java,Student.txt,StuSystem.java Student.java package student_management_system;public class Student {private String id;private String name;private…

JavaWeb學習(2)(Cookie原理(超詳細)、HTTP無狀態)

目錄 一、HTTP無狀態。 &#xff08;1&#xff09;"記住我"&#xff1f; &#xff08;2&#xff09;HTTP無狀態。 &#xff08;3&#xff09;信息存儲客戶端中。如何處理&#xff1f; 1、loaclStorage與sessionStorage。 2、Cookie。 二、Cookie。 &#xff08;1&…

SpringBoot教程(三十二) SpringBoot集成Skywalking鏈路跟蹤

SpringBoot教程&#xff08;三十二&#xff09; | SpringBoot集成Skywalking鏈路跟蹤 一、Skywalking是什么&#xff1f;二、Skywalking與JDK版本的對應關系三、Skywalking下載四、Skywalking 數據存儲五、Skywalking 的啟動六、部署探針 前提&#xff1a; Agents 8.9.0 放入 …

flask創建templates目錄存放html文件

首先&#xff0c;創建flask項目&#xff0c;在pycharm中File --> New Project&#xff0c;選擇Flask項目。 然后&#xff0c;在某一目錄下&#xff0c;新建名為templates的文件夾&#xff0c;這時會是一個普通的文件夾。 然后右擊templates文件夾&#xff0c;選擇Unmark as …

Java進階(注解,設計模式,對象克隆)

Java進階(注解&#xff0c;設計模式&#xff0c;對象克隆) 一. 注解 1.1 什么是注解 java中注解(Annotation)&#xff0c;又稱java標注&#xff0c;是一種特殊的注釋 可以添加在包&#xff0c;類&#xff0c;成員變量&#xff0c;方法&#xff0c;參數等內容上 注解會隨同…

部署loki,grafana 以及springcloud用法舉例

文章目錄 場景docker 部署grafanadocker-compose部署loki維護配置文件 local-config.yaml維護docker-compose.yml配置啟動 grafana 添加loki數據源springcloud用法舉例查看loki的explore,查看日志 場景 小公司缺少運維崗位&#xff0c;需要研發自己部署日志系統&#xff0c;elk…