三軸加速度計
三軸加速度感應器是利用三個軸向移動的加速度,來算出旋轉的角度,在這篇教學將使用 Webduino 來控制 ADXL345 這個型號的三軸加速度感應器。ADXL345 可以選擇使用 I2C 或 SPI 協定來傳遞資料,而 Arduino 的類比腳使用 I2C,所以這裏我們會使用到的腳位是 GND、VCC、CS、SDA 和 SCL。
範例影片展示
接線與實作
VCC 接在 3.3V 的位置 ( 電壓高於 3.6V 會導致晶片燒毀 );GND 接 GND;CS 和 VCC 接在一起,把 CS 的電位拉高和 VCC 相同,目的在告訴晶片是走 I2C 的協定;IN1 和 IN2 是負責驅動中斷的兩個輸出引腳,在這邊實作的過程不會用到,所以不用接;SDO 屬於 SPI 協定,因此在這個範例也用不到所以不用接。
因為要走 I2C 的協定,所以要在訊號端加入「上拉電阻」,在線路裡分別加入兩顆 10K 的電阻來作為上拉電阻 ( Arduino 官方網站建議使用 10K 的電阻作為上拉或下拉的電阻值 ) 。
接線示意圖:
實際接線照片:
基本操作
打開 Webduino Blockly ( https://blocklypro.webduino.io ),因為這個範例會用網頁「顯示文字」來顯示三軸加速度計偵測到三維空間的數值,所以要先打開 Webduino Blockly 的網頁互動測試區,下拉選單選擇「顯示文字」,此時在右下角會出現對應的積木功能可以選擇。
把開發板放到編輯畫面裡,填入對應的 Webduino 開發板名稱,開發板內放入三軸加速度計的積木,名稱設定為 adxl,SDA 腳位設定 A4,SCL 腳位設定 A5。
三軸加速度計相關積木在「環境偵測 > 三軸加速度計」目錄下。
接著放入「adxl 開始偵測」的積木,使用「顯示」積木顯示偵測到的 x 方向數值。
因為三軸加速度計會回傳五個數值 ( X、Y、Z、Roll、Pitch ),但文字顯示欄位只有一個,為了可以一次將所有數值顯示出來,這裏我們使用「建立字串」的積木,利用藍色小齒輪,增加五個缺口,這樣就可以一次顯示五個數值。
建立字串和文字的積木在「基本功能 > 文字」目錄下。
當然只有數值不夠,還要標示這個數值代表什麼,所以用到二層的「建立字串」積木,裡面放入數值名稱,以及三軸加速度計所偵測到的數值,至於要取出何種數值,可以透過下拉選單選擇,同時文字裡面可以使用<br/>
作為換行表示。
為了避免文字太大,這邊也可以利用文字大小和行高的積木,來調整文字大小。
文字大小與行高的積木在「顯示文字」目錄下
填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,上下左右轉動三軸加速度計,就會看到數值發生變化並且顯示在網頁上。
範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/?demo=demo-area-01#RdWyr20mVb