亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
MPU6050陀螺儀的51+32+arduino驅動 指令校準+上位機+APP+PCB庫
[打印本頁]
作者:
qwer1q
時間:
2018-11-1 11:10
標題:
MPU6050陀螺儀的51+32+arduino驅動 指令校準+上位機+APP+PCB庫
arduino驅動MPU6050陀螺儀,含源碼和上位機測試程序
0.png
(38.75 KB, 下載次數: 90)
下載附件
2018-11-1 13:42 上傳
各嵌入式平臺的源碼都有:
0.png
(3.97 KB, 下載次數: 90)
下載附件
2018-11-1 13:44 上傳
指令校準法
磁場校準方法:
1、 將模塊安裝到設備中固定,并放置水平
2、 分別將三軸磁場偏移值設置為0.發送指令如下:
a) 0xff 0xaa 0x0b 0x00 0x00
b) 0xff 0xaa 0x0c 0x00 0x00
c) 0xff 0xaa 0x0d 0x00 0x00
注意每條指令需間隔100ms
3、 開始統計三軸磁場強度的最大值和最小值,分別計為
HxMax,HxMin,HyMax,HyMin,HzMax,Hzmin。
校準的方式有兩種,一種是平面校準,一種是三維校準。平面校準適用于模塊在平面內工作,俯仰和滾轉為小角度變化的情況,這種可以用平面校準法。如果俯仰角和滾轉角變化較大,則需要用三維校準法。
平面校準法:
將模塊放平,繞Z軸緩慢旋轉360°,同時統計三軸磁場的最大值與最小值,直至最大值與最小值不在發生變化。
三維校準法:
先繞X緩慢旋轉360°,再繞Y軸緩慢旋轉360°,再繞Z軸緩慢旋轉360°,最后再隨意旋轉幾圈,同時統計三軸磁場的最大值與最小值,直至最大值與最小值不在發生變化。
4、 計算磁場偏移值,偏移值為最大值與最小值相加的一半。
HxOffset = (HxMax+HxMin)/2;
HyOffset = (HyMax+HyMin)/2;
HzOffset = (HzMax+HzMin)/2;
5、 將偏移值寫入模塊的寄存器,分別發送指令如下:
a) 0xff 0xaa 0x0b HxOffsetL HxOffsetH
b) 0xff 0xaa 0x0c HyOffsetL HyOffsetH
c) 0xff 0xaa 0x0d HzOffsetL HzOffsetH
注意每條指令需間隔100ms。其中HxOffsetL為第4步中算出的x軸誤差的低字節,HxOffsetH為第4步中算出的x軸誤差的高字節,HyOffsetL, HyOffsetH, HzOffsetL, HzOffsetH同理。
6、 保存當前配置。發送指令0xff 0xaa 0x00 0x00 0x00;
加速度校準方法:
2、 分別將加速度三軸的偏移值設置為0。發送指令如下:
a) 0xff 0xaa 0x05 0x00 0x00
b) 0xff 0xaa 0x06 0x00 0x00
c) 0xff 0xaa 0x07 0x00 0x00
注意每條指令需間隔100ms
3、 將模塊放置水平。
4、 讀取當前加速度的數值,為了計算準確,可多次讀取后取平均。記下當前的三軸加速度值,分別為ax0,ay0,az0.
5、 計算加速度的常值偏差。模塊水平放置的時候,模塊的三軸加速度輸出應該為【0g,0g,1g】,轉換為傳感器的輸出值就是【0,0,2048】。那么三軸加速度的誤差值為:e =【ax0,ay0,az0-2048】。
6、 將三軸的加速度偏移值寫入寄存器,分別發送指令如下:
a) 0xff 0xaa 0x05 exL exH
b) 0xff 0xaa 0x06 eyL eyH
c) 0xff 0xaa 0x07 ezL ezH
注意每條指令需間隔100ms。其中exL為第4步中算出的x軸誤差的低字節,exH為第4步中算出的x軸誤差的高字節,eyL,eyH,ezL,ezH同理。
7、 保存當前配置。發送指令0xff 0xaa 0x00 0x00 0x00;
讀取寄存器方法:
1. 往READADDR(0x27)寄存器里寫入需要讀取的地址,比如要讀取0x05寄存器,那么給模塊發送指令:0xff 0xaa 0x27 0x05 0x00
2. 模塊收到指令以后,將返回數據包0x55 0x5f D1L D1H D2L D2H D3L D3H D4L D4H SUM
其中D1是剛才寫入的寄存器的內容,D2、D3、D4分別是D1后面的寄存器的內容。比如剛才寫入READADDR的內容是0x05,那么D1就是AXOFFSET(0x05),D2就是AYOFFSET(0x06),D3就是AZOFFSET(0x07),D4就是GXOFFSET(0x08)。
附表:
寄存器序號:
#define SAVE 0x00
#define CALSW 0x01
#define RSW 0x02
#define RRATE 0x03
#define BAUD 0x04
#define AXOFFSET 0x05
#define AYOFFSET 0x06
#define AZOFFSET 0x07
#define GXOFFSET 0x08
#define GYOFFSET 0x09
#define GZOFFSET 0x0a
#define HXOFFSET 0x0b
#define HYOFFSET 0x0c
#define HZOFFSET 0x0d
#define D0MODE 0x0e
#define D1MODE 0x0f
#define D2MODE 0x10
#define D3MODE 0x11
#define D0PWMH 0x12
#define D1PWMH 0x13
#define D2PWMH 0x14
#define D3PWMH 0x15
#define D0PWMT 0x16
#define D1PWMT 0x17
#define D2PWMT 0x18
#define D3PWMT 0x19
#define IICADDR 0x1a
#define LEDOFF 0x1b
#define MAGRANGX 0x1c
#define MAGRANGY 0x1d
#define MAGRANGZ 0x1e
#define BANDWIDTH 0x1f
#define GYRORANGE 0x20
#define ACCRANGE 0x21
#define SLEEP 0x22
#define ORIENT 0x23
#define AXIS6 0x24
#define FILTK 0x25
#define GPSBAUD 0x26
#define READADDR 0x27
#define MOVETHR 0x28
#define MOVESTA 0x29
#define ACCFILT 0x2A
#define GYROFILT 0x2b
#define MAGFILT 0x2c
#define RSV6 0x2d
#define RSV7 0x2e
#define RSV8 0x2f
#define YYMM 0x30
#define DDHH 0x31
#define MMSS 0x32
#define MS 0x33
#define AX 0x34
#define AY 0x35
#define AZ 0x36
#define GX 0x37
#define GY 0x38
#define GZ 0x39
#define HX 0x3a
#define HY 0x3b
#define HZ 0x3c
#define Roll 0x3d
#define Pitch 0x3e
#define Yaw 0x3f
#define TEMP 0x40
#define D0Status 0x41
#define D1Status 0x42
#define D2Status 0x43
#define D3Status 0x44
#define PressureL 0x45
#define PressureH 0x46
#define HeightL 0x47
#define HeightH 0x48
#define LonL 0x49
#define LonH 0x4a
#define LatL 0x4b
#define LatH 0x4c
#define GPSHeight 0x4d
#define GPSYAW 0x4e
#define GPSVL 0x4f
#define GPSVH 0x50
#define q0 0x51
#define q1 0x52
#define q2 0x53
#define q3 0x54
#define SVNUM 0x55
#define PDOP 0x56
#define HDOP 0x57
#define VDOP 0x58
#define DELAYT 0x59
#define XMIN 0x5a
#define XMAX 0x5b
#define GXMIN 0x5c
#define GXMAX 0x5d
#define YMIN 0x5e
#define YMAX 0x5f
#define GYMIN 0x60
#define GYMAX 0x61
#define ALARMLEVEL 0x62
#define GYRONOCAL 0x63
核心代碼:
float a[3],w[3],angle[3],T;
extern char Re_buf[11],counter;
extern unsigned char sign;
void main()
{
USART_INIT();
#asm("sei")
while(1)
{
if(sign)
{
sign=0;
if(Re_buf[0]==0x55) //檢查幀頭
{
switch(Re_buf [1])
{
case 0x51:
a[0] = (short(Re_buf [3]<<8| Re_buf [2]))/32768.0*16;
a[1] = (short(Re_buf [5]<<8| Re_buf [4]))/32768.0*16;
a[2] = (short(Re_buf [7]<<8| Re_buf [6]))/32768.0*16;
T = (short(Re_buf [9]<<8| Re_buf [8]))/340.0+36.25;
break;
case 0x52:
w[0] = (short(Re_buf [3]<<8| Re_buf [2]))/32768.0*2000;
w[1] = (short(Re_buf [5]<<8| Re_buf [4]))/32768.0*2000;
w[2] = (short(Re_buf [7]<<8| Re_buf [6]))/32768.0*2000;
T = (short(Re_buf [9]<<8| Re_buf [8]))/340.0+36.25;
break;
case 0x53:
angle[0] = (short(Re_buf [3]<<8| Re_buf [2]))/32768.0*180;
angle[1] = (short(Re_buf [5]<<8| Re_buf [4]))/32768.0*180;
angle[2] = (short(Re_buf [7]<<8| Re_buf [6]))/32768.0*180;
T = (short(Re_buf [9]<<8| Re_buf [8]))/340.0+36.25;
break;
}
}
}
}
}
復制代碼
全部資料51hei下載地址:
MPU6050模塊 加速度角度傳感器電子陀螺儀 卡爾曼濾波串口6軸JY61 1(1).rar
(18.42 MB, 下載次數: 315)
2018-11-1 11:10 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
sixon
時間:
2019-1-2 17:36
看看分享
作者:
zhlip
時間:
2019-1-3 08:47
感謝分享
作者:
人在江湖飄啊飄
時間:
2019-1-31 09:42
很全面
作者:
0..3
時間:
2019-2-19 11:14
pid文件的密碼是什么
作者:
xiaolook10
時間:
2019-2-19 11:29
樓主厲害了
作者:
liuduanqing
時間:
2019-2-19 21:30
很全面感謝
作者:
bdmogui
時間:
2019-2-21 15:45
謝謝分享
作者:
5151du
時間:
2019-3-9 16:32
pid文件的密碼是什么
作者:
六號啦
時間:
2019-3-14 09:28
東西非常全面 感謝樓主分享
作者:
tyuz
時間:
2019-4-15 15:26
感謝分享
作者:
1429055099
時間:
2019-5-21 10:20
謝謝分享
作者:
HongZQ2007
時間:
2019-5-29 10:03
非常感謝您的熱心分享
作者:
shench88
時間:
2019-5-29 11:22
謝謝學習一下
作者:
shench88
時間:
2019-5-29 11:23
謝謝 學習一下
作者:
DF11911
時間:
2019-6-18 20:42
pid密碼是啥
作者:
zxj888
時間:
2019-6-26 10:41
請問pid密碼是啥?
作者:
1604572292
時間:
2019-7-31 20:45
pid文件的密碼是什么
作者:
991025
時間:
2019-8-4 17:20
分享很到位
作者:
991025
時間:
2019-8-4 17:20
很需要
作者:
huangzhanxi
時間:
2020-2-25 14:28
感謝樓主
作者:
fjc1979
時間:
2020-2-29 09:09
很不錯的資料
作者:
75763205
時間:
2020-4-14 14:44
要密碼 是什么情況
作者:
chenyan0701-
時間:
2021-9-16 14:33
pid文件的密碼是什么
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1