“蓝牙彩灯”的版本间的差异
853387039@qq.com(讨论 | 贡献) (→硬件搭建) |
(→APP调试) |
||
(未显示3个用户的5个中间版本) | |||
第28行: | 第28行: | ||
| [[mCookie-BM/zh]]||1||电池管理 | | [[mCookie-BM/zh]]||1||电池管理 | ||
|} | |} | ||
− | [[File:ble_lamp.jpg | + | [[File:ble_lamp.jpg|center|600px]] |
==准备== | ==准备== | ||
*Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。 | *Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。 | ||
− | [[ | + | [[Image:CoreUSB_Ble_pc.jpg|600px|center]] |
*Setup 2:点击Files > Examples > mCookie > _103_BLE_Light, 加载程序。或者下载: | *Setup 2:点击Files > Examples > mCookie > _103_BLE_Light, 加载程序。或者下载: | ||
− | [[File:_103_BLE_Light.jpg|600px|center | + | [[File:_103_BLE_Light.jpg|600px|center]] |
+ | * Setup 3:加载代码,选择好板卡和COM端口下载程序。 | ||
==程序说明== | ==程序说明== | ||
第98行: | 第99行: | ||
*Setup 1:程序代码控制用的是A0,所以将灯用连接线将LED灯安装到Hub模块的A0接口上。用户可以自己改。 | *Setup 1:程序代码控制用的是A0,所以将灯用连接线将LED灯安装到Hub模块的A0接口上。用户可以自己改。 | ||
[[File:CoreUSB_Ble_steup1.jpg|600px|center]] | [[File:CoreUSB_Ble_steup1.jpg|600px|center]] | ||
− | + | LED灯的连接方法如图,请注意连接顺序,从LED的IN接口接入,从OUT接口接出本应用最多可控制6个LED灯。 | |
[[File:CoreUSB_Ble_steup11.jpg|600px|center]] | [[File:CoreUSB_Ble_steup11.jpg|600px|center]] | ||
*Setup 2:将激活后的电池盒与BM模块相连. | *Setup 2:将激活后的电池盒与BM模块相连. | ||
第108行: | 第109行: | ||
*Setup 1:扫描左侧的二维码,下载Bluetooth Light APP。 | *Setup 1:扫描左侧的二维码,下载Bluetooth Light APP。 | ||
[[File:app_Ble_steup1.jpg|600px|center]] | [[File:app_Ble_steup1.jpg|600px|center]] | ||
+ | *IOS源代码下载:[https://github.com/zidong0822/MLight2 IOS_MLight] | ||
*Setup 2:载安装App后,打开应用,如果没有打开蓝牙,系统会提示,选择打开。 | *Setup 2:载安装App后,打开应用,如果没有打开蓝牙,系统会提示,选择打开。 | ||
[[File:app_Ble_steup2.jpg|600px|center]] | [[File:app_Ble_steup2.jpg|600px|center]] |
2016年1月11日 (一) 08:00的最新版本
Language | English |
---|
概述通过专用的Android App控制灯光的颜色和亮度。当手机不连接蓝牙能够自动变幻颜色,手机接入后,就可以通过手机控制灯的任意颜色了。 原理系统判断手机蓝牙和mCookie-BT是否建立了连接。当连接时,系统接收手机App传给mCookie-BT的数据,并解析出来,从而控制彩灯的颜色。当蓝牙断开连接时,系统则进入设定好的彩灯变幻模式,除非有蓝牙连接,否则循环在设定的模式中。
设备
准备
程序说明
#define my_Serial Serial1
my_Serial.begin(9600);
#define PIXEL_PIN A0 // Digital IO pin connected to the NeoPixels.
#define PIXEL_COUNT 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip = Adafruit_NeoPixel(6, A0, NEO_GRB + NEO_KHZ800);
sscanf((char *)strstr((char *)buffer, "C:"), "C:%d,%d,%d,%d", &sta[0], &sta[1], &sta[2], &sta[3]);
从代码中可分析传输的协议为:“C:%d,%d,%d,%d”,并且将解析到的4个数据“%d”分别赋值给:sta[0], sta[1], sta[2], sta[3]。前三个数据分别为R,G,B的颜色值,最后一个则为控制模式选择。
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]);
}
如果sta[3]的值为-1,所有连接的灯都是同一个颜色,为接收到的“sta[0], sta[1], sta[2]”组合而来的颜色,即手机上选的颜色。否则将可以单独控制6个灯的颜色。
if (c == '\n')
{
color_en = true;
safe_ms = millis();
}
if (millis() - safe_ms > 3000)//用户可以改时间,3000单位是ms,即3S
{
safe_ms = millis();
color_en = false;
}
硬件搭建
LED灯的连接方法如图,请注意连接顺序,从LED的IN接口接入,从OUT接口接出本应用最多可控制6个LED灯。
APP调试
视频 |