實驗介紹

Download Report

Transcript 實驗介紹

感測網路實做
三軸加速度實驗-ADXL345 sensor
三軸加速度偵測實驗
實驗介紹
• 本實驗使用MCU板與KIT板作為實驗平台
• 使用三軸加速度感測元件做為Input元件
• 本實驗將分成3份PPT:
• Part-1 : ADXL345基本介紹
• Part-2 : ADXL345 SPI-3/SPI-4的編程介紹
• Part-3 : ADXL345 I2C的編程介紹
實驗目標
• 學習三軸加速度感測器ADXL345的使用方式
• 瞭解ADXL345感測器的基本應用
M220 模組介紹
實驗板配置
M220模組接在JP2上
圖待補
M220 三軸加速度感測模組
使用ADXL345做為主要的感測元件
•
•
•
•
支援SPI-3 和 SPI-4
支援I2C
輕薄、低功率
高解析度(13-bit),範圍±16g
• 使用多組暫存器操作狀態
M220 三軸加速度感測模組腳位設計圖
JP2(port , pin)
SDA/SDI/SDIO
(0,0)
SCL/SCLK
(0,1)
SDO/ALT
(0,2)
CS
(0,3)
INT1
(0,4)
VDD
3V
GND
ADXL345 基礎介紹
ADXL345 功能說明
•
•
•
•
支援SPI-3 和 SPI-4
支援I2C
輕薄、低功率
高解析度(13-bit),範圍±16g
• 使用多組暫存器操作狀態
ADXL345 腳位功能說明
• 節錄至ADXL345手冊page.7
ADXL345 SPI/I2C模式選擇方式
• I2C mode : CS 拉成HIGH,要與 VDD 一樣(VDD有3.3v和5v)
• SPI mode : CS 拉成LOW
• SPI的CS由Master控制
• SPI模式預設為SPI-4 mode
※ CS 不可浮接(left unconnected),ADXL345沒有預設模式,
即SPI(CS-1)跟I2C(CS-0)一開始就要選一個
※ 在兩個模式中,若是要寫入資料到ADXL345,那任何要
從ADXL345傳輸資料到Mater的動作都會被忽略
ADXL345 SPI模式
• 支援SPI-3 和 SPI-4
• 由 DATA_FORMAT register決定要用哪個
Address 0x31
(0,1)
(0,0)
(0,2)
(0,0)
(0,1)
(0,2)
(0,3)
(0,3)
ADXL345 SPI-4 Time Diagram
ADXL345 SPI-4 Time Diagram
• ADXL345的取值和寫值的方式,都透過存取register達到,你可
以從上頁的ppt看到紅框處的address bit(詳暫存器設定)
• 先確定好你的傳輸模式(Read/Write)
• 在確定好你要存取的register address
• 在SDI上1Bit、1Bit設定好address
• 然後再依照Time Diagram所示,依序控制腳位
• 如果要Read,則從SDO依序讀出1Bit、1Bit的資料
• 如果要Write,則將資料1Bit、1Bit填入SDI
※Address的第一個bit(W/R)是設定ADXL345處於Read(1)/Write(0)模式
ADXL345 暫存器介紹
ADXL345 暫存器設定
• ADXL345有多組register,手冊Page.24~27有針對各register的詳
細說名。
• 手冊Page.23有各register的初始狀態,這很重要,必須更改初始
狀態,才可以使輸出符合需求。
• 後幾頁PPT會列出幾個本實習會用到的register
•
•
•
•
•
•
•
•
DATA_FORMAT
DATAX0
DATAX1
DATAY0
DATAY1
DATAZ0
DATAZ1
POWER_CTL
0X31
0X32
0X33
0X34
0X35
0X36
0X37
0X2D
資料格式
X軸資料的least significant byte
X軸資料的most significant byte
Y軸資料的least significant byte
Y軸資料的most significant byte
Z軸資料的least significant byte
Z軸資料的most significant byte
電源控制相關
• 詳細請看手冊Page.27
ADXL345 暫存器設定
• DATA_FORMAT register:
• 控制register0x32~0x37之間的資料格式表示方式
• 暫存器位址 : 0x31
• 初始狀態
: 00000000
ADXL345 暫存器設定
• DATA_FORMAT register:
• 數值設定
:
• D6 SPI:
0為SPI-4 模式
1為SPI-3 模式
• D3 FULL_RES:
0為full resolution mode
1為SPI-3 模式
• D1/D0 Range:
00為± 2g
01為± 4g
10為± 8g
11為± 16g
ADXL345 暫存器設定
• POWER_CTL register:
• 暫存器位址 : 0x2D
• 初始狀態: 00000000
ADXL345 數值解析介紹
ADXL345 數值表示
三軸加速度偵測實驗
專案配置
Workspace內的target,使用mcu-kit1內的library
• components\targets\mcu-kit1
三軸加速度偵測實驗
程式設計參考流程圖
三軸加速度偵測實驗
程式設計重點
三軸加速度偵測實驗
實驗題目
將讀取到的XYZ數值分別顯示在螢幕上
完成結果
ADXL345 額外範例
簡易體感操作
ADXL345 額外範例
將ADXL345當作是類似wii的操作手把,屆此控制電腦程式中
的物件,可當作是一個簡易的體感操作練習
ADXL345 額外範例
封包傳輸格式
ADXL345 額外範例
實驗題目
將讀取到的XYZ透過ethernet介面,傳輸到電腦之中,使電腦
的接收程式內的直升機旋轉
完成結果