

使用機器  
・ESP32 DevKitC  
・TCA9548A I2C Multiplexer  
・MPU6050

tca9548aを使用したところ、値が全て15163になります。  
センサを取り外しても値は送られるため、センサの問題では無いと思われます。  
tca9548aのA0,A1,A2ピンはgndに接続しているためtca9548aのアドレスは0x70のはずです。  
コードはほとんどコピペです。

画像は回路

[![](https://i.stack.imgur.com/sOhRy.png)](https://i.stack.imgur.com/sOhRy.png)

[code]

    #include <Wire.h>
    
    int16_t axRaw, ayRaw, azRaw, gxRaw, gyRaw, gzRaw, GyroX, GyroY, GyroZ, sensor, temperature;
    
    void TCA9548A(uint8_t bus){
      Wire.beginTransmission(0x70);
      Wire.write(1 << bus);    
    }
    
    void setup() {
    
      Serial.begin(9600);
      Wire.setClock(400000);
      Wire.begin();
    
      Wire.beginTransmission(0x70);
      Wire.write(0x6B);
      Wire.write(0x00);
      Wire.endTransmission(); 
    //加速度初期設定
      Wire.beginTransmission(0x70);
      Wire.write(0x1C);
      Wire.write(0x10);
      Wire.endTransmission();
    //ジャイロ初期設定
      Wire.beginTransmission(0x70);
      Wire.write(0x1B);
      Wire.write(0x08);
      Wire.endTransmission();
    //LPF設定
      Wire.beginTransmission(0x70);
      Wire.write(0x1A);
      Wire.write(0x05);
      Wire.endTransmission();
    }
    
    void loop() {
      for(sensor = 2; sensor < 4; sensor++){
      TCA9548A(sensor);
      Wire.beginTransmission(0x70);
      Wire.write(0x3B);
      Wire.endTransmission();
      Wire.requestFrom(0x70, 14);
      while (Wire.available() < 14);
      axRaw = Wire.read() << 8 | Wire.read();
      ayRaw = Wire.read() << 8 | Wire.read();
      azRaw = Wire.read() << 8 | Wire.read();
      temperature = Wire.read() << 8 | Wire.read();
      gxRaw = Wire.read() << 8 | Wire.read();
      gyRaw = Wire.read() << 8 | Wire.read();
      gzRaw = Wire.read() << 8 | Wire.read();
    
        Serial.print(axRaw/1638400.0); Serial.print(",");
        Serial.print(ayRaw/1638400.0); Serial.print(",");
        Serial.print(azRaw/1638400.0); Serial.print(",");
        Serial.print(gxRaw/131.0); Serial.print(",");
        Serial.print(gyRaw/131.0); Serial.print(",");
        Serial.print(gzRaw/131.0);
          
      }
      Serial.println("");
      delay(100);
    }
    
[/code]


CC BY-SA 4.0
2022-09-15T05:55:59.363
91115
2022-09-15T07:09:34.877
2022-09-15T07:09:34.877
3060
53745
question
arduino esp32 i2c
マルチプレクサが一定の値しか送信しなくなりました