蓝牙小夜灯

来自Microduino Wikipedia
853387039@qq.com讨论 | 贡献2015年6月10日 (三) 09:37的版本 软件调试
跳转至: 导航搜索
Language English

目的

环境光变暗时开启灯光变幻,否则关闭灯光,同时蓝牙接入可控制灯的任意颜色,当蓝牙断开连接时,环境光控制才有效。

原理

设备

模块 数量 功能
Microduino-CoreUSB/zh 1 核心板
Microduino-Sensorhub/zh 1 传感器转接板
Microduino-BT/zh 1 蓝牙模块
Microduino-Light/zh 1 光敏传感器
Microduino-Lantern/zh 1 彩灯
Microduino-BM/zh 1 电源管理

文档

Android客户端: 注意:新版BT是蓝牙4.0,需要Android 4.3以上的系统才能支持。这里只提供Android的APP。

APP下载:'文件:Microduino-LAMP-APP.zip

搭建硬件

  • Setup 1:将CoreUSB、BT与Sensorhub叠堆。
  • Setup 2:将彩灯接到Sensorhub的D6引脚上,将光敏传感器接到A0引脚上。
Microduino-sensorhub rule.JPG

软件调试

  • Setup 1:搭建开发环境,将CoreUSB接到电脑,下载程序代码。
  • Setup 2:下载Android客户端。解压安装并打开,如果没有打开蓝牙,会提示用户需要打开蓝牙设备。
Microduino BT Serial 1.png
  • Setup 3:点击右上角SCAN搜索设备,设备名为Microduino,点击进行连接。
Microduino BT Serial 2.png
  • Setup 4:初始情况在右上角出现Serial Present,等待变成Serial ready,此时就能正常通讯了。
Microduino BT Serial 3.png
  • APP说明:
    • 如果你有多个彩灯,可通过切换到Multi Color模式来调节,最多接6个。Single Color不管接多少个彩灯,所有灯的颜色都一致。
    • 可通过圆环来调节等的亮度。
    • 可通过底下的开关来切换开启或关闭灯光。
Microduino BT Serial 5.png

代码说明

  • 判断蓝牙是否接入,接入则用蓝牙控制。

蓝牙模块串口使用,需要根据板子上的串口跳线确定,默认的通讯串口0:Serial “ble()”函数是蓝牙接收数据及控制彩灯。

  • 环境光预设值,更改Light的大小就可以改变在某个亮度下开启灯光。
#define Light    100
  • 读取亮度函数
ightValue = analogRead(Light_PIN);
  • 若蓝牙无接入,判断环境参数低于预设值则开启灯光,否则,关闭灯光。
if (!color_en && lightValue < Light)
  {
    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);
  }
  else if (!color_en)
    colorSet(strip.Color(0, 0, 0));

结果

当蓝牙接入时蓝牙控制,蓝牙断开时环境参数低于预设值开启灯光,否则,关闭灯光。你也可以通过乐高搭建一个漂亮的外观。

视频