“蓝牙小夜灯”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
第4行: 第4行:
 
|
 
|
 
==目的==
 
==目的==
环境光变暗时开启灯光变幻,否则关闭灯光,同时蓝牙接入可控制灯的任意颜色,当蓝牙断开连接时,环境光控制才有效。
+
周围环境暗下来,小夜灯就开始工作了,当小夜灯亮起来的时候,你可以通过蓝牙来控制灯的颜色和亮度的变化。
 +
[[File:ble_night_light-okjpg|600px|center]]
  
 
==原理==
 
==原理==
 +
通过Light光线传感器检测光的强弱,系统判断光为强还是弱,如果光强关闭彩灯,否则就可以通过手机蓝牙来控制灯的颜色。
 +
[[File:ble_night_light-sch.jpg|600px|center]]
  
 
==设备==
 
==设备==
第25行: 第28行:
 
| [[Microduino-BM/zh]]||1||电源管理
 
| [[Microduino-BM/zh]]||1||电源管理
 
|}
 
|}
  [[File:ble_lamp_light.jpg|600px|center|thumb]]
+
  [[File:ble_night_light.jpg|600px|center]]
  
==文档==
+
==准备==
Android客户端:
+
*Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
注意:新版BT是蓝牙4.0,需要Android 4.3以上的系统才能支持。这里只提供Android的APP。
+
[[File:CoreUSB_Ble_pc.jpg|600px|center]]
 +
*Setup 2:点击文件 >示例 > mCookie > _201_CowardlyNightLight_BLE, 加载程序。
 +
[[File: light_indicator-ino.jpg|600px|center]]
 +
* Setup 3:加载代码,将程序代买拷贝到IDE中。程序编译通过后选择好板卡和COM端口下载程序。
 +
[[File: light_indicator-com.jpg|600px|center]]
 +
==程序说明==
 +
“ble()”函数是蓝牙接收数据及控制彩灯。
 +
*定义蓝牙通讯串口
 +
<source lang="cpp">
 +
#define my_Serial Serial1
 +
</source>
 +
*定义传感器引脚,及可连接的灯的数量。
 +
<source lang="cpp">
 +
#define PIXEL_PIN    6    // Digital IO pin connected to the NeoPixels.
 +
#define PIXEL_COUNT  2
  
