Microduino 手机控制RGB灯/zh

来自Microduino Wikipedia
Radiumray9@gmail.com讨论 | 贡献2014年10月29日 (三) 06:31的版本 文档
跳转至: 导航搜索

概述

  • 项目名称:Microduino 手机蓝牙控制RGB色彩
  • 目的:通过手机结合Microduino BT与Microduino core进行蓝牙通讯,从而控制RGB灯的颜色。
  • 难度:高级
  • 耗时:
  • 制作者:Microduino Studio-YLB

原理

手机客户端通过三个进度条来模拟灯的颜色,进度条将每个颜色量化的值(0-255)通过BT与Micoduino core进行通信,这样分别将颜色值通过函数analogWrite()让RGB灯上指定颜色亮,这样就可以随心所欲控制颜色了,此时RGB灯的引脚需要接到PWM引脚(3、5、6、11)上才能更好的控制。因为Microduino BT与Microduino Core采用软串口(9,10)通讯,所以不能将RGB灯接到9,10引脚上,否则会出现数据混乱。 该实验采用共阳RGB灯,因此将RGB共阳引脚接到3.3V。red引脚接到D6,green接到D3,blue接到D5。玩家可以根据自己情况更改引脚。

材料清单

  • Microduino设备
模块 数量 功能
Microduino-Core/zh 1 核心板
Microduino-USBTTL/zh 1 下载程序
Microduino-BT/zh(2.1) 1 蓝牙通讯
  • 其他设备
RGB灯 1 显示
USB数据线 1 供电、下载程序
3D打印小盒子 1 美观

文档

Android客户端: 文件:Microduino RGB.zip

注意:确认你的BT是2.1的。Android客户端暂时只适合2.1的BT。

测试程序:[Microduino_BT_RGB]

调试

  • 步骤一:准备所有设备
  • 步骤二:确认你的BT串口接法。

测试程序使用软串口9,10。

    • 如果使用的是2,3
      • 核心板使用的是Core,请把“SoftwareSerial mySerial(9, 10); //RX,TX”改成“SoftwareSerial mySerial(2, 3); //RX,TX”
      • 核心板是Core+,需要把loop里面的“mySerial”改成“Serial1”。
    • 如果使用的是0,1。
      • 需要把loop里面的“mySerial”改成“Serial”,并且在下载程序的时候不能叠加BT,否则串口会冲突。
  • 步骤三:搭建电路
    • 将用到的模块叠加。
    • 确定共阳RGB引脚:
      • 针脚最长的一个为正极或者看RGB灯头里面,最宽的为正极,这里不采用电阻,所以接到3.3V上。
      • 其他三个玩家可以通过万用表或者模块直接测量出其他三个针脚所对应的颜色,然后按对应来接。
  • 步骤四:下载测试程序并打开。
    • 先确认好你BT的串口,参考步骤二;
    • 确认RGB灯是否为共阳。否则共阴你需要:
      • 更改解法:针脚最长的一个则为负极,此时你要接到GND。
      • 更改程序:将三个analogWrite();函数里的数据写出值改成读取到的值。例如“analogWrite(6, 255 - red);”改成“analogWrite(6, red);”
  • 步骤五:确认完毕则编译程序后直接下载。
  • 步骤六:下载Android客户端。解压安装并打开。
  • 步骤六:搜索设备,进行连接。
  • 步骤七:连接成功则可进行控制,否者将进行重连。若多次尝试连接失败,可以将系统断电重启(重启BT)或者关闭客户端重新打开。

结果

通过Microduino可以成功实现用手机控制RGB灯,得到你想要的任意颜色。

注意问题

  • 确认BT的串口
  • 确认RGB为共阴还是共阳
  • 注意RGB灯接法。如果发现手机客户端颜色控制进度条与RGB显示对应出错,玩家也可以更改loop里面的“analogWrite();”的引脚使其对应。

视频

http://v.youku.com/v_show/id_XNzAzNzAzMjQ4.html