adxl345+cc2530实验
以前做的一个实验,用adxl345测出三个方向的加速度,再用zigbee把数据传输到上位机。本实验使用了最傻瓜的ZIGBEE透传模式(无视接收方身份,应该是广播吧),同时也最大限度地浪费了cc2530内置的8051 {:soso_e128:}#include <Wire.h>//调用arduino自带的I2C库
#define Register_ID 0
#define Register_2D 0x2D
#define Register_X0 0x32
#define Register_X1 0x33
#define Register_Y0 0x34
#define Register_Y1 0x35
#define Register_Z0 0x36
#define Register_Z1 0x37
int ADXAddress = 0xA7>>1;//转换为7位地址
int reading = 0;
int val = 0;
int X0,X1,X_out;
int Y0,Y1,Y_out;
int Z1,Z0,Z_out;
double Xg,Yg,Zg;
void setup()
{
Serial.begin(38400);//ZigBee
delay(100);
Wire.begin();//初始化I2C
delay(100);
Wire.beginTransmission(ADXAddress);
Wire.send(Register_2D);
Wire.send(8);
Wire.endTransmission();
}
void loop()
{
Wire.beginTransmission(ADXAddress);
Wire.send(Register_X0);
Wire.send(Register_X1);
Wire.endTransmission();
Wire.requestFrom(ADXAddress,2);
if(Wire.available()<=2);
{
X0 = Wire.receive();
X1 = Wire.receive();
X1 = X1<<8;
X_out = X0+X1;
}
Wire.beginTransmission(ADXAddress);
Wire.send(Register_Y0);
Wire.send(Register_Y1);
Wire.endTransmission();
Wire.requestFrom(ADXAddress,2);
if(Wire.available()<=2);
{
Y0 = Wire.receive();
Y1 = Wire.receive();
Y1 = Y1<<8;
Y_out = Y0+Y1;
}
Wire.beginTransmission(ADXAddress);
Wire.send(Register_Z0);
Wire.send(Register_Z1);
Wire.endTransmission();
Wire.requestFrom(ADXAddress,2);
if(Wire.available()<=2);
{
Z0 = Wire.receive();
Z1 = Wire.receive();
Z1 = Z1<<8;
Z_out = Z0+Z1;
}
//
Xg = X_out/256.00;//把输出结果转换为重力加速度g,精确到小数点后2位。
Yg = Y_out/256.00;
Zg = Z_out/256.00;
Serial.println(Xg);
Serial.println(Yg);
Serial.println(Zg);
Serial.println('---------------------'); //
delay(700);//延时0.7秒,刷新频率这里进行调整
} 看了这个图 发现zigbee模块也挺袖珍的 可以考虑入两块玩玩 上图的zigbee模块不是最小size的,还有小很多的 1、ZIGBEE内写了什么代码,或者这个ZIGBEE卖家已家烧成串口透传模块了?
2、ZIGBEE是3.3V的串口吧,直接使用5V驱动?
3、能PM那种更小的ZIGBEE模块型号与淘宝地址吗?
4、淘宝上见过一种ZIGBEE模块,卖家已烧写代码,做点对点传送非常方便 MicroCao 发表于 2013-4-8 11:06 static/image/common/back.gif
1、ZIGBEE内写了什么代码,或者这个ZIGBEE卖家已家烧成串口透传模块了?
2、ZIGBEE是3.3V的串口吧,直接使 ...
透传代码已经写好的
电压是3.3的,nano有3.3输出
图上的模块是 “丘捷” 的产品,TB搜素店名可以找到
我的实验其实是为了验证功耗做的,整套电路工作电流60毫安
我个人认为纯粹为了透传使用zigbee不太好 CC2530本身功能就非常强大了,不利用太可惜:Q:Q wing 发表于 2013-4-8 21:03 static/image/common/back.gif
透传代码已经写好的
电压是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转换接口板以及仿真调适器比较蛋疼。 大部分3.3v的芯片的IO口都可以承受5v的电压,这方面还是比较安全的。
cc2530的技术已经比较成熟,大部分基于该芯片的模块都是同质量的。如果要区分好坏真是要试过才知道了... 隔壁男生 发表于 2013-4-8 21:28 static/image/common/back.gif
CC2530本身功能就非常强大了,不利用太可惜
的确的是这样的,不过就我而言在cc2530上写程序比在AVR上写难太多了 wing 发表于 2013-4-9 10:51 static/image/common/back.gif
大部分3.3v的芯片的IO口都可以承受5v的电压,这方面还是比较安全的。
cc2530的技术已经比较成熟,大部分基 ...
哈哈,买了套学习套件先学习下先。单纯的透传模块还是选不好哪家,先观望一下吧。 请问,如何将CC2530与Arduino uno链接起来,将CC2530无线接收到的数据传送给Arduino 楼主,在吗,我有点事想请教你,真心求教,谢谢了!
页:
[1]