[英]Why am I getting a BME280 sensor Runtime Error: Failed to find Chip ID 0x58?
我有一个运行 Raspian Buster OS 的 Raspberry Pi Zero W。 我有一个BME 280 传感器连接到 SDA 和 SCL 引脚。 当我使用i2cdetect -y 1
查找传感器时,我在0x76
找到了它:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --
我从 AdaFruit 运行的脚本在这里:
import time
import board
from adafruit_bme280 import basic as adafruit_bme280
i2c = board.I2C() # uses board.SCL and board.SDA
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c, address=0x76)
bme280.sea_level_pressure = 1013.25
while True:
print("\nTemperature: %0.1f C" % bme280.temperature)
print("Humidity: %0.1f %%" % bme280.relative_humidity)
print("Pressure: %0.1f hPa" % bme280.pressure)
print("Altitude = %0.2f meters" % bme280.altitude)
time.sleep(2)
我收到以下运行时错误:
Traceback (most recent call last):
File "bme280_simpletest.py", line 10, in <module>
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c, address=0x76)
File "/usr/local/lib/python3.7/dist-packages/adafruit_bme280/basic.py", line 371, in __init__
super().__init__()
File "/usr/local/lib/python3.7/dist-packages/adafruit_bme280/basic.py", line 96, in __init__
raise RuntimeError("Failed to find BME280! Chip ID 0x%x" % chip_id)
RuntimeError: Failed to find BME280! Chip ID 0x58
我想知道为什么它在0x76
时寻找0x58
的芯片。 我一定是在这里误解了什么。 任何建议表示赞赏。
basic.py
class 可以在此处的 repo 中找到。
因为我连接的是 BMP280 而不是 BME280,所以出现了同样的错误。
我遇到了类似的错误,重新启动了我的 PiZero,一切正常。 另外,为什么要对地址进行硬编码? 为什么不这样做:
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c)
打开..\Python\Lib\site-packages\adafruit_bme280\basic.py
搜索_BME280_CHIPID = const
并enter code here
将其从“0x60”更改为“0x58”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.