三毛手工

位置:首页 > DIY手工 > 电子DIY

高功率比一颗moodlamp与飞利浦的同步色调手工电子DIY教程

电子DIY1.11W

高功率比一颗moodlamp与飞利浦的同步色调

在这份指导书里主要的焦点更多的在于我创建的软件而不是硬件方面。你不必使用大功率LED灯,你可以使用你喜欢的任何一种 RGB-LED。
"大功率 RGB LED 心情台灯"是一种大功率 的RGB LED灯,它可以在基于云计算的微控制器 ElectricIMP 和 Arduino Uno帮助下通过 http 命令来实现控制。它可以与现有飞利浦色相灯泡同步,它能显示实际的本地天气或是你的实际耐克燃料状态。下载一个iOS / Android 应用程序"NetIO 控制器"就能实现操控

主要材料

  Arduino UNO  ElectricIMP"SD"卡-和 IMPShield 或 IMP- Breakout 板(Sparkfun 产品页)
  作为原型的的线路板(1)  RGB LED(1)
  1 个飞利浦色相起动器包(可选)  一个本地 web 服务器

所需工具:

  剪刀  钳子
  锥子  马克笔
  热胶枪

制作步骤:

第1步:

高功率比一颗moodlamp与飞利浦的同步色调 第2张

第 1 步:
材料和工具: 零件和有用的链接
你需要意识到这里面并不含大功率LED 电路:
(1) Arduino UNO
ElectricIMP"SD"卡-和 IMPShield 或 IMP- Breakout 板(Sparkfun 产品页)
作为原型的的线路板(1)
RGB LED(1)
1 个飞利浦色相起动器包(可选)
你还需要一个本地 web 服务器。例如具备Lighttpd web 服务器和支持php 的Raspberry Pi。你可以从下面的链接获得更多信息:  
你需要本地 web 服务器,因为飞利浦色相没有任何身份验证机制,如果让它使用portforwarding在互联网运作不是很安全。
如之前所述,重点在于在软件方面,但在接下来我会简短描述自己制造的大功率 led 电路.....

第2步:

高功率比一颗moodlamp与飞利浦的同步色调 第3张

第 2 步: 硬件安装 / LED驱动保护程序(可选)
如果您想要使用"正常"的 RGB-LED,需将它连接到以下 Arduino 针脚: 11(red)、 10(green) 和 3(blue)。针必须为 pwm-针 !别忘了使用 RGB LED 系列电阻器。在这里将你找到好的文档:
将ElectricIMP- shield做成到 Arduino的堆栈,或将IMP- breakout连接到 Arduino :
Imp 的 UART 针脚是 5 (TX) 和 7 (RX) 并且把Arduino 的RX连接到针脚 8、TX 到针脚9 。

-----可选-----
要使用大功率 LED 您需要有自己的电压供电电路:
需要的零件:
3 * 1W大功率的RGB- LED(1)
选灯的理由要求有创意,我的灯是他们送我的一份生日礼物(例如"宜家拉姆本"灯) (1)
1 W,1.4 欧姆电阻(3)
Mosfet,N 通道 (例如费尔柴尔德 FQP50N06L) (3)
100 k 欧姆电阻 1/4W(3)
NPN 晶体管 (Fairchild 2N5088BU 为例子) (3)
螺丝终端(6 针脚)(3)
可堆叠头针脚打造 arduino 盾 () (4)
12V 电源供应 1500mAh(1)
led 模块的散热器(1)
条状铜箔电路板(1)
自粘性导热垫 (M3 热垫) (1)
Instructable ()对我很有帮助。我已经把每种颜色都应用在上述所示电路 (rgb),抱歉需要从别处"借"图像,从技术上讲我不能把它嵌入到这份 instructable。
"大部分电流是通过 LED、 Q2和 R3。当过多电流通过 R3,Q1将接通,Q2关闭。Q2关闭减少了通过 LED和 R3的电流。所以我们需要创建"反馈回路",持续控制通过 LED的电流,并使它总是保持在设置点。晶体管很智能,是吧!"资料来源:
你需要知道电阻 R3的规格和大小。我用的是 1.4 欧姆 (1 瓦电阻!!)-让我们算一下:
让我们看看 rgb 模块数据表,你会看到正确的当前值: 在我的例子中每种颜色的 LED 可以达到350mA。
方程式: 0.5 a (在 0.5 a 开关 Q1) / 电流 = 电阻 (500mA/350mA = 1.43 欧姆)。
你会在这里发现有关计算的详细信息:

