Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. // MPU-6050 Short Example Sketch
  2. // By Arduino User JohnChi
  3. // August 17, 2014
  4. // Public Domain
  5. #include<Wire.h>
  6. const int MPU_addr=0x68 , arraySize = 10; // I2C address of the MPU-6050
  7. int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ,count = 0;
  8. int averagex[arraySize] , averagey[arraySize] , averagez[arraySize];
  9. void setup(){
  10. Wire.begin();
  11. Wire.beginTransmission(MPU_addr);
  12. Wire.write(0x6B); // PWR_MGMT_1 register
  13. Wire.write(0); // set to zero (wakes up the MPU-6050)
  14. Wire.endTransmission(true);
  15. Serial.begin(9600);
  16. }
  17. void loop(){
  18. Wire.beginTransmission(MPU_addr);
  19. Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
  20. Wire.endTransmission(false);
  21. Wire.requestFrom(MPU_addr,14,true); // request a total of 14 registers
  22. AcX=Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)
  23. AcY=Wire.read()<<8|Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
  24. AcZ=Wire.read()<<8|Wire.read(); // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)
  25. Tmp=Wire.read()<<8|Wire.read(); // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)
  26. GyX=Wire.read()<<8|Wire.read(); // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
  27. GyY=Wire.read()<<8|Wire.read(); // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
  28. GyZ=Wire.read()<<8|Wire.read(); // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
  29. averagex[count % arraySize] = AcX;
  30. averagey[count % arraySize] = AcY;
  31. averagez[count % arraySize] = AcZ;
  32. count++;
  33. if(count >= 5){
  34. Serial.print((averagex[0]+averagex[1]+averagex[2]+averagex[3]+averagex[4]+averagex[5]+averagex[6]+averagex[7]+averagex[8]+averagex[9]) / arraySize); Serial.print(" ");
  35. Serial.print((averagey[0]+averagey[1]+averagey[2]+averagey[3]+averagey[4]+averagey[5]+averagey[6]+averagey[7]+averagey[8]+averagey[9]) / arraySize); Serial.print(" ");
  36. Serial.print((averagez[0]+averagez[1]+averagez[2]+averagez[3]+averagez[4]+averagez[5]+averagez[6]+averagez[7]+averagez[8]+averagez[9]) / arraySize); Serial.print(" ");
  37. Serial.print("\n");
  38. }
  39.  
  40. /*Serial.print("AcX = ");*/ //Serial.print(AcX); Serial.print(" ");
  41. /*Serial.print(" | AcY = ");*/ //Serial.print(AcY); Serial.print(" ");
  42. /*Serial.print(" | AcZ = ");*/ //Serial.print(AcZ); Serial.print(" ");
  43. //Serial.print("\n");
  44. /*Serial.print(" | Tmp = "); Serial.print(Tmp/340.00+36.53); //equation for temperature in degrees C from datasheet
  45. Serial.print(" | GyX = "); Serial.print(GyX);
  46. Serial.print(" | GyY = "); Serial.print(GyY);
  47. Serial.print(" | GyZ = "); Serial.println(GyZ);*/
  48. delay(50);
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement