相关商品
相关文章
- 【奥松新品】首款带车轮Arduino控制板亮相——Arduino Robot
- 【奥松新品】Arduino极客爱:全新无线Linux板–Arduino Yun
- 【奥松新品】Arduino家族新宠儿——以ARM为核心的Arduino Due
- [转载] Andrew "bunnie" Huang:开源硬件、创客与硬件黑客
- 【奥松新品】基于Arduino、ADXL335与APC220的无线遥控器
- 【奥松新品】MEAS压电式震动传感器测评
- 【奥松新品】基于Arduino的触摸式变色台灯
- 【奥松新品】集成了Arduino控制器的Ethernet评测
- 【奥松新品】Pololu Zumo Arduino履带相扑机器人测评(上)
- 【奥松新品】AS-6DOFB六自由度机械臂玩家测评
- 【奥松新品】Pololu Zumo Arduino履带相扑机器人测评(下)
- 【奥松新品】Zumo Robot Kit for Arduino零部件实测
- 【奥松新品】Simulator for Arduino 模拟器使用评测
- 【新书】《Arduino机器人制作指南》助你圆梦
- 【新书】《Arduino机器人权威指南》于欣龙译著重磅发行
- 【新书】《爱上机器人:学Arduino玩转机器人制作》
- 【奥松新品】源自Sparkfun——SOUND DETECTOR声音检测传感器评测
- 【奥松新品】水蒸气传感器,打造属于你的“晴雨表”
- 【奥松新品】好玩的百变盒子
- 【奥松新品】树莓派7寸触摸屏 轻松点控尽显掌中
- 【奥松新品】小身体,大数据——模拟声音传感器
- 【奥松新品】Speaker发声模块——打造自己的音乐盒
- 【奥松新品】条形LED模块——制作光线强度指示灯
- 【奥松新品】TEMT6000光敏传感器——感光灯制作
- 【奥松新品】可调微型直流潜水泵
- 【新书】《Arduino制作手册》于欣龙推荐
- 【新书】《Arduino 完全实战》经典之作,奥松创始人于欣龙推荐!
- 【好书推荐】《Arduino从基础到实践》手把手50个案例教你玩转Arduino
- 【新讯快递】Arduino UNO控制器的新小伙伴 小奥与你深扒Arduino UNO背后的秘密
- 【奥松新品】四位七段数码管——制作时钟
- 【产品测评】基于 ADXL345 三轴加速度计的角度测试仪
【产品测评】基于 ADXL345 三轴加速度计的角度测试仪
编辑:neil2016-09-27 浏览次数:1379
三轴加速度传感器采用ADXL345芯片,此芯片应用MEMS技术,具有SPI和IIC数字输出功能,芯片小巧轻薄,功耗低,量程可变,分辨率高。外形尺寸仅为3mm×5mm×1mm;在典型电压Vs=2.5V时功耗电流约为25~130μA,最大量程可达±16g,另可选择±2、±4、±8g 量程,可采用固定的4mg/LSB 分辨率模式,该分辨率可测得0.25°的倾角变化。
ADXL345非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。该器件提供多种特殊检测功能,活动和非活动检测功能。通过比较任意轴上的加速度与用户设置的阈值来检测有无运动发生。敲击检测功能可以检测任意方向的单振和双振动作。自由落体检测功能可以检测器件是否正在掉落。这些功能可以独立映射到两个中断输出引脚中的一个。
下面我们就使用ADXL345三轴加速度计制作角度测试仪
在实验前,先对ADXL345三轴加速度计传感器接口做个简单的介绍
本模块使用ADXL345的IIC通信接口
共有四个引脚分别是:+、-、SDA、SCL
其中+、-是模块的供电Vcc和GND,SDA是IIC的时钟引脚、SCL是IIC的数据引脚
接下来开始进行试验
* 准备硬件
1、Carduino UNO R3 控制器 * 1个
2、LCD12864 液晶扩展板 * 1个
3、杜邦线 * 4条
4、USB数据线 * 1条
* 硬件连接
如图所示:本实验接线非常简单,LCD12864液晶扩展板接口是与Carduino UNO R3控制器完全兼容的,将他们对应插接在一起即可,然后连接ADXL345模块,+、- 分别连接到液晶扩展板的 Vcc(红色排针)、GND(黑色排针),SDA 连接 A4,SCL 连接 A5
* 示例代码
#include "U8glib.h"
#include
#define Register_ID 0 //器件ID
#define Register_2D 0x2D //静止、活动、休眠、唤醒
#define Register_X0 0x32 //X轴数据0
#define Register_X1 0x33 //X轴数据1
#define Register_Y0 0x34 //Y轴数据0
#define Register_Y1 0x35 //Y轴数据1
#define Register_Z0 0x36 //Z轴数据0
#define Register_Z1 0x37 //Z轴数据1
int ADXAddress = 0xA7>>1; //转换为7位地址
int X0,X1,X_out;
int Y0,Y1,Y_out;
int Z1,Z0,Z_out;
int valx,valy,valz;
U8GLIB_MINI12864 u8g(5, 6, 2, 4, 3);
void draw()
{
u8g.setFont(u8g_font_unifont);
u8g.drawStr( 0,11,"x_angle:");
u8g.setPrintPos(70,11);
u8g.print(valx);
u8g.drawStr( 0,36,"y_angle:");
u8g.setPrintPos(70,36);
u8g.print(valy);
u8g.drawStr( 0,63,"z_angle:");
u8g.setPrintPos(70,63);
u8g.print(valz);
}
int Readx()
{
Wire.beginTransmission(ADXAddress);
Wire.write(Register_X0);//请求X0数据
Wire.write(Register_X1);//请求X1数据
Wire.endTransmission();
Wire.requestFrom(ADXAddress,2);//发送请求
if(Wire.available()<=2);
{
X0 = Wire.read();//收到X0数据
X1 = Wire.read();//收到X1数据
X1 = X1<<8;
X_out = X0+X1;
}
valx = map(X_out,-256,256,-90,90);
return valx;
}
int Ready()
{
Wire.beginTransmission(ADXAddress);
Wire.write(Register_Y0);
Wire.write(Register_Y1);
Wire.endTransmission();
Wire.requestFrom(ADXAddress,2);
if(Wire.available()<=2);
{
Y0 = Wire.read();
Y1 = Wire.read();
Y1 = Y1<<8;
Y_out = Y0+Y1;
}
valy = map(Y_out,-256,256,-90,90);
return valy;
}
int Readz()
{
Wire.beginTransmission(ADXAddress);
Wire.write(Register_Z0);
Wire.write(Register_Z1);
Wire.endTransmission();
Wire.requestFrom(ADXAddress,2);
if(Wire.available()<=2);
{
Z0 = Wire.read();
Z1 = Wire.read();
Z1 = Z1<<8;
Z_out = Z0+Z1;
}
valz = map(Z_out,-256,256,-90,90);
return valz;
}
void setup() {
Serial.begin(9600); //设置通信波特率
Wire.begin(); //初始化I2C
Wire.beginTransmission(ADXAddress);//发送芯片地址
Wire.write(Register_2D);//特性控制
Wire.write(8);//关闭休眠模式
Wire.endTransmission();//结束发送
}
void loop() {
valy = Ready();
valx = Readx();
valz = Readz();
u8g.firstPage();
do {
draw();
}
while( u8g.nextPage() );
delay(200);
}
注意此程序需要使用到库文件,大家可以点击此处,进入奥松机器人官方技术论坛,下载模块的示例程序及技术文档
* 程序效果
如图所示:在LCD12864液晶扩展板上会实时显示当前传感器的X、Y、Z轴角度
----------------------------------------------------------------------------------------------------------------
奥松机器人官网:www.robotbase.cn
微信号:搜索公众号“奥松机器人”
QQ群: 271230889(讨论,解惑)
微博:@奥松机器人基地
----------------------------------------------------------------------------------------------------------------
温馨提示:予人玫瑰,手留余香;如果你喜欢这篇文章,不妨转发推荐给你身边的朋友!
用户评价
- 咨询内容:
- 很好
- 管理员:
-
谢谢您的认可,欢迎您咨询问题呢!