我的电路:
RGB LED 模块要和螺丝接线端与 Arduino-针 11(red)、 10(green) 和 3(blue)相连接。针必须为 pwm-针 !
电源 (12V) 直接连接到 Arduino。LED-模块 的12 条线直接焊接到 Arduino 的电源插孔-针。

第3步:

高功率比一颗moodlamp与飞利浦的同步色调 第4张

第 3 步: 安装软件
所有的源代码在这里:


您的本地 web 服务器必须可以使用端口转发和 在dyndns 名称的帮助下访问因特网。 发表了很好的 howto:
你从 github 下载文件后,您要自定义文件并把它们放在正确的位置,现在让我们开始:
从我的 GIT 仓库下载并解压缩文件:
在您的本地 web 服务器创建一个名为"HSL"的文件夹:
/var/www/HSL
您需要确保您的web 服务器中的HSL 文件夹后缀为cess。无需多此一举,请看本文档 (例如):

从已下载中获取文件并解压缩文件夹"HTML/HSL"到web 服务器上的"HSL"目录。 
我已经在web 服务器中包括要将所有这些文件复制的 /var/www 这样目录配置一个 samba 共享。
在这里你会发现短 samba 文件:
  来创建网络共享通过 Samba 通过 CLI (命令行界面/Linux 终端)-不复杂,简单和简短的方式! 



第4步:

高功率比一颗moodlamp与飞利浦的同步色调 第5张

第5步:

高功率比一颗moodlamp与飞利浦的同步色调 第6张

步骤 4: 安装ElectricIMP 代理及设备代码
如果还没有创建您的 ElectricIMP 账号,请先注册和配置您的 ElectricIMP 设备,如下所述:

或在这里:

登录到 ElectricImp-DevCenter 并创建一个新的模型,例如可以命名它"Moodlamp"。

从已下载的 git 档案"ElectricImpCode /Moodlamp_Controller_"复制和粘贴的代码到代理代码区域。

修改以下各行的代理代码 (第 3-5 行):
//CUSTOM Var:
web 服务器 <-"";//Your web 服务器 URL......
webserverAuth <-"BASE64 密钥"//cess 授权的关键,到这里看一看:
weathercity <-"纽约";//Your 位置显示的实际天气与的帮助
//------------------------------------------

cess 授权密钥编码为基础的64位,所以在上述提到的在线工具帮助下对cess 授权密钥编码进行解码。语法是 username:password

接下来,复制并粘贴代码"Moodlamp_Controller_"-到 IMP 设备代码区域。

请记住您的 API ElectricIMP密码,你需要它进行下一步骤:
生成和运行该密码时,会在登录区域中找到它:
2013-11-12 18:00:07 UTC 1: [代理] ElectricImp 代理启动上

第6步:

高功率比一颗moodlamp与飞利浦的同步色调 第7张

步骤 5: 安装"色彩控制"API
您需要编辑文件屏幕截图所示的每个突出显示的PHP文件并放到您的 ElectricIMP api 密钥那里 (第 2 行)。

我觉得可能有更多更好的方法来在一个地方处理的 API,但那是"快速 & 不道德"的解决办法,我从来没有再碰......抱歉。

第7步:

高功率比一颗moodlamp与飞利浦的同步色调 第8张

第 6 步: 安装NikeFuel API
编辑"HSL/Fuelband/"并插入您的 -登录数据 (6 线):
/ / 请在这里插入您的 用户名和密码
$object = 新 NikeplusFuelbandAPI ('','密码' );

第8步:

高功率比一颗moodlamp与飞利浦的同步色调 第9张

