Raspberry pi 2和BMP280:未确认从站地址

问题描述 投票:3回答:4

我遵循www.hackster.io Windows IOT上的WheatherStation项目。我在github上下载了项目,并在Raspberry上连接了BMP280传感器。您可以检查我的连接http://kdamerval.fr/WeatherStation/1.jpghttp://kdamerval.fr/WeatherStation/2.jpg

对我来说,这是正确的,但是我对bmp280.WriteRead(WriteBuffer,ReadBuffer)有一个例外。“ System.IO.FileNotFoundException:系统找不到指定的文件。未确认从站地址。”

我尝试了一切! 😦谢谢

c# windows arduino raspberry-pi2 windowsiot
4个回答
3
投票

此问题有多种不同的原因,其中大多数与硬件有关。

[我看到您正在使用Adafruit接线板,并将以此为基础参考图钉。

  1. 请确保您的SDO和SCL线已正确连接到Raspberry PI。 SDO应该连接到引脚3,SCL应该连接到引脚5。从您的示意图看,这应该是正确的。

  2. 接下来是Vin。 Hackster.io上的Fritzing图像不正确。 Vin应该连接到您的3.3V线路,即PI上的引脚1。

    这是因为Vin是您的逻辑信号的电源电平。在这种情况下,Raspberry PI为3.3V,将其置于5可能会导致无法通过I2C正确输入数据的问题。

  3. 最后,将SDO绑在V3.3上拉高。

    原因是,如果您阅读了BMP280 / BME280的数据手册,并查看原理图,您会看到SDO的上拉电阻将其上拉至内部逻辑电平3.3V。如果使用5v电压轨,这将非常奇怪,因为从技术上讲,您既不是低态也不是高态的三态,因此您可能最终会得到一个随机地址。

    通过接地将其拉至0V将导致从机地址为0x76。将其拉高时,BMP280 / BME280传感器的从机地址将为0x77。通过查看他们提供的代码,他们希望该引脚被拉高以提供0x77地址。

#3的另一种软件解决方案是更改BME280设备代码中的I2C从设备地址。在示例代码中,它包含在Lesson_203 \ StartSolution \ BMP280.cs中:

class BMP280
{
    //The BMP280 register addresses according the the datasheet: http://www.adafruit.com/datasheets/BST-BMP280-DS001-11.pdf
    const byte BMP280_Address = 0x77;  //If SDI is pulled high 0x77, if pulled low 0x76
    const byte BMP280_Signature = 0x58;

最后,如果您从顶部看pi,而HDMI端口指向您,而SD插槽位于左侧,则您在Pi上的引脚连接对40针接头最左边的针感兴趣。

5V | 5V |地面3.3V | SDA(SDI)| SCLK

另请参见此标头映射。 Pi3 Header Map


0
投票

这可能是I2C总线的问题(因为未收到ACK)。

[如果可以,请使用--recursive标志交叉检查是否已克隆其仓库。使用此工具可以正确克隆所有子模块。 (否则可能缺少一些文件。)


0
投票

检查电线。确保将它们完全推入正确的位置。这是我的问题。


0
投票

经过将近4年的解决方案。您必须焊接BMP280 ...如果有帮助的话

© www.soinside.com 2019 - 2024. All rights reserved.