http://www.gharee.com/wiki/index.php?action=history&feed=atom&title=%28SKU%3ARB-01C104%29Arduino_9_Axes_Motion_Shield
123,123,123
2025-06-18T16:20:34Z
本wiki的該頁面的版本歷史
MediaWiki 1.21.2
http://www.gharee.com/wiki/index.php?title=(SKU:RB-01C104)Arduino_9_Axes_Motion_Shield&diff=3543&oldid=prev
Arduino77:以“右 ==產(chǎn)品概述== Arduino 9軸運(yùn)動(dòng)擴(kuò)展板基于德國(guó)博世傳感器技術(shù)有限公司推出的BNO055絕對(duì)方向傳感...”為內(nèi)容創(chuàng)建頁面
2015-10-08T03:38:26Z
<p>以“<a href="/wiki/index.php/%E6%96%87%E4%BB%B6:RB01C10401.png" title="文件:RB01C10401.png">右</a> ==產(chǎn)品概述== Arduino 9軸運(yùn)動(dòng)擴(kuò)展板基于德國(guó)博世傳感器技術(shù)有限公司推出的BNO055絕對(duì)方向傳感...”為內(nèi)容創(chuàng)建頁面</p>
<p><b>新頁面</b></p><div>[[文件:RB01C10401.png|500px|有框|右]]<br />
==產(chǎn)品概述==<br />
Arduino 9軸運(yùn)動(dòng)擴(kuò)展板基于德國(guó)博世傳感器技術(shù)有限公司推出的BNO055絕對(duì)方向傳感器。 BNO055為系統(tǒng)級(jí)封裝(SiP),集成三軸14位加速計(jì)、三軸16位陀螺儀(每秒±2000度)、三軸地磁傳感器和運(yùn)行BSX3.0 FusionLib 軟件的32位微控制器。BNO055有三維加速度、角速度和磁場(chǎng)強(qiáng)度數(shù)據(jù),各自在三個(gè)垂直的軸上。 另外,它還提供傳感器融合信號(hào),如 <br />
四元數(shù)、歐拉角、旋轉(zhuǎn)矢量、線性加速、重力矢量,此外,它還結(jié)合智能中斷引擎,可以基于下述各項(xiàng)觸發(fā)中斷,慢動(dòng)作或誤動(dòng)作識(shí)別,任何動(dòng)作(斜率)檢測(cè),高g檢測(cè)。Arduino 9軸運(yùn)動(dòng)擴(kuò)展板兼容TinkerKit,這意味著你可以通過將TinkerKit模塊插入到電路板上快速創(chuàng)建項(xiàng)目。<br />
<br />
==規(guī)格參數(shù)==<br />
# 工作電壓:5V<br />
# 功耗:50mW<br />
# 供電:Arduino 9軸運(yùn)動(dòng)擴(kuò)展板無電源插孔,只有在連接到電路板時(shí)才能加電。<br />
# TinkerKit 接口:輸入2個(gè)、輸出2個(gè)、TWI 2個(gè)<br />
# 外形尺寸:長(zhǎng)*寬為2.7*2.1英寸<br />
<br />
==接口介紹==<br />
===輸入和輸出===<br />
Arduino 9軸運(yùn)動(dòng)擴(kuò)展板有數(shù)個(gè)TinkerKit輸入/輸出和通信接口。連接TinkerKit模塊可以簡(jiǎn)化項(xiàng)目或原型的創(chuàng)建工作。<br/><br />
板載接口有:<br/><br />
* 2 個(gè)TinkerKit 輸入接口: IN2和IN3(白色),這些接口路由到Arduino A2和A3模擬輸入引腳。<br />
* 2 個(gè)TinkerKit 輸出接口: OUT5和OUT6(橙色),這些接口路由到引腳5和6上的Arduino PWM輸出端口。<br />
* 2 個(gè)TinkerKit TWI: 這些接口(4引腳,白色)在Arduino TWI接口上進(jìn)行路由。兩個(gè)都連接到相同的TWI接口,讓你可以創(chuàng)建一連串的TWI設(shè)備。<br />
===兼容性===<br />
Arduino 9軸運(yùn)動(dòng)擴(kuò)展板兼容Uno、Yùn、Leonardo、Ethernet、Mega和Due電路板。在使用Arduino 9軸運(yùn)動(dòng)擴(kuò)展板時(shí),一定要根據(jù)使用的電路板將中斷橋和重置橋焊接在正確位置。見下表:<br />
[[文件:RB01C10402.png|700px|有框|居中]]<br />
<br />
==例子程序==<br />
以下為傳送加速度計(jì)數(shù)據(jù)的示例代碼<br />
<pre style="color:blue"><br />
#include "NAxisMotion.h" //Contains the bridge code between the API and the Arduino Environment<br />
#include <Wire.h><br />
<br />
NAxisMotion mySensor; //Object that for the sensor<br />
unsigned long lastStreamTime = 0; //To store the last streamed time stamp<br />
const int streamPeriod = 40; //To stream at 25Hz without using additional timers (time period(ms) =1000/frequency(Hz))<br />
bool updateSensorData = true; //Flag to update the sensor data. Default is true to perform the first read before the first stream<br />
<br />
void setup() //This code is executed once<br />
{<br />
//Peripheral Initialization<br />
Serial.begin(115200); //Initialize the Serial Port to view information on the Serial Monitor<br />
I2C.begin(); //Initialize I2C communication to the let the library communicate with the sensor. <br />
//Sensor Initialization<br />
mySensor.initSensor(); //The I2C Address can be changed here inside this function in the library<br />
mySensor.setOperationMode(OPERATION_MODE_NDOF); //Can be configured to other operation modes as desired<br />
mySensor.setUpdateMode(MANUAL); //The default is AUTO. Changing to manual requires calling the relevant update functions prior to calling the read functions<br />
//Setting to MANUAL requires lesser reads to the sensor<br />
mySensor.updateAccelConfig();<br />
updateSensorData = true;<br />
Serial.println();<br />
Serial.println("Default accelerometer configuration settings...");<br />
Serial.print("Range: ");<br />
Serial.println(mySensor.readAccelRange());<br />
Serial.print("Bandwidth: ");<br />
Serial.println(mySensor.readAccelBandwidth());<br />
Serial.print("Power Mode: ");<br />
Serial.println(mySensor.readAccelPowerMode());<br />
Serial.println("Streaming in ..."); //Countdown<br />
Serial.print("3...");<br />
delay(1000); //Wait for a second<br />
Serial.print("2...");<br />
delay(1000); //Wait for a second<br />
Serial.println("1...");<br />
delay(1000); //Wait for a second<br />
}<br />
<br />
void loop() //This code is looped forever<br />
{<br />
if (updateSensorData) //Keep the updating of data as a separate task<br />
{<br />
mySensor.updateAccel(); //Update the Accelerometer data<br />
mySensor.updateLinearAccel(); //Update the Linear Acceleration data<br />
mySensor.updateGravAccel(); //Update the Gravity Acceleration data<br />
mySensor.updateCalibStatus(); //Update the Calibration Status<br />
updateSensorData = false;<br />
}<br />
if ((millis() - lastStreamTime) >= streamPeriod)<br />
{<br />
lastStreamTime = millis();<br />
<br />
Serial.print("Time: ");<br />
Serial.print(lastStreamTime);<br />
Serial.print("ms ");<br />
<br />
Serial.print(" aX: ");<br />
Serial.print(mySensor.readAccelX()); //Accelerometer X-Axis data<br />
Serial.print("m/s2 ");<br />
<br />
Serial.print(" aY: ");<br />
Serial.print(mySensor.readAccelY()); //Accelerometer Y-Axis data<br />
Serial.print("m/s2 ");<br />
<br />
Serial.print(" aZ: ");<br />
Serial.print(mySensor.readAccelZ()); //Accelerometer Z-Axis data<br />
Serial.print("m/s2 ");<br />
<br />
Serial.print(" lX: ");<br />
Serial.print(mySensor.readLinearAccelX()); //Linear Acceleration X-Axis data<br />
Serial.print("m/s2 ");<br />
<br />
Serial.print(" lY: ");<br />
Serial.print(mySensor.readLinearAccelY()); //Linear Acceleration Y-Axis data<br />
Serial.print("m/s2 ");<br />
<br />
Serial.print(" lZ: ");<br />
Serial.print(mySensor.readLinearAccelZ()); //Linear Acceleration Z-Axis data<br />
Serial.print("m/s2 ");<br />
<br />
Serial.print(" gX: ");<br />
Serial.print(mySensor.readGravAccelX()); //Gravity Acceleration X-Axis data<br />
Serial.print("m/s2 ");<br />
<br />
Serial.print(" gY: ");<br />
Serial.print(mySensor.readGravAccelY()); //Gravity Acceleration Y-Axis data<br />
Serial.print("m/s2 ");<br />
<br />
Serial.print(" gZ: ");<br />
Serial.print(mySensor.readGravAccelZ()); //Gravity Acceleration Z-Axis data<br />
Serial.print("m/s2 ");<br />
<br />
Serial.print(" C: ");<br />
Serial.print(mySensor.readAccelCalibStatus()); //Accelerometer Calibration Status (0 - 3)<br />
<br />
Serial.println();<br />
<br />
updateSensorData = true;<br />
}<br />
}</pre><br />
<br />
==產(chǎn)品相關(guān)推薦==<br />
[[文件:erweima.png|230px|無框|右]]<br />
===產(chǎn)品購買地址===<br />
[http://www.gharee.com/goods-696.html Arduino 9 Axes Motion Shield 9軸運(yùn)動(dòng)擴(kuò)展板]<br/><br />
===周邊產(chǎn)品推薦===<br />
[http://www.gharee.com/goods-565.html 9軸姿態(tài)傳感器 LSM9DS0 三軸加速度計(jì) 陀螺儀 磁力計(jì)]<br/><br />
[http://www.gharee.com/goods-660.html Block for Intel Edison 9軸姿態(tài)傳感器]<br/><br />
===相關(guān)問題解答===<br />
<br />
===相關(guān)學(xué)習(xí)資料===<br />
[http://www.arduino.org.cn/products/arduino-9-axes Arduino 9 Axes Motion Shield 官方相關(guān)資料]<br/><br />
[http://download.arduino.org/products/9AXESMOTIONSHIELD/9-AxesMotion-Shield-V8-SCH.pdf Arduino 9 Axes Motion Shield原理圖]<br/><br />
[http://download.arduino.org/products/9AXESMOTIONSHIELD/9-AxesMotion-Shield-V8_rd.zip Arduino 9 Axes Motion Shield原理圖 EAGLE文件下載]<br/><br />
[http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/></div>
Arduino77