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

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

具体讲解

截屏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月前
|
JSON 物联网 数据处理
C语言中高效处理JSON数据(cJSON库使用教程与入门指南)
cJSON 是轻量级C语言JSON库,适用于嵌入式系统,支持JSON解析与生成。本文详解其安装、使用方法及注意事项,助力C语言开发者高效处理JSON数据,适合初学者入门。
|
10月前
|
前端开发 JavaScript API
【HarmonyOS 5】鸿蒙跨平台开发方案详解(一)
2025年是鸿蒙生态迎来关键发展期。根据前几天的2025 HDC数据显示,鸿蒙原生应用数量已从2024年的2000款增长至5000款,微信鸿蒙版安装量突破1.2亿,公安部交管系统完成全国300城鸿蒙适配。
805 1
|
12月前
|
前端开发 数据挖掘 关系型数据库
‌三三复制公排分销商城系统开发玩法设计‌
三三复制公排分销商城系统是一种结合三级分销、公排与滑落机制的电商平台。用户通过推荐新成员形成下级分销网络,满三后 excess 用户自动滑落至上一级,增加收益机会。系统设有团队奖励、个人业绩奖励及实时数据分析功能,支持多支付方式与商品管理。技术上采用前端响应式设计与后端高效架构,确保安全性与性能优化。开发时需注重合规性、用户体验与数据安全,并持续迭代以满足需求。此模式虽具吸引力,但须谨慎遵守法律法规。
终于有人调查了小模型过拟合:三分之二都有数据污染,微软Phi-3、Mixtral 8x22B被点名
【5月更文挑战第15天】研究人员发现,大型语言模型(LLM)在解决小学算术问题时可能因数据污染导致过拟合,三分之二的模型受影响,包括微软的Phi-3和Mixtral 8x22B。新基准GSM1k显示,一些LLM准确率下降13%,而Gemini/GPT/Claude等展现出较小过拟合。模型对GSM8k的依赖度与其性能差距正相关,提示记忆而非真正推理。论文呼吁研究如何提升LLM的泛化能力。[链接](https://arxiv.org/pdf/2405.00332)
185 2
|
机器学习/深度学习 监控 自动驾驶
卷积神经网络有什么应用场景
【10月更文挑战第23天】卷积神经网络有什么应用场景
2394 2
|
传感器 存储 IDE
Arduino的PID库
Arduino的PID库是一个用于实现比例-积分-微分(PID)控制算法的软件库。它能帮助开发者精确控制各种需要调节的系统,如温度、速度等,通过自动调整参数来达到或维持设定值。使用简单,适用于各种Arduino项目。
1270 3
如何在 Arduino 中使用 PWM
PWM(脉冲宽度调制)是 Arduino 中常用的技术,用于控制电机速度、LED 亮度等。通过设置数字引脚的 `analogWrite()` 函数,可以生成不同占空比的 PWM 信号,实现精确控制。
2484 2
|
C语言
【STM32 CubeMX】移植u8g2(一次成功)
【STM32 CubeMX】移植u8g2(一次成功)
3199 0
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与CUDA:加速深度学习模型训练的最佳实践
【8月更文第27天】随着深度学习应用的广泛普及,高效利用GPU硬件成为提升模型训练速度的关键。PyTorch 是一个强大的深度学习框架,它支持动态计算图,易于使用且高度灵活。CUDA (Compute Unified Device Architecture) 则是 NVIDIA 开发的一种并行计算平台和编程模型,允许开发者直接访问 GPU 的并行计算能力。本文将详细介绍如何利用 PyTorch 与 CUDA 的集成来加速深度学习模型的训练过程,并提供具体的代码示例。
1621 3