“蓝牙彩灯”的版本间的差异
853387039@qq.com(讨论 | 贡献) (Created page with "{{Language| 蓝牙彩灯}} {| style="width: 800px;" |- | ==目的== 通过Android手机结合Microduino-BT与Microduino-CoreUSB进行蓝牙通讯,从而控制彩灯的颜色...") |
853387039@qq.com(讨论 | 贡献) |
||
第40行: | 第40行: | ||
* Setup 2:下载Android客户端。解压安装并打开,如果没有打开蓝牙,会提示用户需要打开蓝牙设备。 | * Setup 2:下载Android客户端。解压安装并打开,如果没有打开蓝牙,会提示用户需要打开蓝牙设备。 | ||
− | [[File:Microduino_BT_Serial_1. | + | [[File:Microduino_BT_Serial_1.png||300px|center|thumb]] |
* Setup 3:点击右上角SCAN搜索设备,设备名为Microduino,点击进行连接。 | * Setup 3:点击右上角SCAN搜索设备,设备名为Microduino,点击进行连接。 | ||
− | [[File:Microduino_BT_Serial_2. | + | [[File:Microduino_BT_Serial_2.png||300px|center|thumb]] |
*步骤七:初始情况在右上角出现Serial Present,等待变成Serial ready,此时就能正常通讯了。 | *步骤七:初始情况在右上角出现Serial Present,等待变成Serial ready,此时就能正常通讯了。 | ||
− | [[File:Microduino_BT_Serial_3. | + | [[File:Microduino_BT_Serial_3.png||300px|center|thumb]] |
− | |||
*APP说明: | *APP说明: |
2015年6月5日 (五) 11:09的版本
Language | English |
---|
目的通过Android手机结合Microduino-BT与Microduino-CoreUSB进行蓝牙通讯,从而控制彩灯的颜色。 原理设备
文档Android客户端: 注意:新版BT是蓝牙4.0,需要Android 4.3以上的系统才能支持。这里只提供Android的APP。 APP下载:'文件:Microduino-LAMP-APP.zip 搭建硬件
软件调试
CoreUSB与蓝牙的通讯串口:Serial1 #define my_Serial Serial1
void ble()
{
while (my_Serial.available())
{
char c = my_Serial.read();
delay(2);
if (c == 'C')
buffer_sta = true;
if (c == '\n')
{
color_en = true;
safe_ms = millis();
}
if (buffer_sta)
{
buffer[buffer_num] = c;
buffer_num++;
}
// Serial.println(c);
//Serial.println(color_en);
}
if (buffer_sta)
{
buffer_sta = false;
sscanf((char *)strstr((char *)buffer, "C:"), "C:%d,%d,%d,%d", &sta[0], &sta[1], &sta[2], &sta[3]);
for (int a = 0; a < buffer_num; a++)
buffer[a] = NULL;
buffer_num = 0;
for (int i = 0; i < 4; i++)
{
Serial.print(sta[i]);
Serial.print(",");
}
Serial.println(" ");
if (-1 == sta[3]) {
colorSet(strip.Color(sta[0], sta[1], sta[2]));
}
else if ((0 <= sta[3]) && (sta[3] < PIXEL_COUNT)) {
colorSet(strip.Color(sta[0], sta[1], sta[2]), sta[3]);
}
}
if (millis() - safe_ms > 3000)
{
safe_ms = millis();
color_en = false;
}
}
当有蓝牙连接时,蓝牙控制灯的颜色 if (-1 == sta[3]) {
colorSet(strip.Color(sta[0], sta[1], sta[2]));
}
else if ((0 <= sta[3]) && (sta[3] < PIXEL_COUNT)) {
colorSet(strip.Color(sta[0], sta[1], sta[2]), sta[3]);
}
否则自动控制颜色 if (!color_en)
{
rainbowCycle(10, 255, 0, 0, 0);
rainbowCycle(10, 255, 0, 0, 1);
rainbowCycle(10, 0, 255, 0, 0);
rainbowCycle(10, 0, 255, 0, 1);
rainbowCycle(10, 0, 0, 255, 0);
rainbowCycle(10, 0, 0, 255, 1);
rainbowCycle(10, 255, 0, 225, 0);
rainbowCycle(10, 255, 0, 225, 1);
rainbowCycle(10, 247, 139, 5, 0);
rainbowCycle(10, 247, 139, 5, 1);
rainbowCycle(10, 255, 255, 0, 0);
rainbowCycle(10, 255, 255, 0, 1);
rainbowCycle(10, 0, 255, 255, 0);
rainbowCycle(10, 0, 255, 255, 1);
for (int i = 0; i < 3; i++)
rainbow(30);
}
结果通过Microduino可以成功实现用手机控制彩灯,得到你想要的任意颜色。你也可以通过乐高搭建一个漂亮的外观。 视频 |