我正在使用CCS811气体传感器与Pi 3模型b。我按照https://learn.adafruit.com/adafruit-ccs811-air-quality-sensor/raspberry-pi-wiring-and-test这个页面上的步骤操作,并且在刻录期间运行没有问题。现在我得到下面的错误。Raspberry Pi停止与i2c传感器通信
我知道传感器的工作原理,因为我使用Arduino Uno进行了测试,我可以获得读数。在我的Pi上,它显示了当我运行sudo i2cdetect -y 1时传感器的正确地址。
我已经擦掉了SD卡3次,然后在干净的平板上重新开始,每次都会出现此错误。任何帮助将不胜感激!
这里是我使用从传感器读取数据的代码:
ccs = Adafruit_CCS811()
while not ccs.available():
pass
temp = ccs.calculateTemperature()
ccs.tempOffset = temp - 25.0
while(1):
if ccs.available():
temp = ccs.calculateTemperature()
if not ccs.readData():
print "CO2: ", ccs.geteCO2(), "ppm, TVOC: ", ccs.getTVOC(), "temp: ", temp
else:
print "ERROR!"
while(1):
pass
sleep(2)
这里是我得到
[email protected]:~/Adafruit_CCS811_python/examples$ sudo python CCS811_example.py
Traceback (most recent call last):
File "CCS811_example.py", line 6, in <module>
ccs = Adafruit_CCS811()
File "/usr/local/lib/python2.7/dist-packages/Adafruit_CCS811/Adafruit_CCS811.py", line 84, in __init__
raise Exception("Device ID returned is not correct! Please check your wiring.")
Exception: Device ID returned is not correct! Please check your wiring.
感谢您的帮助!看起来我会在我的arduino上做这个项目! – Mike
ARDUINO FTW !!!! –
PS - Orange Pi电路板(AllWinner SoC)也可以在没有I2C错误的情况下正常读取该传感器。你也可以试试我的C代码 - https://github.com/bitbank2/CCS811 – BitBank