📅  最后修改于: 2020-12-27 10:00:00             🧑  作者: Mango
在本主题中,我们将讨论一个基于加速度计的项目。该值将从加速度计系列中读取,并在Arduino IDE的串行监视器中接收。这意味着将通过串行端口读取和接收数据。
我们将使用三轴加速度计,该加速度计可将每个轴的加速度作为单独引脚的模拟电压。
我们将使用ADXL3xx加速度计系列。例如,ADXL320,ADXL322,ADXL321,ADXL335等。
在该项目中,我们将使用ADXL335加速度计。
什么是加速度计?
加速度计是一种能够检测加速度形式的运动变化的设备。它还可以测量结构的振动。
加速度定义为速度或速度随时间的变化。
运动传感器位于加速度计内部。
加速度计如何工作?
加速度(运动变化)或振动会产生使压电材料受力的力。存在于其中的微观晶体结构从应力中产生电压。加速度计解释该电压。该电压还用于确定方向和速度。
加速度计的用途
下面列出了加速度计的用途:
ADXL335的结构如下所示:
三个轴(X轴,Y轴和Z轴)的位置将根据ADXL335加速度计的位置而变化。
如果我们将电路板固定在不同的位置,则三轴方向也会改变。沿特定方向移动电路板会导致相应轴的电压发生变化。我们可以测量Arduino上变化的电压。
当我们将板子放平时,在Z轴上会出现9.8m / s ^ 2的测量加速度。
也称为重力。这里,
哪里,
G是地球重力引起的加速度。
ADXL335加速度计的灵敏度为:
s = 0.33V / G。
每个ADC(模数转换器)单位的重力为:
这是因为传感器需要3.3V才能工作。
静止时的加速度计将读取其最大模拟电压的一半。
注意:有些加速度计工作在5V,有些则工作在3.3V。我们需要确定电压,因为5V电源可能会损坏3.3V加速度计。
让我们开始这个项目。
该项目所需的组件如下:
我们可以直接将加速度计插入Arduino。这是因为加速度计以最小的电流工作。
Arduino UNO有六个模拟引脚。三个模拟引脚将连接到Vcc,自测和接地引脚。其他三个模拟引脚将用于读取加速度计的模拟输出。
该项目的结构如下所示:
上述项目的连接说明如下:
我们将代码上传到与加速度计连接的Arduino上。在Arduino IDE的串行监视器上可以清楚地看到输出。
考虑下面的代码:
const int GND = A4;
const int PowerPIN = A5;
const int pinOfX = A3;
const int pinOfY= A2;
const int pinOfZ= A1;
void setup()
{
Serial.begin(9600);
pinMode(GND , OUTPUT);
pinMode(PowerPIN , OUTPUT);
digitalWrite(GND , LOW); // configuring the GND pin as LOW
digitalWrite(PowerPIN , HIGH); // configuring the power pin HIGH (5V/3.3V)
}
void loop()
{
// It prints the values of the sensors
Serial.print(analogRead(pinOfX)); // print a tab between values:
Serial.print("\t");
Serial.print(analogRead(pinOfY));
Serial.print("\t");
Serial.print(analogRead(pinOfZ));
Serial.println(); // It delays before next reading
delay(100);
}