极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: Randy

arduino学习笔记40 - Arduino Uno + BMA180三轴加速度计演示实验

[复制链接]
 楼主| 发表于 2012-6-7 12:10:21 | 显示全部楼层
笨笨虎 发表于 2012-6-7 11:01
手里有一些 飞思卡尔的 MMA7660 闲置 看能不能用上

这个啊,我一下发一个MMA7361的教程。应该差不多的哦!至于MMA7660我也没玩过!到时候你记得把实验写一下测评哈!
回复 支持 反对

使用道具 举报

发表于 2012-6-20 15:08:12 | 显示全部楼层
我有问题诶,我的BMA180在坐标轴方向确定无误的情况下,现在x/y/z轴输出加速度值的符号和定义的都是反的。。。
比如x轴正方向向地面倾斜,输出的是负值,正常情况应该是输出正值啊?? y和z轴也是这个问题,奇怪。。。
x轴正方向向地面倾斜时采的数:MSB - 1101 0011, LSB - 1101 0101, 然后组合成 1101 0011 1101 01, 明显是个负数。
回复 支持 反对

使用道具 举报

发表于 2012-7-26 11:05:08 | 显示全部楼层
老大玩的都是高级货,先来MARK!
回复 支持 反对

使用道具 举报

发表于 2012-8-12 13:17:11 | 显示全部楼层
恩,IIC读BMA180时,读到数据都是0,IIC地址
#define BMA180_Addr   0x40
  1. //单字节读取*****************************************
  2. unsigned char Single_Read(unsigned char SlaveAddress,unsigned char REG_Address)
  3. {   unsigned char REG_data;            
  4.         if(!I2C_Start())return FALSE;
  5.     I2C_SendByte(SlaveAddress); //I2C_SendByte(((REG_Address & 0x0700) >>7) | REG_Address & 0xFFFE);//设置高起始地址+器件地址
  6.     if(!I2C_WaitAck()){I2C_Stop();test=1; return FALSE;}
  7.     I2C_SendByte((u8) REG_Address);   //设置低起始地址      
  8.     I2C_WaitAck();
  9.     I2C_Start();
  10.     I2C_SendByte(SlaveAddress+1);
  11.     I2C_WaitAck();

  12.         REG_data= I2C_RadeByte();
  13.     I2C_NoAck();
  14.     I2C_Stop();
  15.     //return TRUE;
  16.         return REG_data;
  17. }               
复制代码
if(!I2C_WaitAck()){I2C_Stop();test=1; return FALSE;}
测得test=1,是不是IIC地址错了??那是多少呢,新手求助
灰常感谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-12 21:14:44 | 显示全部楼层
rellay 发表于 2012-8-12 13:17
恩,IIC读BMA180时,读到数据都是0,IIC地址
#define BMA180_Addr   0x40if(!I2C_WaitAck()){I2C_Stop();t ...

IIC地址我没侧过,你可以用论坛的朋友发的测IIC地址的程序测一下就知道是不是OX40了!
回复 支持 反对

使用道具 举报

发表于 2012-9-4 16:53:44 | 显示全部楼层
为什么我使用Arduino Leonardo的板子测试,得到的加速度输出XYZ分别都是-257,求大神指教
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-9-4 17:27:46 | 显示全部楼层
莫言恐鸣 发表于 2012-9-4 16:53
为什么我使用Arduino Leonardo的板子测试,得到的加速度输出XYZ分别都是-257,求大神指教

我怀疑不是和主板有关,你可以换一个主板试试你就知道了,主板功能都是一样的,还有要注意的是你的代码和电路的连接都是有关系的!一步步检查!
回复 支持 反对

使用道具 举报

发表于 2012-9-15 17:25:04 | 显示全部楼层
我因为不懂买错了,请问下面这个图的bma180怎么跟arduino接上啊?谢谢楼主啦

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-9-15 22:11:11 | 显示全部楼层
zhangzhe0617 发表于 2012-9-15 17:25
我因为不懂买错了,请问下面这个图的bma180怎么跟arduino接上啊?谢谢楼主啦

方法是和我说的接线图一样的。INT只是一个中断脚,不用到的话是不需要的!
回复 支持 反对

使用道具 举报

发表于 2012-9-15 22:19:19 | 显示全部楼层
Randy 发表于 2012-9-15 22:11
方法是和我说的接线图一样的。INT只是一个中断脚,不用到的话是不需要的!

我买的这个bma180没有sdi、sck、sdo接口,只有sda、scl接口。请问这哪个接那个啊,谢谢您啦我这都蒙了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-9-15 22:21:38 | 显示全部楼层
zhangzhe0617 发表于 2012-9-15 22:19
我买的这个bma180没有sdi、sck、sdo接口,只有sda、scl接口。请问这哪个接那个啊,谢谢您啦我这都蒙了

SDA接的是Arduino的A4,SCL接的是Arduino的A5脚,就是所谓的IIC接法。你可以问卖家要资料哦!
回复 支持 反对

使用道具 举报

发表于 2012-9-15 22:29:24 | 显示全部楼层
Randy 发表于 2012-9-15 22:21
SDA接的是Arduino的A4,SCL接的是Arduino的A5脚,就是所谓的IIC接法。你可以问卖家要资料哦!

我问卖家了,他说Arduino上是spi接口,要模拟i2c接口才能连,然后我就迷糊了。lcd也不能正常显示,我怎么才能知道bma180是正常工作的呢?谢谢啦!!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-9-15 22:34:15 | 显示全部楼层
zhangzhe0617 发表于 2012-9-15 22:29
我问卖家了,他说Arduino上是spi接口,要模拟i2c接口才能连,然后我就迷糊了。lcd也不能正常显示,我怎么 ...

想知道结果正不正常,可以通过把数字通过串口监视器输出数字看结果就知道是否正确了哦。SPI模拟IIC请教你的卖家,就是按照我的接法一样的。
回复 支持 反对

使用道具 举报

发表于 2012-9-15 22:42:25 | 显示全部楼层

RE: arduino学习笔记40 - Arduino Uno + BMA180三轴加速度计演示实验

Randy 发表于 2012-9-15 22:34
想知道结果正不正常,可以通过把数字通过串口监视器输出数字看结果就知道是否正确了哦。SPI模拟IIC请教你 ...

我明天问问他再,串口监视器我下了一个什么串口精灵的,结果监视出错没结果。小白起步难啊,谢谢楼主啦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-9-15 23:02:56 | 显示全部楼层
zhangzhe0617 发表于 2012-9-15 22:42
我明天问问他再,串口监视器我下了一个什么串口精灵的,结果监视出错没结果。小白起步难啊,谢谢楼主啦

呵呵,慢慢来,仔细再看一下学习笔记哦!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-2 10:58 , Processed in 0.042926 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表