網站首頁 趣味美術 生活小製作 兒童製作 親子互動 陶藝製作 傳統手工 民間手藝 歲月綻放 創意與設計

高功率比一顆moodlamp與飛利浦的同步色調手工電子DIY教程

欄目: 電子DIY / 發佈於: / 人氣:8.5K

高功率比一顆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: