Arduino Nano R4の活用 ⑧ I2C LPS22HB Wire②
I2Cバスに気圧センサを接続します。前回はA5(SCL)、A4(SDA)のI2Cバスに接続しました。今回はArduino Nano R4に用意された二つ目のI2Cバスに接続します。
●環境
- Arduino IDE;2.3.5
- Windows11;24H2
- Arduino Nano R4 1.5.1 PCはマザーボードのUSBポートから直接つなぐ。
●接続2
4ピン・コネクタQWICCにLPS22HBを接続します。
●スケッチ
Wire.xxxxと記述していたところをすべてWire1.xxxxに変更します。
#include <Wire.h>
const unsigned char LPS22HB_address = 0x5d;
byte result[3];
#define CTRL_REG1 0x10
#define Output_data_rate 0x10
#define PRESS_OUT_XL 0x28
void setup() {
Wire1.begin();
Wire1.beginTransmission(LPS22HB_address);
Wire1.write(CTRL_REG1); Wire1.write(Output_data_rate); //1Hz
Wire1.endTransmission();
Serial.begin(9600);
delay(1000);
Serial.println("start ");
}
void loop() {
Wire1.beginTransmission(LPS22HB_address);
Wire1.write(PRESS_OUT_XL);
Wire1.endTransmission();
Wire1.requestFrom(LPS22HB_address, 3);
result[0] = Wire1.read();
result[1] = Wire1.read();
result[2] = Wire1.read();
float press = (result[2]<<16 | result[1]<<8 | result[0]) / 4096.0;
Serial.print(result[0]);Serial.print(" ");
Serial.print(result[1]);Serial.print(" ");
Serial.print(result[2]);Serial.print(" ");
Serial.println(" press= "+String(press,1)+"hPa");
delay(3000);
}
実行している様子です。