默れ

ADXL345应用——计步器设计(低功耗)

ADXL345寄存器提供低功耗的应用。使用低功耗模式保存DATA_READY中断和FIFO功能,以便加速度数据的后处理。休眠模式提供低数据速率和功耗时,并不进行数据采集。但是,当休眠模式与AUTO_SLEEP模式和链接模式一起使用时,检测到静止时,器件可以自动切换到低

ADXL345应用——计步器设计(软件实现)

经过之前对单双击,摇晃检测等功能的熟悉,在计步器设计中,我们把各种功能糅合在一起,实现计步器初始参数的输入。首先输入身高,LCD屏幕显示“inputhighcm”,等待输入,这里应用

ADXL345应用——计步器设计(附加因素)

得到步伐参数后,我们可以由此计算出人走过的距离甚至消耗的卡路里。人的步距与人身高有关,如下表所示:每2s步数跨步(m/s)0~2身高/52~3身高/43~4身高/34~5身高/25~6身高/1.26~8身高>8身高X1.22秒的时间间隔可以利用采

ADXL345应用——计步器设计(计步算法)

采集到加速度变化信号并进行滤波使其信号波形改善后,要考虑的是计步的算法。系统持续更新3轴加速度的最大值和最小值(在我们这组没有采用三轴加速度测量,仅采用了一个轴),每采样50次更新一次。平均值(Max+Min)/2称为“动

ADXL345应用——计步器设计(软件滤波)

计步器采集到的加速度变化信号由于采样精度、采样频率等原因会有较大毛刺,在上一篇博客中有图示。在算法处理过程中容易发生“误判”,因此为了使数字信号波形变得平滑,需要一个数字滤波器。可以使用四个寄存器和一个求和单元,如下图所示

ADXL345应用——计步器设计(基本原理)

本次夏令营的最后一个题目是计步器,综合了之前几个题目中用到的功能,可以说之前的题目就是为最后的题目做铺垫,首先进行芯片功能应用的熟悉,熟练使用ADuC7026的中断功能和SPI通信,ADXL345各项寄存器的设置,在此基础上完成计步器的设计。&n

摇晃检测主程序

现在把摇晃检测的中断程序加入之前编写的旋转检测和单双击检测主程序中,就可以实现ADXL345多功能检测,为下一步做计步器奠定基础。#include"main.h"#include"xl345.h"#include"Common.h"#include"irq_arm.c"#include&qu

ADXL摇晃检测

检测晃动与检测旋转十分类似,也是检测某一轴的加速度变化,继而判断晃动方向,y轴检测加速度变化,当芯片向左摇动时,检测到y轴加速度为正,输出显示“left”,加速度为负时,输出显示为“right”。寄存器设置与检测旋转类似,设置寄存器ACT

单双击检测主程序

寄存器的设置在前几篇的程序代码中有写出,参考一下就好了。单双击检测的主程序代码在这里和大家分享一下,其实就是添加了一个中断程序,可以与旋转检测的主程序对比一下#include"main.h"#include"xl345.h"#include"Common.h"#incl

ADXL345单双击检测

第二个题目是检测单双击动作ADXL345检测有效单击和双击的敲击中断功能如下图所示:设置双击事件的第一次敲击和第二次敲击事件的延迟时间,在此延迟时间内进行第二次有效敲击,检测到两次有效敲击则输出显示“doubletap”,若未检测到第二次敲击,

旋转检测主程序

下面把进行旋转检测的主程序代码和大家分享一下#include"main.h"#include"xl345.h"#include"Common.h"#include"irq_arm.c"#include"myxl345.h"#include//ThreeAxisAccelerationFlag#defineX_CHANNEL0#defineY_

对ADXL345寄存器的设置

在编写主程序之前,先建立C文件myxl345.c对寄存器进行设置,建立工程只需将该文件添加进去#include"myxl345.h"externunsignedintfifo_flag;externunsignedintr_data[];externlonglong_r_data[];externunsignedintxl345_all[];externlongmean_x;externlo

ADXL345旋转检测

接下来完成的第一个题目是检测旋转,并显示旋转方向首先检测加速度计ADXL345输出x,y,z三轴倾角数据(1)读取寄存器DEVID的值,为0xE5,即器件ID,可知,ADXL345可正常工作。(2)设置寄存器POWER_CTL为0x08,唤醒加速度计并设置为测量状态。每个单轴加速

OCM12864液晶显示程序

现在把液晶显示的程序代码分享给大家#include"OCM12864.h"/*****将字符生产软件得到的每个汉字的32个字符依次存于tab表中*****//*****用PCtoLCD2002软件设置列行式和顺向输出得到对于汉字字符串*****/constuchartab[6*32]={&nb

OCM12864液晶显示

单片机ADuC7026与液晶OCM12864连接,如下图所示实例工程中包含的源文件和头文件共有四个:main.h、main.c、ocm12864.h和ocm12864.c。其他文件均为自动生成。Ocm12864.h文件中主要进行底层IO口的操作,如功能选择、方向设置、