用DF-BluetoothV3蓝牙串口模块做了个控制灯的实验 。
用DF-BluetoothV3蓝牙串口模块做了个控制灯的实验 。按下触摸开关后,主从模块的 LED都亮了,但是为什么 从模块的 亮度很低呢?有哪位可以解释下 。hnyzcj 发表于 2015-2-27 19:47
BLE-LINK是基于蓝牙4.0的通讯模块,它采用XBEE造型设计,体积尺寸紧凑,兼容XBEE的扩展底座,适用于各种3 ...
现在有些进展了:
单独的两个 BLE LINK 蓝牙4.0通讯模块之间可以通信,但是我不知道如何解码。对应关系如下:
我用串口助手发送一个数字,对应接收模块显示的十六进制数为:
0 3E 00
1 4C 00
2 66 00
. . .
. . .
. . .
10 4C F3 00
11 4C 31 00
等等吧
当把其中一个插到手柄上时,按下按键时,另一个蓝牙串口模块接收不到数据。。
正在寻找问题中。。。
我主要做的是:无线可编程手柄和单片机之间的通信,按下按键通过模块最后单片机可以接收到数据,所以我先测试了下两个模块之间是否可以通信。。 本帖最后由 Eric 于 2014-12-14 13:41 编辑
按发光强度和工作电流分有普通亮度的LED(发光强度100mcd);把发光强度在10~100mcd间的叫高亮度发光二极管。一般LED的工作电流在十几mA至几十mA,而低电流LED的工作电流在2mA以下(亮度与普通发光管相同)。
除上述分类方法外,还有按芯片材料分类及按功能分类的方法
电压
红黄一般是1.8至2.2
蓝绿一般是3.0至3.6
电流小功率的都尽量控制在20MA
做指示用的LED都用10毫安以下比较好,一般用到5毫安就比较亮了。除了蓝色的LED正向电压是3-3.4伏,其他色的都是1.8-2伏。
普通的发光二极管正偏压降红色为1.6V,黄色为1.4V左右,蓝 白 为至少2.5V 。工作电流5-10mA左右
超亮发光二极管主要有三种颜色,然而三种发光二极管的压降都不相同,具体压降参考值如下:
红色发光二极管的压降为2.0--2.2V
黄色发光二极管的压降为1.8—2.0V
绿色发光二极管的压降为3.0—3.2V
正常发光时的额定电流约为20mA。综上所述,绿色的LED穿了电阻需要改小,这样发光就可以变亮些
给UNO烧录代码
烧录代码时,不要忘记拨到Prog一端,烧录完成后,再拨回Run。下载时,不需要安装上面配对时的主从顺序来下载程序,任何一个蓝牙模块都能作为发送端或者接受端。
发送端代码:
void setup(){
Serial.begin(115200); //初始化串口并设置波特率为115200
}
void loop(){
Serial.print("Hello!");
Serial.println("DFRobot");
delay(500);
}
接收端代码:
void setup(){
Serial.begin(115200); //初始化串口并设置波特率为115200
}
void loop(){
char val;
val = Serial.read(); //读串口
if(val!=-1){
Serial.print(val);//将收到是数据再通过串口发送出去
}
} 会不会你接的电阻阻值过大了,这个应该和通信没有关系的 估计是rp问题
从图片上没看到电阻,楼主你是直接将LED接在数字口的吧?同样电压下,红色亮度高于绿色亮度。另外从机您是如何供电的呢? Jane 发表于 2014-12-14 13:01
会不会你接的电阻阻值过大了,这个应该和通信没有关系的
我压根就没有接电阻 Phoebe 发表于 2014-12-14 16:05
从图片上没看到电阻,楼主你是直接将LED接在数字口的吧?同样电压下,红色亮度高于绿色亮度。另外从机您是 ...
直接插13口和GND Eric 发表于 2014-12-14 13:38
按发光强度和工作电流分有普通亮度的LED(发光强度100mcd);把发光强度在10~100mcd间的叫高亮度发光二极 ...
你讲的这个好详细,不过貌似好像与我的这个情况无关。
1.我没有接电阻
2.我调换了灯,还是一样情况。 Eric 发表于 2014-12-14 13:38
按发光强度和工作电流分有普通亮度的LED(发光强度100mcd);把发光强度在10~100mcd间的叫高亮度发光二极 ...
你讲的这个好详细,不过貌似好像与我的这个情况无关。
1.我没有接电阻
2.我调换了灯,还是一样情况。 Eric 发表于 2014-12-14 13:38
按发光强度和工作电流分有普通亮度的LED(发光强度100mcd);把发光强度在10~100mcd间的叫高亮度发光二极 ...
涨姿势了,,,,其实用面包板搭个电路,让3种颜色的LED灯亮度相同还是很折磨人的,,, 不接电阻的话最好用PWM控制电压输出,不然会烧掉LED的。
另外最好在“从机”里面用代码直接驱动一下LED,毕竟通信只是通信,和管脚输出没啥关系的
也可以贴一下你从机的代码出来,大家来看一看,找找问题 hnyzcj 发表于 2014-12-14 17:15
你讲的这个好详细,不过貌似好像与我的这个情况无关。
1.我没有接电阻
2.我调换了灯,还是一样情况。 ...
我看到了,你是直接接的IO口和GND,你改一下,把D13号脚接一个1k电阻,然后再接一个二极管,电阻的一端接二极管的阴极,阳极接+5V,一定灯会亮滴,如果绿灯不亮,你把电阻改成470欧姆,再看看.
Grey 发表于 2014-12-14 19:20
不接电阻的话最好用PWM控制电压输出,不然会烧掉LED的。
另外最好在“从机”里面用代码直接驱动一下LED,毕 ...
是直接驱动的
if (n==1)
{
digitalWrite(13,HIGH); 一般情况下,红色LED的亮度会明显高于绿色的LED,因此,为保证亮度均匀,红色的LED接较大的限流电阻,比如2.2K,绿色的接1K的限流电阻。LED灯直接接在数字管脚上时间不可过长,限流电阻一定要加的,除非你用的就是5V的LED灯。 hnyzcj 发表于 2014-12-14 20:59
是直接驱动的
if (n==1)
{
1 检查一下setup里面 有没有把13号管脚定义为输出
2 亲~换一个管脚试试
3 交换两个LED的位置
4 有万用表的话量一下两个管脚的输出电压 Grey 发表于 2014-12-16 23:04
1 检查一下setup里面 有没有把13号管脚定义为输出
2 亲~换一个管脚试试
3 交换两个LED的位置
回头我试验下 hnyzcj 发表于 2014-12-17 09:22
回头我试验下
不加电阻会极大的损害led的寿命。。 Ricky 发表于 2014-12-21 23:02
不加电阻会极大的损害led的寿命。。
哈哈 答案我来揭示吧,没有将数字口定义输出 大神不要来鄙视我哦 hnyzcj 发表于 2015-1-22 16:14
大神不要来鄙视我哦
淡定,没有将数字口定义输出的事情,以前我也犯过,当时那个郁闷啊。。。