A26. ADXL345: 加速規(手勢)

專案說明

使用 ADXL345 來偵測手勢

此為 LinkIt 7697 BlocklyDuino v3 新功能

電路圖

  • LinkIt 7697

  • ADXL345 模塊

  • 麵包板

  • 杜邦線

(圖片由 Fritzing 產生, LinkIt 7697 fritzing 下載)

使用 ADXL345 模組,搭配下面範例需連接以下腳位

  • VCC : 外接 5V 電源供應 (ADXL345 模組通常工作電壓為 3V~5V,所以也可使用 3V3 供應電源)

  • GND : 外接 GND

  • SDA :接到 P9 (LinkIt 7697 的 I2C-DATA 資料腳位)

  • SCL 或 SCK: 接到 P8 (LinkIt 7697 的 I2C-CLK 時序腳位)

可以參考 LinkIt 7697 pin-out diagram 了解更多腳位資訊

積木畫布

產生的 Arduino 程式如下

#include <Wire.h>
#include <adxl345_blockly.h>

ADXL345Block adxl345;

void setup()
{
  adxl345.begin();
  Serial.begin(9600);
}

void loop()
{
  adxl345.detectGesture();

  if (adxl345.isTapDetected()) {
    Serial.println("ADXL345 : 偵測到 點一下");
  }

  if (adxl345.isDoubleTapDetected()) {
    Serial.println("ADXL345 : 偵測到 點兩下");
  }

  if (adxl345.isActivityDetected()) {
    Serial.println("ADXL345 : 偵測到 移動");
  }

  delay(1000);
}
 

去點擊(tap)或碰撞加速規就可以觀測到偵測到手勢

快速點擊兩下,除了會偵測到"點兩下"的手勢,也同時會偵測到"點一下"和"移動" 若程式寫成下面這樣,就只會偵測印出"點一下"而永遠不會印出"點兩下"

Last updated