第 7 步: 安装飞利浦色相 API
要与飞利浦色相基站进行通信,我们需要创建一个新的用户,才能允许来查询所需的数据。
进行这一步,你会发现一个奇妙的文件在飞利浦: 

创建一个用户,您可以命名,例如"electricimp"。

如果你做了这一步然后您需要修改"HSL/"文件:
在行 6 添加本地 IP 地址的 PhilipsHue 基站。
在行 7 你会需要插入的新创建的用户名。
在行 44 插入 ElectricIMP API 密钥 (在此期间你应该已经记住它了)

6: $hueBaseIp = '' ;//Your PhilipsHue 基站 IP
7: $hueUsername = 'electricimp';//Your PhilipsHue 用户名
44: (GET ' ? setphuebulb =' true 的值) ;/ / 同步请求

第9步:

高功率比一颗moodlamp与飞利浦的同步色调 第10张

第 8 步: 设置"NetIO 的 iOS / Android"
你会发现在你所选择的邻近Appstore 的找到这个app应用(它不是免费的),它是由 Luvago 制作的"NetIO":
 iOS:  

Android 系统: https://play.google.com/store/apps/details?id=o您可以建立您自己的 UI 或使用我的预定义的配置:
NetIO-开发人员创建了一个在线的 UI 设计师位置,您可以自定义您的按钮、 滑块、 webviews 等。所以最好的方法是使用这种方便的工具:

登录到    编辑器

你上传我的 JSON-文件之前"ElectricIMP "是要做一些自定义:

打开中 texteditor 的 json 文件并执行搜索替换使用以下模式:
"用户名":"用户名"、"密码":"密码",IMPAPI,

请一定要小心,注意引号!最好的方法是按步骤一步一步的手动执行文件!
"用户名":"用户名"、"密码":"密码"涉及到您的 web 服务器的用户/密码组合
IMPAPI 是 ElectricIMP 的关键
关乎该 URL 的 / IP 的 web 服务器
已编辑后,上载文件与 UI 设计器。
要加载配置到您的智能手机,打开 app 然后摇摇电话,将出现登录界面,在里面您可以登录-> 选择上载的配置,到时别忘了看看接口。



第 9 步: 安装Arduino / Moodlamp API 命令
打开文件"/ Arduino_Sketch/ElectricImp_Moodlamp/ElectricImp_"与 Arduino IDE 并将它上载到您 Arduino UNO。

在这里你不必要自定义任何东西。
就是它了,现在你可以使用app应用来控制 RGB LED了。
就是这样了 !!!
在这里附加的是所有 ElectricIMP Moodlamp http API 命令列表:

"设置亮度 0-255
"? sat = 0"-设置 HSL 饱和度 0-255
"? hue = 0"-设置 HSL 色相 0-360
"? red = 0"-设置 RGB 红 0-255
"?blue = 0"-设置 RGB 蓝色 0-255
"? green = 0"-设置 RGB 绿色 0-255
"? readr"-获取红色的 RGB 值
"? readg"-获取绿色的 RGB 值
"? readb"-获取蓝色的 RGB 值
"? readh"-获取 HSL 色相值
"? 读取"-获取 HSL 饱和度值
"? readbr"-获取 HSL 亮度值
"? tempalarm = 0"-设定温度报警 0 = off,1 = on (当温度发生摄氏 3 度的改变时报警),2 = fix
"? setphsync = 0"-设置 PhilipsHue sync 0=off, 1=on
"? readphsync"-获取 PhilipsHue 同步值如果打开或关闭
"? readphbulb"-获取同步 PhilipsHue 灯泡的名称
"? getfuel"-获取 NikeFuel 和更改颜色
"? readt"-得到温度值

小贴士:

来源、 有用的链接和帮我实现这个项目很多的软件:

getRGB() 函数:


由 Jims dim_curve 想法:


飞利浦色调颜色转换:


简洁的框架:


HSL 滑块的概念:


NetIO:


飞利浦色相:


Nike + Fuelband API:
_fuelband

cess 教程:
:htaccess

LED 驱动电路:


LED 驱动程序 instructable:


ElectricIMP:


Arduino: