Maksym Buryak
Published © MIT

Primary Flight Display using an Accelerometer

PFD built using MPU6050

IntermediateFull instructions provided2 hours872
Primary Flight Display using an Accelerometer

Things used in this project

Story

Read more

Schematics

Diagram

Wiring

Code

Arduino Sketch

Arduino
Upload this sketch to your Arduino board
#include <Wire.h>

const int MPU_addr = 0x68;

int16_t crv[8];
#define HEADSAM 0xFAFB
#define CRV_HEAD crv[0]
#define CRV_AC_X crv[1]
#define CRV_AC_Y crv[2]
#define CRV_AC_Z crv[3]
#define CRV_TEMP crv[4]
#define CRV_GY_X crv[5]
#define CRV_GY_Y crv[6]
#define CRV_GY_Z crv[7]
byte* buff;

void setup(){
  Wire.begin();
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x6B);
  Wire.write(0);
  Wire.endTransmission(true);
  Serial.begin(9600);
  CRV_HEAD = HEADSAM;
  buff = (byte*) crv;
}
void loop(){
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x3B);
  Wire.endTransmission(false);
  Wire.requestFrom(MPU_addr,14,true);
  CRV_AC_X = Wire.read()<<8|Wire.read(); 
  CRV_AC_Y = Wire.read()<<8|Wire.read();
  CRV_AC_Z = Wire.read()<<8|Wire.read();
  CRV_TEMP = Wire.read()<<8|Wire.read();
  CRV_GY_X = Wire.read()<<8|Wire.read();
  CRV_GY_Y = Wire.read()<<8|Wire.read();
  CRV_GY_Z = Wire.read()<<8|Wire.read();

  CRV_TEMP = CRV_TEMP/340.00+36.53;
  Serial.write(buff, 8*2);
  delay(100);
}

Power-KI Package

Plain text
No preview (download only).

Credits

Maksym Buryak
3 projects • 1 follower

Comments