极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 31192|回复: 11

adxl345+cc2530实验

[复制链接]
发表于 2013-4-7 20:47:57 | 显示全部楼层 |阅读模式
以前做的一个实验,用adxl345测出三个方向的加速度,再用zigbee把数据传输到上位机。本实验使用了最傻瓜的ZIGBEE透传模式(无视接收方身份,应该是广播吧),同时也最大限度地浪费了cc2530内置的8051 {:soso_e128:}




  1. #include <Wire.h>  //调用arduino自带的I2C库


  2. #define Register_ID 0

  3. #define Register_2D 0x2D

  4. #define Register_X0 0x32

  5. #define Register_X1 0x33

  6. #define Register_Y0 0x34

  7. #define Register_Y1 0x35

  8. #define Register_Z0 0x36

  9. #define Register_Z1 0x37





  10. int ADXAddress = 0xA7>>1;  //转换为7位地址

  11. int reading = 0;

  12. int val = 0;

  13. int X0,X1,X_out;

  14. int Y0,Y1,Y_out;

  15. int Z1,Z0,Z_out;

  16. double Xg,Yg,Zg;



  17. void setup()

  18. {
  19. Serial.begin(38400);  //ZigBee

  20.   delay(100);

  21.   Wire.begin();  //初始化I2C

  22.   delay(100);

  23.   Wire.beginTransmission(ADXAddress);

  24.   Wire.send(Register_2D);

  25.   Wire.send(8);

  26.   Wire.endTransmission();

  27. }



  28. void loop()

  29. {

  30.   Wire.beginTransmission(ADXAddress);

  31.   Wire.send(Register_X0);

  32.   Wire.send(Register_X1);

  33.   Wire.endTransmission();

  34.   Wire.requestFrom(ADXAddress,2);

  35.   if(Wire.available()<=2);

  36.   {

  37.     X0 = Wire.receive();

  38.     X1 = Wire.receive();

  39.     X1 = X1<<8;

  40.     X_out = X0+X1;

  41.   }

  42.   

  43.   Wire.beginTransmission(ADXAddress);

  44.   Wire.send(Register_Y0);

  45.   Wire.send(Register_Y1);

  46.   Wire.endTransmission();

  47.   Wire.requestFrom(ADXAddress,2);

  48.   if(Wire.available()<=2);

  49.   {

  50.     Y0 = Wire.receive();

  51.     Y1 = Wire.receive();

  52.     Y1 = Y1<<8;

  53.     Y_out = Y0+Y1;

  54.   }

  55.   

  56.   Wire.beginTransmission(ADXAddress);

  57.   Wire.send(Register_Z0);

  58.   Wire.send(Register_Z1);

  59.   Wire.endTransmission();

  60.   Wire.requestFrom(ADXAddress,2);

  61.   if(Wire.available()<=2);

  62.   {

  63.     Z0 = Wire.receive();

  64.     Z1 = Wire.receive();

  65.     Z1 = Z1<<8;

  66.     Z_out = Z0+Z1;

  67.   }

  68.    //


  69.   Xg = X_out/256.00;//把输出结果转换为重力加速度g,精确到小数点后2位。

  70.   Yg = Y_out/256.00;

  71.   Zg = Z_out/256.00;

  72. Serial.println(Xg);
  73. Serial.println(Yg);
  74. Serial.println(Zg);
  75. Serial.println('---------------------');   //

  76.   delay(700);  //延时0.7秒,刷新频率这里进行调整
  77. }
复制代码

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2013-4-8 08:32:46 | 显示全部楼层
看了这个图 发现zigbee模块也挺袖珍的 可以考虑入两块玩玩
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-8 10:26:01 | 显示全部楼层
上图的zigbee模块不是最小size的,还有小很多的
回复 支持 反对

使用道具 举报

发表于 2013-4-8 11:06:22 | 显示全部楼层
1、ZIGBEE内写了什么代码,或者这个ZIGBEE卖家已家烧成串口透传模块了?
2、ZIGBEE是3.3V的串口吧,直接使用5V驱动?
3、能PM那种更小的ZIGBEE模块型号与淘宝地址吗?
4、淘宝上见过一种ZIGBEE模块,卖家已烧写代码,做点对点传送非常方便
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-8 21:03:13 | 显示全部楼层
MicroCao 发表于 2013-4-8 11:06
1、ZIGBEE内写了什么代码,或者这个ZIGBEE卖家已家烧成串口透传模块了?
2、ZIGBEE是3.3V的串口吧,直接使 ...

透传代码已经写好的
电压是3.3的,nano有3.3输出
图上的模块是 “丘捷” 的产品,TB搜素店名可以找到

我的实验其实是为了验证功耗做的,整套电路工作电流60毫安
我个人认为纯粹为了透传使用zigbee不太好
回复 支持 反对

使用道具 举报

发表于 2013-4-8 21:28:28 | 显示全部楼层
CC2530本身功能就非常强大了,不利用太可惜
回复 支持 反对

使用道具 举报

发表于 2013-4-8 21:53:17 | 显示全部楼层
wing 发表于 2013-4-8 21:03
透传代码已经写好的
电压是3.3的,nano有3.3输出
图上的模块是 “丘捷” 的产品,TB搜素店名可以找到

但TTL电平是5V的,即然你在用了,应该是没事的。

现在看了淘宝上三家卖zigbee模块(已带自动组网与透传代码的,非那种开发板类的)
1、http://qiujie8.taobao.com
2、http://dtkcn.taobao.com
3、http://zatech.taobao.com
真不知道选哪家下手好,家家都说自己的好
1)、第三家所说的休眠功能,其他的透传功能应该会差不多;
2)、实际应用时第二、三家都有小体积贴片的产品供选择;
3)、第三家没找到合适的USB转换接口板以及仿真调适器比较蛋疼。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-9 10:51:44 | 显示全部楼层
大部分3.3v的芯片的IO口都可以承受5v的电压,这方面还是比较安全的。
cc2530的技术已经比较成熟,大部分基于该芯片的模块都是同质量的。如果要区分好坏真是要试过才知道了...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-9 10:53:46 | 显示全部楼层
隔壁男生 发表于 2013-4-8 21:28
CC2530本身功能就非常强大了,不利用太可惜

的确的是这样的,不过就我而言在cc2530上写程序比在AVR上写难太多了
回复 支持 反对

使用道具 举报

发表于 2013-4-10 11:17:33 | 显示全部楼层
wing 发表于 2013-4-9 10:51
大部分3.3v的芯片的IO口都可以承受5v的电压,这方面还是比较安全的。
cc2530的技术已经比较成熟,大部分基 ...

哈哈,买了套学习套件先学习下先。单纯的透传模块还是选不好哪家,先观望一下吧。
回复 支持 反对

使用道具 举报

发表于 2015-4-2 11:37:43 | 显示全部楼层
请问,如何将CC2530与Arduino uno链接起来,将CC2530无线接收到的数据传送给Arduino
回复 支持 反对

使用道具 举报

发表于 2015-12-9 10:13:24 | 显示全部楼层
楼主,在吗,我有点事想请教你,真心求教,谢谢了!
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 14:48 , Processed in 0.072359 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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