描述
用于 Arduino 的 ADXL335 加速度计
这个
加速度计模块基于流行的 ADXL335 三轴模拟加速度计 IC,它将 X、Y 和 Z 加速度读取为模拟电压。通过测量重力引起的加速度,加速度计可以计算出它相对于地球的倾斜角度。通过感测动态加速度的量,加速度计可以了解设备移动的速度和方向。使用这两个属性,您可以制作各种很酷的项目,从乐器(想象演奏并将倾斜连接到失真水平或弯音)到汽车(或您孩子的汽车)上的速度监视器。加速度计是使用 3 个模拟输入引脚连接到 Arduino 微控制器的非常简单的接口,并且可以与大多数其他微控制器一起使用,例如 PIC 或 AVR。
对于大多数加速度计,操作所需的基本连接是
电源和
通信线路。具有模拟接口的加速度计通过不同的电压水平显示加速度。这些值通常在接地和电源电压电平之间波动。然后可以使用微控制器上的 ADC 读取该值。这些通常比数字加速度计便宜。
ADXL335 是 3 轴加速度计,带有板载稳压器 IC 和信号调理模拟电压输出。该模块由 Analog Devices 的 ADXL335 组成。该产品以 ±3 g 的最小满量程范围测量加速度。它可以测量倾斜感应应用中的静态重力加速度,以及运动、冲击或振动产生的动态加速度。
用户使用 XOUT、YOUT 和 ZOUT 引脚上的 CX、CY 和 CZ 电容器选择加速度计的带宽。可以选择适合应用的带宽,X 轴和 Y 轴的范围为 0.5 Hz 至 1600 Hz,Z 轴的范围为 0.5 Hz 至 550 Hz。这是经过验证的长期系列中的最新产品模拟传感器——加速度计的圣杯。加速度计通常是低功耗设备。所需电流通常在微 (μ) 或毫安范围内 ADXL335 是一款三轴加速度计,具有极低的噪声和功耗——仅 320uA!该传感器具有 +/-3g 的完整感应范围。
有一个板载电压调节器,可让您使用 3V 至 6V DC 为
威廉希尔官方网站
板供电。威廉希尔官方网站
板已完全组装并经过安装外部组件的测试。随附的 0.1uF 电容器将每个轴的带宽设置为 50Hz。
特征:
3V-6V 直流电源电压
板载 LDO 稳压器
可与 3V3 或 5V 微控制器接口。
所有必要的组件都已填充。
超低功耗:测量模式40uA,待机
0.1uA@2.5V
点击/双击检测
自由落体检测
模拟输出
规格:
带调节器的 3 轴加速度计的描述 – ADXL335 如下所示
输入电压范围 (VCC) = 3V3- 6V
如何测试
1. 带调节器的 3 轴加速度计 – 使用 Arduino 的 ADXL335
这是说明如何将 Arduino 连接到 ADXL335 三轴加速度计的指南。下图描述了 Arduino 上的哪些引脚应连接到加速度计上的引脚:
使用 Arduino 板进行测试,示例程序如下所示。使用这个程序,我们在振动期间读取 X、Y 和 Z 轴的输出。
诠释 x; // x 轴变量
整数y; // y轴变量
诠释z; // z 轴变量
/************************************************* *************************************
功能:设置()
描述:用它来初始化变量、引脚模式、开始使用库等。
设置功能只会在每次上电或重启 Arduino 板后运行一次。
****************************************************** *************************************/
无效设置()
{
序列号.开始(9600);// 打开串口,设置数据速率为 9600 bps
}
/************************************************* *************************************
功能:循环()
描述:连续循环,允许您的程序更改和响应。
用它来主动控制 Arduino 板。
****************************************************** *************************************/
无效循环()
{
x = 模拟读取(0);//读取第0个模拟输入引脚
y = 模拟读取(1);//读取第一个模拟输入引脚
z = 模拟读取(2);//读取第二个模拟输入引脚
Serial.print("X = "); // 打印 x adc 值
序列号.println(x);
Serial.print("Y = "); // 打印 y adc 值
序列号.println(y);
Serial.print("Z = "); // 打印 z adc 值
序列号.println(z);
延迟(100);
}
将 ADXL335 模块与 Arduino 连接并上传 Arduino 示例代码。然后打开串口监视器,ADXL335会输出加速度
2. 使用调节器测试 3 轴加速度计——使用 PIC16F877A 的 ADXL335
当将 3 轴加速度计与调节器 - ADXL335 与 PIC16F877A 微控制器连接时,传感器的 X、Y、Z 引脚连接到微控制器的端口 A。这里 X、Y、Z 引脚分别连接到 RA1、RA2、RA3。连接图如下所示
使用调节器测试 3 轴加速度计 – ADXL335 和 PIC16F877A,示例程序如下所示。使用这个程序,我们
#include
#include“延迟.c”
诠释 X_Value=0;
int Y_Value=0;
int Z_Value=0;
无效 ADC_init() ;
无效发送(字符);
int adc_conv(int);
无效的 SerialPortinit() ;
无效发送数据(字符);
无效显示(整数值);
无效 MSdelay(无符号整数);
静态无效 Send2USART(const char *CPtr1);
无效的主要()
{
TRISC=0X80;
TRISE=0X07;
串行端口初始化();
ADC_init();
而(1)
{
Send2USART("X轴:");
X_Value=adc_conv(1);
显示(X_Value);
发送数据(' ');
Send2USART("Y轴:");
Y_Value=adc_conv(2);
显示(Y_值);
发送数据(' ');
Send2USART("Z轴:");
Z_Value=adc_conv(3);
显示(Z_Value);
发送数据('
');
发送数据('
');
}
}
/************************************************* ******************************
* 功能:发送2USART
* 描述:串行发送的一组数据
****************************************************** ******************************/
静态无效 Send2USART(const char *Cptr1)
{
while(*Cptr1 != '