ADXL345非常强大,有很多内置寄存器,用它为当前的毕业设备制作一个计步器。
用51单片机控制ADXL345与IIC通信。Adxl345权力可以选择单/双电源工作模式,额定电压3.3v,而51单片机使用5v电压,电压转换模块的必要性,焊接更麻烦,花23元(运费12)在互联网上购买Adxl345模块、电压转换为3.3v,可以直接使用。
扩展资料:
与MCU连接:铅坦图1右侧,5V引脚高电平,直槐局桐接GND,3V3,VS,CS未连接,因为模块已经内部连接。在第一个图的左边,SCL和SDA分别连接到51单片机的一个foot上。
SCL模拟时钟信号和SDA传输数据(I2C通信)。SDO未连接。如果使用中断,INT1和INT2分别连腊汪接到INT0和INT1。
表示的是X、Y、Z三个方向的加速度,水平朝上放置时显示的是Z轴方向的加速橡皮为G(重力加速度),X为0,Y为0。当倾斜放置时这个值会变化,是G的分量,绝对衫如和值小于G,X、Y也会相应变化。除了或盯测加速度之外,这个芯片还可以测角度。iic(也叫i2c)模式的连接方法:
---------------------------------------
5V脚接高电平、 GND直接接地 、SCL、SDA分别与单片机某一芹敬脚嫌坦慎(*1)相连,
这两个引脚的作用:SCL模拟时钟信号,SDA传数据(I2C通信)。
其余引脚无需连接。
*1:某一引脚是哪个引脚?以C51单片机为例:
//**********从这里开始修改**********//#define DataPort P1 //LCD1602 数据端口
sbit SCL=P1^0 //IIC 与 SCL 链接的引脚 ***** 第二行
sbit SDA=P1^1 //IIC 与 SDA 链接的引脚 ***** 第三行
sbit LCM_RS=P2^4 //LCD1602 数据端口
sbit LCM_RW=P2^3 //LCD1602 数据端口
sbit LCM_EN=P2^2 //LCD1602 数据端口
//**********改到这里为止!**********//
为上信圆面代码的 2、3行。
具体要做到判断跌倒,这个就比较麻烦了。所有公司的产品都能从传感器读取数据,
然后处理数据,但是,数据的处理考的是算法,算法好产品就好。
防止跌倒的算法有很多种,要实现防跌倒,编程都是不容易的。
比如:
检测到adxl345在某个单位时间的某几个轴上的变化量超过了某值,
就可以假设这个人可能跌倒了,
接下来判断(adxl345可以通过程序读出角度的变化量)角度是否有大的改变?
如果有就判断跌倒,否则复位后重新检测当前状态。
ps:这只是一个小小的个人想法……
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)