AAR¢â ¶óÀ̺귯¸®¸¦ Áö¿øÇÕ´Ï´Ù.
i2c ÁÖ¼Ò 0x68, (ADO ¿¡ HIGH ÀԷ½à 0x69) ADO»ç¿ë.
http://blog.naver.com/roboholic84/220517518443
MPU-9255
ÆÄ¿ö 3~5V I2C Ä¿¹Â´ÏÄÉÀÌ¼Ç ÇÁ·ÎÅäÄÝ 16Bit ADC
ÀÚÀÌ·Î ¼¾¼ Ư¡ ¼¾¼°ª ÀÔ·Â ¹üÀ§¸¦ ¡¾250, ¡¾500, ¡¾1000, ¡¾2000¡Æ/sec ´ÜÀ§·Î Á¶Á¤ÀÌ °¡´ÉÇÕ´Ï´Ù. °¡¼Óµµ ¼¾¼ Ư¡ ¡¾2g, ¡¾4g, ¡¾8g, ¡¾16g ´ÜÀ§·Î Á¶Á¤ÀÌ °¡´ÉÇÕ´Ï´Ù. ÁöÀڱ⠼¾¼ Ư¡ ÃÖ´ë ÃøÁ¤Àº ¡¾4800uT ÀÔ´Ï´Ù.
MPU 9255 DATASHEET
http://43zrtwysvxb2gf29r5o0athu.wpengine.netdna-cdn.com/wp-content/uploads/2015/01/RM-MPU-92551.pdf
¾Æ·¡´Â MPU 9150 Á¦Ç°ÀÇ ³»¿ëÀÔ´Ï´Ù.
MPU-9150Àº 9Ãà(ÀÚÀÌ·Î 3Ãà + °¡¼Óµµ 3Ãà + ÁöÀÚ±â 3Ãà)À» °¡Áø ÀúÀü·Â, Àú°¡ÀÇ ¼¾¼ÀÔ´Ï´Ù. I2C¸¦ ÀÌ¿ëÇÏ¿© µ¥ÀÌÅ͸¦ Àü¼ÛÇϸç Á¡ÆÛ¸¦ ÀÌ¿ëÇÏ¿© ÀåÄ¡ÀÇ I2C ÁÖ¼Ò¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. KB33 ·¹±Ö·¹ÀÌÅͰ¡ ³»ÀåµÇ¾î ÀÖ¾î 3~5V¸¦ Àΰ¡ÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÚÀÌ·Î ¼¾¼ Ư¡ ¼¾¼°ª ÀÔ·Â ¹üÀ§¸¦ ¡¾250, ¡¾500, ¡¾1000, ¡¾2000¡Æ/sec ´ÜÀ§·Î Á¶Á¤ÀÌ °¡´ÉÇÕ´Ï´Ù. ³»Àå 16bit ADC°¡ ÀÚÀÌ·Î °ªÀ» ÃßÃâÇÕ´Ï´Ù. °¡¼Óµµ ¼¾¼ Ư¡ ¡¾2g, ¡¾4g, ¡¾8g, ¡¾16g ´ÜÀ§·Î Á¶Á¤ÀÌ °¡´ÉÇÕ´Ï´Ù. ¿ÜºÎ ¸ÖƼÇ÷º¼°¡ ¿äûÇÏÁö ¾Ê¾Æµµ ³»Àå 16bit ADC·Î °ª ÃßÃâÀÌ °¡´ÉÇÕ´Ï´Ù. ÁöÀڱ⠼¾¼ Ư¡ 3Ãà ½Ç¸®ÄÜ ¸ð³î¸®½Ä(´ÜÀÏ ¾Ï¼® »ç¿ë) ȸ·Î¸¦ »ç¿ëÇÏ¿´½À´Ï´Ù. Ȧ È¿°ú¸¦ »ç¿ëÇÕ´Ï´Ù. ÃÑ 13bit·Î °ªÀ» Ãâ·ÂÇÏ¸ç °¢ 0.3uTÀÇ ºÐÇØ´ÉÀ» °¡Áý´Ï´Ù. ÃÖ´ë ÃøÁ¤Àº ¡¾1200uT ÀÔ´Ï´Ù.
¿¹Á¦ÄÚµå #include const int MPU=0x68; // I2C address of the MPU-9155 int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ; void setup(){ Wire.begin(); Wire.beginTransmission(MPU); Wire.write(0x6B); // PWR_MGMT_1 register Wire.write(0); // set to zero (wakes up the MPU-9155) Wire.endTransmission(true); Serial.begin(9600); } void loop(){ Wire.beginTransmission(MPU); Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H) Wire.endTransmission(false); Wire.requestFrom(MPU,14,true); // request a total of 14 registers AcX=Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L) AcY=Wire.read()<<8|Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L) AcZ=Wire.read()<<8|Wire.read(); // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L) Tmp=Wire.read()<<8|Wire.read(); // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L) GyX=Wire.read()<<8|Wire.read(); // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L) GyY=Wire.read()<<8|Wire.read(); // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L) GyZ=Wire.read()<<8|Wire.read(); // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L) Serial.print("AcX = "); Serial.print(AcX); Serial.print(" | AcY = "); Serial.print(AcY); Serial.print(" | AcZ = "); Serial.print(AcZ); Serial.print(" | Tmp = "); Serial.print(Tmp/340.00+36.53); //equation for temperature in degrees C from datasheet Serial.print(" | GyX = "); Serial.print(GyX); Serial.print(" | GyY = "); Serial.print(GyY); Serial.print(" | GyZ = "); Serial.println(GyZ); delay(333); }
|