欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1288|回復: 0
打印 上一主題 下一主題
收起左側

arduino MPU6050

[復制鏈接]
跳轉到指定樓層
樓主
ID:235324 發表于 2017-9-24 17:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "Wire.h"        //包含頭文件
#define SMPLRT_DIV   0x19 //陀螺儀采樣率,典型值:0x07(125Hz)
#define CONFIG       0x1A //低通濾波頻率,典型值:0x06(5Hz)
#define GYRO_CONFIG  0x1B //陀螺儀自檢及測量范圍,典型值:0x18(不自檢,2000deg/s)  
#define ACCEL_CONFIG 0x1C //加速計自檢、測量范圍及高通濾波頻率,典型值:0x01(不自檢,2G,5Hz)  
#define ACCEL_XOUT_H 0x3B //定義加速度x軸的高八位[15:8]
#define ACCEL_XOUT_L 0x3C //定義加速度x軸的低八位[7:0]
#define ACCEL_YOUT_H 0x3D //定義加速度y軸的高八位[15:8]
#define ACCEL_YOUT_L 0x3E //定義加速度y軸的低八位[7:0]
#define ACCEL_ZOUT_H 0x3F //定義加速度z軸的高八位[15:8]
#define ACCEL_ZOUT_L 0x40 //定義加速度z軸的低八位[7:0]
#define TEMP_OUT_H  0x41
#define TEMP_OUT_L  0x42
#define GYRO_XOUT_H  0x43 //定義加速度x軸的高八位[15:8]
#define GYRO_XOUT_L  0x44 //定義加速度x軸的低八位[7:0]
#define GYRO_YOUT_H  0x45 //定義加速度y軸的高八位[15:8]
#define GYRO_YOUT_L  0x46 //定義加速度y軸的低八位[7:0]
#define GYRO_ZOUT_H  0x47 //定義加速度z軸的高八位[15:8]
#define GYRO_ZOUT_L  0x48 //定義加速度z軸的低八位[7:0]
#define PWR_MGMT_1   0x6B //電源管理,典型值:0x00(正常啟用)
#define WHO_AM_I     0x75 //IIC地址寄存器(默認數值0x68,只讀)
#define SlaveAddress 0xD0 //IIC寫入時的地址字節數據,+1為讀取
int ax0,ax1,axout;        //定義加速度傳感器從寄存器地址獲取的高八位低八位數據以及輸出的模擬量
int ay0,ay1,ayout;        
int az0,az1,azout;        
int gx0,gx1,gxout;        //定義陀螺儀傳感器從寄存器地址獲取的高八位低八位數據以及輸出的模擬量
int gy0,gy1,gyout;
int gz0,gz1,gzout;
double Xa,Ya,Za;
double Xg,Yg,Zg;
//float aax,aay;
//float pi=3.1415926;
int MPU6050address = 0x68;//MPU6050的地址
void setup()
{
Wire.begin();            //設置I2通信時的本機地址
Serial.begin(9600);
Wire.beginTransmission(MPU6050address);//啟動I2通信,讀取MPU6050地址
// Wire.write(GYRO_CONFIG);//從傳感器寫入數據
// Wire.write(ACCEL_CONFIG);
Wire.write(8);          //寫入8位字節
Wire.endTransmission();//結束通信
}
void loop()
{
   Wire.beginTransmission(MPU6050address);
   Wire.write(ACCEL_XOUT_H);//寫加速度計x軸數據
   Wire.write(ACCEL_XOUT_L);
   Wire.write(GYRO_XOUT_H);//寫陀螺儀計x軸數據
   Wire.write(GYRO_XOUT_L);
   Wire.endTransmission();
   Wire.requestFrom(MPU6050address,2);
    if(Wire.available()<=2);//用于返回接受的字節數
    {
    ax0 = Wire.read();
    ax1 = Wire.read();
    ax1 = ax1<<8;
    axout = ax0+ax1;
   
    gx0 = Wire.read();
    gx1 = Wire.read();
    gx1 = gx1<<8;
    gxout = gx0+gx1;
    }
   
   Wire.beginTransmission(MPU6050address);
   Wire.write(ACCEL_YOUT_H);
   Wire.write(ACCEL_YOUT_L);
   Wire.write(GYRO_YOUT_H);
   Wire.write(GYRO_YOUT_L);
   Wire.endTransmission();
   Wire.requestFrom(MPU6050address,2);
    if(Wire.available()<=2);
    {
    ay0 = Wire.read();
    ay1 = Wire.read();
    ay1 = ay1<<8;
    ayout = ay0+ay1;
   
    gy0 = Wire.read();
    gy1 = Wire.read();
    gy1 = gy1<<8;
    gyout = gy0+gy1;
    }
   
   Wire.beginTransmission(MPU6050address);
   Wire.write(ACCEL_ZOUT_H);
   Wire.write(ACCEL_ZOUT_L);
   Wire.write(GYRO_ZOUT_H);
   Wire.write(GYRO_ZOUT_L);
   Wire.endTransmission();
   Wire.requestFrom(MPU6050address,2);
    if(Wire.available()<=2);
    {
    az0 = Wire.read();
    az1 = Wire.read();
    az1 = ax1<<8;
    azout = az0+az1;
   
    gz0 = Wire.read();
    gz1 = Wire.read();
    gz1 = gz1<<8;
    gzout = gz0+gz1;
    }
   Xa=axout/256.00;      //把輸出結果轉換為重力加速度g,精確到小數點后2位
   Ya=ayout/256.00;
   Za=azout/256.00;
   Xg=gxout/256.00;
   Yg=gyout/256.00;
   Zg=gzout/256.00;
// aax = atan(Xa/Za) * (-180) / pi; //想轉化為角度的,可是感覺到有點不對,就沒寫進去
// aay = atan(Ya/Xa) * (-180) / pi;
   
   Serial.println("Xa:");//輸出6050不同軸采集到的數據
   Serial.print(Xa,DEC);
   Serial.println('\t');
   Serial.println("Ya:");
   Serial.print(Ya,DEC);
    Serial.println('\t');
   Serial.println("Za:");
   Serial.print(Za,DEC);
   Serial.println('\t');
   delay(500);
   Serial.println("Xg:");
   Serial.print(Xg,DEC);
   Serial.println('\t');
   Serial.println("Yg:");
   Serial.print(Yg,DEC);
   Serial.println('\t');
   Serial.println("Zg:");
   Serial.print(Zg,DEC);
   Serial.println('\t');
delay(500);  
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表