{{ 'fb_in_app_browser_popup.desc' | translate }} {{ 'fb_in_app_browser_popup.copy_link' | translate }}
{{ 'in_app_browser_popup.desc' | translate }}
{{word('consent_desc')}} {{word('read_more')}}
{{setting.description}}
價格均為含稅價,滿1000元享免運優惠!歡迎公司及學校機關團體大量採購,由專人提供專案報價。
{{ childProduct.title_translations | translateModel }}
{{ getChildVariationShorthand(childProduct.child_variation) }}
{{ getSelectedItemDetail(selectedChildProduct, item).childProductName }} x {{ selectedChildProduct.quantity || 1 }}
{{ getSelectedItemDetail(selectedChildProduct, item).childVariationName }}
產品貨號:368031000977
區號:Mb29-17
品牌:
原廠貨號:2472
全店,滿千免運優惠(限郵寄和超商純取貨)
商品存貨不足,未能加入購物車
您所填寫的商品數量超過庫存
{{'products.quick_cart.out_of_number_hint'| translate}}
{{'product.preorder_limit.hint'| translate}}
每筆訂單限購 {{ product.max_order_quantity }} 件
現庫存只剩下 {{ quantityOfStock }} 件
如果您曾經訂購並連接過 9-DOF 感測器,那麼您很可能也意識到將來自加速度計、陀螺儀和磁力計的感測器資料轉換為實際的「3D 空間方向」的挑戰! 方向是一個很難解決的問題。 感測器融合演算法(將加速度計、磁力計和陀螺儀資料混合成穩定的三軸方向輸出的秘密武器)可能非常難以在低成本即時系統上正確實現並實現。
博世是第一家做到這一點的公司,它採用MEMS 加速計、磁力計和陀螺儀,並將它們放在帶有基於高速ARM Cortex-M0 的處理器的單一晶片上,以消化所有感測器數據,提取感測器融合和即時要求離開,並吐出可在四元數、歐拉角或向量中使用的資料。
透過 BNO055(一款智慧 9 自由度感測器,可以自行完成感測器融合),您無需花費數週或數月的時間擺弄不同精度和複雜性的演算法,只需幾分鐘即可獲得有意義的感測器資料! 您可以直接透過 I2C 和 Bob 的叔叔讀取資料。
BNO055可以輸出以下感測器資料:
方便吧? 因此,我們將這個非常好的感測器放在自己的分線上,配有3.3V 穩壓器、重設和I2C 引腳的邏輯電平轉換、外部32.768KHz 晶體(建議獲得最佳性能)以及您可能會發現方便的其他一些引腳的分線。 已組裝並經過測試,帶有一小塊接頭。 將接頭連接到分線 PCB 需要一些焊接,但工作相當簡單。 最重要的是,您可以在 10 分鐘內開始使用我們關於組裝、接線、Arduino 庫和處理圖形介面等的便捷教學!
操作流程
STEP 1. 將欲查詢的模組連接至Arduino UNO(附圖為腳位參考,實際請比對商品標示接線)
STEP 2. 開啟Arduino IDE並新增檔案
STEP 3. 貼入教學下方的範例文件,並上傳到Arduino UNO,即會開始掃描I2C位址
STEP 4. 開啟序列埠監控視窗,即可取得I2C位址
I2C掃描範例程式
/ ---------------------------------------------------------------- / | |
// Arduino I2C Scanner | |
// Re-writed by Arbi Abdul Jabbaar | |
// Using Arduino IDE 1.8.7 | |
// Using GY-87 module for the target | |
// Tested on 10 September 2019 | |
// This sketch tests the standard 7-bit addresses | |
// Devices with higher bit address might not be seen properly. | |
/ ---------------------------------------------------------------- / | |
#include //include Wire.h library | |
void setup() | |
{ | |
Wire.begin(); // Wire communication begin | |
Serial.begin(9600); // The baudrate of Serial monitor is set in 9600 | |
while (!Serial); // Waiting for Serial Monitor | |
Serial.println("\nI2C Scanner"); | |
} | |
void loop() | |
{ | |
byte error, address; //variable for error and I2C address | |
int nDevices; | |
Serial.println("Scanning..."); | |
nDevices = 0; | |
for (address = 1; address < 127; address++ ) | |
{ | |
// The i2c_scanner uses the return value of | |
// the Write.endTransmisstion to see if | |
// a device did acknowledge to the address. | |
Wire.beginTransmission(address); | |
error = Wire.endTransmission(); | |
if (error == 0) | |
{ | |
Serial.print("I2C device found at address 0x"); | |
if (address < 16) | |
Serial.print("0"); | |
Serial.print(address, HEX); | |
Serial.println(" !"); | |
nDevices++; | |
} | |
else if (error == 4) | |
{ | |
Serial.print("Unknown error at address 0x"); | |
if (address < 16) | |
Serial.print("0"); | |
Serial.println(address, HEX); | |
} | |
} | |
if (nDevices == 0) | |
Serial.println("No I2C devices found\n"); | |
else | |
Serial.println("done\n"); | |
delay(5000); // wait 5 seconds for the next I2C scan | |
} |