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);
}

 実行している様子です。

前へ

Arduino Nano R4の活用 ⑦ I2C LPS22HBのスケッチ スケッチの説明<第3回>