(原创)ADI ADXL345 三轴加速度传感器在博创魔术师嵌入式平台中的测试
0赞概述
ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达± 16g。数字输出数据为16位二进制
补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345非常适合移动设备应用。它可以在倾斜检测应用
中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到1.0°的
倾斜角度变化。
该器件提供多种特殊检测功能。活动和非活动检测功能通过比较任意轴上的加速度与用户设置的阈值来检测有无运动发生。敲击检测功能可以检测任意方向的单振和双振动作。自由落体检测功能可以检测器件是否正在掉落。这些功能可以独立映射到两个中断输出引脚中的一个。
测试环境
♦ 硬件:UP-Magic魔法师实训平台,ADXL345三轴加速度传感器模块,PC机Pentium 500以上, 硬盘40G以上,
内存大于256M
♦ 软件:Vmware Workstation +RHEL4 + MiniCom/Xshell + ARM-LINUX交叉编译开发环境
实验步骤
♦ 实验目录:lis331
♦ 编译源程序
1、进入实验目录:
[sprife@localhost UP-Magic_Moudles]$ cd lis331/
[sprife@localhost lis331]$ ls
test UP-Magic-0303.pdf
[sprife@localhost lis331]$
ADXL345三轴加速度传感器使用LINUX内核自带的IIC总线驱动,因此无需另外加载驱动。
2、编译三轴加速度传感器应用程序
[sprife@localhost lis331]$ ls
test UP-Magic-0303.pdf
[sprife@localhost lis331]$ cd test/
[sprife@localhost test]$ ls
install.sh Makefile lis331_test.c
[sprife@localhost test]$ make
arm-linux-gcc -c -o lis331_test.o lis331_test.c
arm-linux-gcc -o lis331_test lis331_test.o -lpthread
[sprife@localhost test]$ ls
install.sh lis331_test lis331_test.c lis331_test.o Makefile
当前目录下生成ADXL345三轴加速度传感器测试程序lis331_test及测试脚本install.sh
♦ NFS挂载实验目录测试
1、启动 UP-Magic 魔法师实训开发板,连好网线、串口线。将配套ADXL345三轴加速度传感器模块插入底板P1扩展端口。通过串口终端挂载宿主机实验目录。
设置开发板 IP:192.168.1.199 (默认宿主机 LINUX IP 192.168.1.43,NFS 共享目录
/home/sprife)
up-tech:~ #ifconfig eth0 192.168.1.199
up-tech:~ #mount -t nfs -o nolock,rsize=4096,wsize=4096 192.168.1.43:/home/sprife
/mnt/nfs
2、进入串口终端的NFS共享实验目录。
up-tech:~ #cd /mnt/nfs/UP-Magic/UP-Magic_Moudles/lis331
up-tech:/mnt/nfs/UP-Magic/UP-Magic_Moudles/lis331 #ls
UP-Magic-0303.pdf test
up-tech:/mnt/nfs/UP-Magic/UP-Magic_Moudles/lis331 #
3、执行测试程序
up-tech:/mnt/nfs/UP-Magic/UP-Magic_Moudles/lis331 #cd test/
up-tech:/mnt/nfs/UP-Magic/UP-Magic_Moudles/lis331/test #ls
Makefile install.sh lis331_test lis331_test.c
up-tech:/mnt/nfs/UP-Magic/UP-Magic_Moudles/lis331/test #./install.sh
LIS331DL chip ID = 3b
x = 30,y = 210,z = 222
此时程序会循环读取当前传感器X\Y\Z三个方向的移动速度。
♦ 备注:
三轴加速度传感器模块默认使用处理器的IIC总线线,需要连接开发板的P1端口。本
次实验使用的环境可能与用户实验环境不尽相同,用户需要根据具体实验环境进行设置。
例如内核源码目录,NFS共享目录,IP地址等等。
今天小妞居然夺冠了, 看来是出现奇迹的一天,弄了很多天的测试终于成功了,yeah!!!!