常用传感器讲解二十一--加速度传感器(ADXL335)

简介: 常用传感器讲解二十一

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

具体讲解

截屏2023-12-27 下午7.58.32.png

传感器的整个感应范围为±3 g。它可以测量倾斜感应应用中由于重力引起的静态加速度,以及由于运动,冲击或振动而产生的动态加速度。

电路连接

该传感器的工作电压为1.8V至3.6VDC(最佳3.3V),通常仅消耗350?A的电流。但是,板载3.3V稳压器使其成为与Arduino等5V微控制器接口的理想选择。

这款面包板友好型电路板将ADXL335的每个引脚都分为6引脚,0.1英寸间距接头。其中包括3个用于X,Y和Z轴测量的模拟输出,2个电源引脚和一个自测引脚,可让在最终应用中检查传感器的功能。

截屏2023-12-27 下午7.58.46.png

截屏2023-12-27 下午7.59.04.png

代码实现

它仅在串行接口的每个轴上显示已校准的传感器输出。

const int xInput = A0;
const int yInput = A1;
const int zInput = A2;

// initialize minimum and maximum Raw Ranges for each axis
int RawMin = 0;
int RawMax = 1023;

// Take multiple samples to reduce noise
const int sampleSize = 10;

void setup() 
{
   
   
    analogReference(EXTERNAL);
    Serial.begin(9600);
}

void loop() 
{
   
   
    //Read raw values
    int xRaw = ReadAxis(xInput);
    int yRaw = ReadAxis(yInput);
    int zRaw = ReadAxis(zInput);

    // Convert raw values to 'milli-Gs"
    long xScaled = map(xRaw, RawMin, RawMax, -3000, 3000);
    long yScaled = map(yRaw, RawMin, RawMax, -3000, 3000);
    long zScaled = map(zRaw, RawMin, RawMax, -3000, 3000);

    // re-scale to fractional Gs
    float xAccel = xScaled / 1000.0;
    float yAccel = yScaled / 1000.0;
    float zAccel = zScaled / 1000.0;

    Serial.print("X, Y, Z  :: ");
    Serial.print(xRaw);
    Serial.print(", ");
    Serial.print(yRaw);
    Serial.print(", ");
    Serial.print(zRaw);
    Serial.print(" :: ");
    Serial.print(xAccel,0);
    Serial.print("G, ");
    Serial.print(yAccel,0);
    Serial.print("G, ");
    Serial.print(zAccel,0);
    Serial.println("G");

    delay(200);
}

// Take samples and return the average
int ReadAxis(int axisPin)
{
   
   
    long reading = 0;
    analogRead(axisPin);
    delay(1);
    for (int i = 0; i < sampleSize; i++)
    {
   
   
    reading += analogRead(axisPin);
    }
    return reading/sampleSize;
}

截屏2023-12-27 下午7.59.25.png

相关文章
|
4天前
|
传感器 监控 自动驾驶
LabVIEW开发基于直流电机的高精度定位火星车
LabVIEW开发基于直流电机的高精度定位火星车
13 3
|
4天前
|
传感器 存储 芯片
毕业设计 基于51单片机环境监测设计 光照 PM2.5粉尘 温湿度 2.4G无线通信
毕业设计 基于51单片机环境监测设计 光照 PM2.5粉尘 温湿度 2.4G无线通信
|
4天前
|
传感器
|
4天前
|
传感器
|
4天前
|
传感器 机器人
|
11月前
|
传感器 数据采集 机器人
LabVIEW控制Arduino实现红外测距(进阶篇—6)
红外测距是一种非直接接触的测量方式,由于其结构简单、抗干扰性强、成本低等优点,在测量测绘上得到广泛的运用。
|
12月前
|
传感器 前端开发 机器人
基于单片机的智能循迹避障小车STC89C52红外对管L298N驱动PWM波控制速度
利用红外对管检测黑线与障碍物,并以STC89C52单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。其中小车驱动由L298N驱动电路完成,速度由单片机输出的PWM波控制。
228 0
|
存储 编解码 芯片
基于单片机设计的遥控数字音量控制D类功率放大器设计
基于单片机设计的遥控数字音量控制D类功率放大器设计
237 1
基于单片机设计的遥控数字音量控制D类功率放大器设计
http://www.vxiaotou.com