LoginSignup
2
2

More than 5 years have passed since last update.

NefryでGrove加速度センサを触るメモ

Last updated at Posted at 2017-02-24

前回に続き、NefryでGroveの加速度センサを使ってみます。

Grove - 3-Axis Digital Accelerometer(±1.5g)

スペックはこんな感じです。 Nefryだと3.3V対応しているセンサを使えるのでこのセンサーは問題なく使えます。

Working voltage: 3.0 - 5.5V
Off Mode Current: 0.4μA
Standby Mode Current: 2μA
Active Mode Current: 47 μA at 1 ODR
Test Range: ±1.5g
Sensitivity: 21LSB/g
Suli-compatible Library

ライブラリを読み込む

センサーを扱うために、Seeedの公式サイト経由でAccelerometer_MMA7660ライブラリをダウンロードして使います。

https://github.com/Seeed-Studio/Accelerometer_MMA7660

3軸の加速度に合わせてLEDの色を変える

こんな感じでセンサーを振ると方向によって色が変わるものを作ります。

  • x軸方向 赤色
  • y軸方向 緑色
  • z軸方向 青色

Arduinoのサンプルプログラムに毛が生えたくらいですが以下がプログラムになります。

#include <Nefry.h>
#include <Wire.h>
#include "MMA7660.h"
MMA7660 accelemeter;

void setup()
{
  Nefry.print("Grove 3-Axis Digital Accelerometer");
  Nefry.setLed(0,0,0);
  accelemeter.init();  
}

void loop()
{
  int8_t x;
  int8_t y;
  int8_t z;
  float ax,ay,az;
  accelemeter.getXYZ(&x,&y,&z);
  Nefry.setLed(x,y,z,50);

  Nefry.print("x = ");
    Nefry.println(x); 
    Nefry.print("y = ");
    Nefry.println(y);   
    Nefry.print("z = ");
    Nefry.println(z);

  accelemeter.getAcceleration(&ax,&ay,&az);
    Nefry.println("accleration of X/Y/Z: ");
  Nefry.print(ax);
  Nefry.println(" g");
  Nefry.print(ay);
  Nefry.println(" g");
  Nefry.print(az);
  Nefry.println(" g");
  Nefry.println("*************");
  delay(500);
}
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2