recogonize AK8963_ADDRESS
vahidyazdnian13 opened this issue · 5 comments
hi ! i used your study about MPU9250 and that was very useful. thank you in advance.
when i run the code : byte d = readByte(AK8963_ADDRESS, AK8963_WHO_AM_I); // Read WHO_AM_I register for AK8963
Serial.print("AK8963 "); Serial.print("I AM "); Serial.print(d, HEX); Serial.print(" I should be "); Serial.println(0x48, HEX);
i don't get 0x48 and instead i get 0. can you help me out how should i solve this problem ?
i am using a MPU9250 BMP280 SPI IIC/I2C 10DOF Acceleration Gyroscope Compass 9-Axis Sensor Board Module GY-91 along with Arduino uno.
thank you for replying !
yes i use arduino UNO as master and yes i can see the MPU9250 on 0x71 and the WHO AM I for that is working properly but not for gyroscope.
i didn't get what u mean by enabling pass through I2C can you explain more please ?
Not sure, are you using I2C with the Arduino UNO as master? Do you see the MPU6500 on the I2C bus at 0x71? Did you enable pass through I2C?
…
On Mon, Nov 8, 2021 at 11:42 PM vahidyazdnian13 @.***> wrote: hi ! i used your study about MPU9250 and that was very useful. thank you in advance. when i run the code : byte d = readByte(AK8963_ADDRESS, AK8963_WHO_AM_I); // Read WHO_AM_I register for AK8963 Serial.print("AK8963 "); Serial.print("I AM "); Serial.print(d, HEX); Serial.print(" I should be "); Serial.println(0x48, HEX); i don't get 0x48 and instead i get 0. can you help me out how should i solve this problem ? i am using a MPU9250 BMP280 SPI IIC/I2C 10DOF Acceleration Gyroscope Compass 9-Axis Sensor Board Module GY-91 along with Arduino uno. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#471>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABTDLKWAZ4NQAQYBLPQKZELULDGGTANCNFSM5HUSRWTQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
thank you so much ! i didn't consider this point.
i have one more question. i am using the code in" MPU9250BasicAHRS" ,so i should add this point to it right? i am wondering if i should add a interrupt pin from MPU9250 to arduino or not ?
From the initMPU9250 function https://github.com/kriswiner/MPU9250/blob/master/MPU9250_BME280_SPIFlash_Ladybug/MPU9250.cpp there is this bit: // Configure Interrupts and Bypass Enable // Set interrupt pin active high, push-pull, hold interrupt pin level HIGH until interrupt cleared, // clear on read of INT_STATUS, and enable I2C_BYPASS_EN so additional chips // can join the I2C bus and all can be controlled by the Arduino as master // writeByte(MPU9250_ADDRESS, INT_PIN_CFG, 0x22); writeByte(MPU9250_ADDRESS, INT_PIN_CFG, 0x12); // INT is 50 microsecond pulse and any read to clear writeByte(MPU9250_ADDRESS, INT_ENABLE, 0x01); // Enable data ready (bit 0) interrupt So check the data sheet/register map for the INT_PIN_CFG register. There is a bit there that allows I2C pass through so the host can communicate directly with the AK8193C. On Tue, Nov 9, 2021 at 11:23 AM vahidyazdnian13 @.> wrote:
…
thank you for replying ! yes i use arduino UNO as master and yes i can see the MPU9250 on 0x71 and the WHO AM I for that is working properly but not for gyroscope. i didn't get what u mean by enabling pass through I2C can you explain more please ? Not sure, are you using I2C with the Arduino UNO as master? Do you see the MPU6500 on the I2C bus at 0x71? Did you enable pass through I2C? … <#m_8598163716039909656_> On Mon, Nov 8, 2021 at 11:42 PM vahidyazdnian13 @.> wrote: hi ! i used your study about MPU9250 and that was very useful. thank you in advance. when i run the code : byte d = readByte(AK8963_ADDRESS, AK8963_WHO_AM_I); // Read WHO_AM_I register for AK8963 Serial.print("AK8963 "); Serial.print("I AM "); Serial.print(d, HEX); Serial.print(" I should be "); Serial.println(0x48, HEX); i don't get 0x48 and instead i get 0. can you help me out how should i solve this problem ? i am using a MPU9250 BMP280 SPI IIC/I2C 10DOF Acceleration Gyroscope Compass 9-Axis Sensor Board Module GY-91 along with Arduino uno. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#471 <#471>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABTDLKWAZ4NQAQYBLPQKZELULDGGTANCNFSM5HUSRWTQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub . — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#471 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABTDLKULG52ZO6XT5DUZ2MTULFYMDANCNFSM5HUSRWTQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
now i realized that the point you mentioned was in the last part of "initMPU920" function so i think it does enable it but my wiring is like what is mentioned in the top of the arduino code. is that ok ? what more should i do to solve this problem ?