如何将BME280正确连接到ESP32 I2C并用python编码

2024-05-20 18:00:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我的另一个问题是学习这个esp32。我有一个名为BME280的传感器,我想将其连接到esp32上的I2C:

BME280:https://learn.adafruit.com/adafruit-bme280-humidity-barometric-pressure-temperature-sensor-breakout/pinouts

我也认为我做的一切都是正确的,但是有一些大问题。我想使用这个BME280库,所以我将它作为.py文件包含在我的文件夹中,并试图使I2C从传感器读取数据

库:https://github.com/RuiSantosdotme/ESP-MicroPython/blob/master/code/WiFi/HTTP_Client_IFTTT_BME280/BME280.py

我的代码(HI仅用于查看我的代码是否有任何作用):

from machine import Pin, I2C
import BME280

# ESP32 - Pin assignement
i2c = I2C(scl=Pin(22, ), sda=Pin(21), freq=10000)
print("HI")
print(i2c.scan())
bme = BME280.BME280(i2c=i2c)

我当然想使用python。my esp32在Pymakr终端中返回的输出和错误如下所示:

HI
[119]
Traceback (most recent call last):
  File "main.py", line 10, in <module>
  File "BME280.py", line 153, in __init__
  File "BME280.py", line 159, in _load_calibration
  File "BME280.py", line 119, in readU16LE
  File "BME280.py", line 102, in readU16
OSError: [Errno 19] ENODEV
MicroPython v1.12-188-gd3b2c6e44 on 2020-02-21; ESP32 module with ESP32
Type "help()" for more information.

有人知道我做错了什么吗?我想从数据中读出温度,所以这是目标

多谢各位! 致意


Tags: inpyhttpsadafruitcomlinepin传感器