释放双眼,带上耳机,听听看~!
硬件要求电路用Memsic(美新半导体)上的小三角来标定你开发板上的感应器。连接Memsic 2125的5V和GND引脚到开发板上的电源和地。连接开发板上的数字引脚pin2到加速计的X out引脚。连接数字引脚pin3到加速计的Y out引脚。
目录
简介
- Memsic 2125 (数据手册) 是一个2轴加速计,可以测量达±2g。它有一个简单的数字接口:2pin(一轴一个)发射脉冲,其持续时间和加速计的加速度有关。通过测量脉冲的宽度(微妙级),用pulseIn()函数,是可以确定加速度的速率,并且应用这个数据到你的目标去。
硬件要求
- Arduino or Genuino 开发板
- Memsic 2125 加速计
- 连接线
- 开发板
电路
- 用Memsic(美新半导体)上的小三角来标定你开发板上的感应器。连接Memsic 2125的5V和GND引脚到开发板上的电源和地。连接开发板上的数字引脚pin2到加速计的X out引脚。连接数字引脚pin3到加速计的Y out引脚。
- 你的Arduino或者Genuino开发板必须连接到你的电脑以便传输串口数据。
原理图
样例代码
打开Arduino IDE的串口监视器,看从加速计读取的数值。
/*
Memsic2125
Read the Memsic 2125 two-axis accelerometer. Converts the
pulses output by the 2125 into milli-g's (1/1000 of earth's
gravity) and prints them over the serial connection to the
computer.
The circuit:
* X output of accelerometer to digital pin 2
* Y output of accelerometer to digital pin 3
* +V of accelerometer to +5V
* GND of accelerometer to ground
created 6 Nov 2008
by David A. Mellis
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
*/
// these constants won't change:
const int xPin = 2; // X output of the accelerometer
const int yPin = 3; // Y output of the accelerometer
void setup() {
// initialize serial communications:
Serial.begin(9600);
// initialize the pins connected to the accelerometer
// as inputs:
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
}
void loop() {
// variables to read the pulse widths:
int pulseX, pulseY;
// variables to contain the resulting accelerations
int accelerationX, accelerationY;
// read pulse from x- and y-axes:
pulseX = pulseIn(xPin, HIGH);
pulseY = pulseIn(yPin, HIGH);
// convert the pulse width into acceleration
// accelerationX and accelerationY are in milli-g's:
// earth's gravity is 1000 milli-g's, or 1g.
accelerationX = ((pulseX / 10) - 500) * 8;
accelerationY = ((pulseY / 10) - 500) * 8;
// print the acceleration
Serial.print(accelerationX);
// print a tab character:
Serial.print("\t");
Serial.print(accelerationY);
Serial.println();
delay(100);
}