APP下载:'''[[File:Microduino-LAMP-APP.zip]]''
+
#define lightSensorPin  A0
 +
</source>
  
==搭建硬件==
 
*Setup 1:将CoreUSB、BT与Sensorhub叠堆。
 
[[File:CoreUSB_Ble_Sensorhub.jpg|600px|center|thumb]]
 
*Setup 2:将彩灯接到Sensorhub的D6引脚上,将光敏传感器接到A0引脚上。
 
[[file:mCookie-sensorhub_rule.JPG|thumb|800px|center]]
 
[[File:light_colorled_ble.jpg|600px|center|thumb]]
 
 
==软件调试==
 
*Setup 1:搭建开发环境,将CoreUSB接到电脑,下载程序代码。
 
[https://github.com/Microduino/Microduino_Tutorials/blob/master/MCookie_Tutorial/ble_led_light/ble_led_light.ino ble_led_light]
 
*Setup 2:下载Android客户端。解压安装并打开,如果没有打开蓝牙,会提示用户需要打开蓝牙设备。
 
[[File:Microduino_BT_Serial_1.png||300px|center|thumb]]
 
*Setup 3:点击右上角SCAN搜索设备,设备名为Microduino,点击进行连接。
 
[[File:Microduino_BT_Serial_2.png||300px|center|thumb]]
 
*Setup 4:初始情况在右上角出现Serial Present,等待变成Serial ready,此时就能正常通讯了。
 
[[File:Microduino_BT_Serial_3.png||300px|center|thumb]]
 
 
*APP说明:
 
**如果你有多个彩灯,可通过切换到Multi Color模式来调节,最多接6个。Single Color不管接多少个彩灯,所有灯的颜色都一致。
 
**可通过圆环来调节等的亮度。
 
**可通过底下的开关来切换开启或关闭灯光。
 
[[File:Microduino_BT_Serial_5.png||300px|center|thumb]]
 
 
代码说明
 
*判断蓝牙是否接入,接入则用蓝牙控制。
 
蓝牙模块串口使用,需要根据板子上的串口跳线确定,默认的通讯串口0:Serial
 
“ble()”函数是蓝牙接收数据及控制彩灯。
 
 
*环境光预设值,更改Light的大小就可以改变在某个亮度下开启灯光。
 
*环境光预设值,更改Light的大小就可以改变在某个亮度下开启灯光。
 
<source lang="cpp">
 
<source lang="cpp">
#define Light    100
+
#define lightSwitch  700
 
</source>
 
</source>
 
*读取亮度函数
 
*读取亮度函数
 
<source lang="cpp">
 
<source lang="cpp">
ightValue = analogRead(Light_PIN);
+
sensorValue = analogRead(lightSensorPin);
 
</source>
 
</source>
*若蓝牙无接入,判断环境参数低于预设值则开启灯光,否则,关闭灯光。
+
*判断环境参数低于预设值则开启灯光,并且通过蓝牙控制,否则关闭灯光。
 
<source lang="cpp">
 
<source lang="cpp">
if (!color_en && lightValue < Light)
+
  if(sensorValue>lightSwitch) {
  {
+
    Serial.println(sensorValue);
     rainbowCycle(10, 255, 0, 0, 0);
+
     strip.setPixelColor(0, strip.Color(0, 0, 0));
     rainbowCycle(10, 255, 0, 0, 1);
+
     strip.setPixelColor(1, strip.Color(0, 0, 0));
 +
    strip.show();
 +
  } else {
 +
      ble();
 +
      if (!color_en) {
 +
        for (int i = 0; i < 1; i++)
 +
          rainbow(10);
 +
      }
 +
  }
 +
</source>
 +
==调试代码==
 +
*通过CoreUSB模块连接电脑并加载程序后,点击串口监视器,会弹出一个窗口,里面会显示光线传感器接收到的光线值的变化。
 +
[[File:CoreUSB_light_ino1.jpg|600px|center]]
 +
当前设定的感光值是700,你可以尝试根据之前监测出来的数据在程序中更改这一数值,重新刷入程序,看看会产生什么效果。
  
    rainbowCycle(10, 0, 255, 0, 0);
+
==搭建硬件==
    rainbowCycle(10, 0, 255, 0, 1);
+
*Setup 1:将彩灯接到Sensorhub的D6引脚上,将光敏传感器接到A0引脚上。
 
+
[[File:night_colorled_ble.jpg|600px|center]]
    rainbowCycle(10, 0, 0, 255, 0);
+
LED灯的连接方法如图,请注意连接顺序,从LED的IN接口接入,从OUT接口接出本应用最多可控制2个LED灯。
    rainbowCycle(10, 0, 0, 255, 1);
+
[[File:CoreUSB_Ble_steup11.jpg|600px|center]]
 
+
*Setup 2:将激活后的电池盒与BM模块相连.
    rainbowCycle(10, 255, 0, 225, 0);
+
[[File:CoreUSB_night led_steup2.jpg|600px|center]]
    rainbowCycle(10, 255, 0, 225, 1);
+
*Setup 3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成。
 
+
[[File:CoreUSB_night led_steup3.jpg|600px|center]]
    rainbowCycle(10, 247, 139, 5, 0);
+
==APP调试==
    rainbowCycle(10, 247, 139, 5, 1);
+
*Setup 1:扫描左侧的二维码,下载Bluetooth Light APP。
 
+
[[File:app_Ble_steup1.jpg|600px|center]]
    rainbowCycle(10, 255, 255, 0, 0);
+
*Setup 2:载安装App后,打开应用,如果没有打开蓝牙,系统会提示,选择打开。
    rainbowCycle(10, 255, 255, 0, 1);
+
[[File:app_Ble_steup2.jpg|600px|center]]
 
+
*Setup 3:点击Scan,手机会开始搜索蓝牙设备,并显示在下方,选择名称为Microduino的设备.
    rainbowCycle(10, 0, 255, 255, 0);
+
[[File:app_Ble_steup3.jpg|600px|center]]
    rainbowCycle(10, 0, 255, 255, 1);
+
*Setup 4:连接成功后,你就可以用手机来控制灯光了
 
+
[[File:app_Ble_steup4.jpg|600px|center]]
    for (int i = 0; i < 3; i++)
 
      rainbow(30);
 
  }
 
  else if (!color_en)
 
    colorSet(strip.Color(0, 0, 0));</source>
 
  
 
==结果==
 
==结果==
当蓝牙接入时蓝牙控制,蓝牙断开时环境参数低于预设值开启灯光,否则,关闭灯光。你也可以通过乐高搭建一个漂亮的外观。
+
遮住光线传感器,或进入较暗环境下,LED灯就会发光,这时你就可以用蓝牙来控制灯光的颜色。你也可以通过乐高搭建一个漂亮的外观。
 
+
[[File:legao_night_led.jpg|600px|center]]
 
==视频==
 
==视频==
  
 
|}
 
|}

2015年9月9日 (三) 09:12的版本

Language English

目的

周围环境暗下来,小夜灯就开始工作了,当小夜灯亮起来的时候,你可以通过蓝牙来控制灯的颜色和亮度的变化。

原理

通过Light光线传感器检测光的强弱,系统判断光为强还是弱,如果光强关闭彩灯,否则就可以通过手机蓝牙来控制灯的颜色。

设备

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

准备

  • Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
  • Setup 2:点击文件 >示例 > mCookie > _201_CowardlyNightLight_BLE, 加载程序。
  • Setup 3:加载代码,将程序代买拷贝到IDE中。程序编译通过后选择好板卡和COM端口下载程序。

程序说明

“ble()”函数是蓝牙接收数据及控制彩灯。

  • 定义蓝牙通讯串口
#define my_Serial Serial1
  • 定义传感器引脚,及可连接的灯的数量。
#define PIXEL_PIN    6    // Digital IO pin connected to the NeoPixels.
#define PIXEL_COUNT  2

#define lightSensorPin  A0
  • 环境光预设值,更改Light的大小就可以改变在某个亮度下开启灯光。
#define lightSwitch  700
  • 读取亮度函数
sensorValue = analogRead(lightSensorPin);
  • 判断环境参数低于预设值则开启灯光,并且通过蓝牙控制,否则关闭灯光。
  if(sensorValue>lightSwitch) {
    Serial.println(sensorValue);
    strip.setPixelColor(0, strip.Color(0, 0, 0));
    strip.setPixelColor(1, strip.Color(0, 0, 0));
    strip.show();
  } else {
      ble();
      if (!color_en) {
        for (int i = 0; i < 1; i++)
          rainbow(10);
      }
  }

调试代码

  • 通过CoreUSB模块连接电脑并加载程序后,点击串口监视器,会弹出一个窗口,里面会显示光线传感器接收到的光线值的变化。

当前设定的感光值是700,你可以尝试根据之前监测出来的数据在程序中更改这一数值,重新刷入程序,看看会产生什么效果。

搭建硬件

  • Setup 1:将彩灯接到Sensorhub的D6引脚上,将光敏传感器接到A0引脚上。

LED灯的连接方法如图,请注意连接顺序,从LED的IN接口接入,从OUT接口接出本应用最多可控制2个LED灯。

CoreUSB Ble steup11.jpg
  • Setup 2:将激活后的电池盒与BM模块相连.
  • Setup 3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成。

APP调试

  • Setup 1:扫描左侧的二维码,下载Bluetooth Light APP。
App Ble steup1.jpg
  • Setup 2:载安装App后,打开应用,如果没有打开蓝牙,系统会提示,选择打开。
  • Setup 3:点击Scan,手机会开始搜索蓝牙设备,并显示在下方,选择名称为Microduino的设备.
  • Setup 4:连接成功后,你就可以用手机来控制灯光了

结果

遮住光线传感器,或进入较暗环境下,LED灯就会发光,这时你就可以用蓝牙来控制灯光的颜色。你也可以通过乐高搭建一个漂亮的外观。

视频