Raspberry Pi Arduino I2C communication

Raspberry Pi Arduino I2C communication

本文关键字:communication I2C Arduino Pi Raspberry      更新时间:2023-10-16

我试图通过i2c将Raspberry Pi 3与Windows 10 Iot Core连接到Arduino Uno R3,以将一些数据从PI发送到Arduino。C#中的Arduino I2Cdevice要么将其评估为NULL,或者不是,但是当我发送数据时,Arduino不会收到任何东西。

我的arduino代码

void receiveEvent(int howMany) {
  while (1 < Wire.available()) {
    char c = Wire.read();
    Serial.print(c);
  }
  int x = Wire.read();
  Serial.println(x);
}

我的Raspberry Pi代码

var i2cSettings = new I2cConnectionSettings(0X26);
i2cSettings.BusSpeed = I2cBusSpeed.FastMode;
var devices = await DeviceInformation.FindAllAsync(I2cDevice.GetDeviceSelector());
var arduino = await I2cDevice.FromIdAsync(devices[0].Id, i2cSettings);
arduino.Write(Encoding.ASCII.GetBytes("Hello world"));

编辑:我不知道它是否更改了任何东西,但是我也有一个触摸屏连接到Raspberry Pi。

我不确定这是否与我过去所经历的相同。由于Arduino 5V版本和Raspberry Pi之间的电压不同,您需要在连接中间使用级别变速杆。

https://core-electronics.com.au/tutorials/how-to-use-logic-level-shifters-converters.html