Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // MPU-6050 Short Example Sketch
- // By Arduino User JohnChi
- // August 17, 2014
- // Public Domain
- #include<Wire.h>
- const int MPU_addr=0x68 , arraySize = 10; // I2C address of the MPU-6050
- int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ,count = 0;
- int averagex[arraySize] , averagey[arraySize] , averagez[arraySize];
- void setup(){
- Wire.begin();
- Wire.beginTransmission(MPU_addr);
- Wire.write(0x6B); // PWR_MGMT_1 register
- Wire.write(0); // set to zero (wakes up the MPU-6050)
- Wire.endTransmission(true);
- Serial.begin(9600);
- }
- void loop(){
- Wire.beginTransmission(MPU_addr);
- Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
- Wire.endTransmission(false);
- Wire.requestFrom(MPU_addr,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)
- averagex[count % arraySize] = AcX;
- averagey[count % arraySize] = AcY;
- averagez[count % arraySize] = AcZ;
- count++;
- if(count >= 5){
- 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(" ");
- 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(" ");
- 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(" ");
- Serial.print("\n");
- }
- /*Serial.print("AcX = ");*/ //Serial.print(AcX); Serial.print(" ");
- /*Serial.print(" | AcY = ");*/ //Serial.print(AcY); Serial.print(" ");
- /*Serial.print(" | AcZ = ");*/ //Serial.print(AcZ); Serial.print(" ");
- //Serial.print("\n");
- /*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(50);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement