第1步:材料
這些是 ONE 燈所需的材料(乘以您想要制作的燈的數量):
1x NodeMCU ESP8266芯片(每個7美元,2美元13美元)
1x主板或面包板(每個約1美元)
烙鐵和焊料
1x neopixel戒指(如果你從adafruit.com購買,每個10美元,8美元)
1x 5V電源(至少500mA輸出,所以1A或2A將是完美的)與microUSB連接(或桶式插孔,但買一個桶式插孔轉換為裸線)(每個8美元)
不是絕對必要但強烈推薦用于電路保護(每個只需幾美分,但你可能必須批量購買)
1x 300-500歐姆電阻(雖然我使用了200歐姆然后逃脫了它)
1x 100-1000uF電容器
電線(或者你得到這些絲帶類型)(唱歌le core是最好的)(5美分的幾美分)
你不需要太多電線;只需5英寸即可
你可以為外部燈做任何你想做的事(上面是電子部件的部件)。我選擇激光切割木材和丙烯酸,用于光漫射的寫生紙。
我在上面附上了亞馬遜鏈接,找到了我能找到的最便宜的選項(截至2018年12月20日),但你絕對可以從不同的地方找到更便宜的組件。我還是一個大學生,所以我可以使用電容器和電阻器:嘗試詢問任何使用電子設備的朋友。如果你有其他想要從那里訂購的東西,可以從adafruit.com購買Neopixels更便宜(節省運費)。你可以從DigiKey或Mouser獲得電阻器和電容器,價格便宜得多,但運費可能會更高。對于電源,舊的手機充電器會很好(如果你想插上燈泡就可以使用microUSB電纜)進入USB端口而不是墻上插座。如果你絕對沒有這些組件,你的成本將是最大的每盞燈約40美元(每盞燈少一點,你制造的越多,因為你通常會批量購買這些組件:例如,protoboard可以5個一包)。我有東西躺著,所以對我來說只有5美元(是的,我是朋友的囤積者,碰巧放棄了很多東西 - 加上我上次重復使用了neopixel戒指)。
下面附有Arduino代碼和Adobe Illustrator文件(用于激光切割盒)。
第2步:概述:燈具如何工作
好吧,所以一旦你掌握了材料,你可能會想知道它們是如何組合在一起的。這是一個解釋:
NodeMCU ESP8266是一個工作在3.3V邏輯的微控制器(與大多數Arduinos相比,5V邏輯)。它包括板載wifi芯片和GPIO引腳,用于將數字和模擬信號與您連接的組件配合使用。您將使用其中一個能夠輸出PWM信號的引腳(請參見此處的引腳:任何帶有?旁邊的引腳可以生成模擬信號,而不是僅為0或1,LOW或HIGH的數字信號)來控制新像素環。對于編程,您可以通過Arduino IDE輕松完成此操作,可在此處輕松下載。 (注意,我向他們的ESP8266 HUZZAH提供了Adafruit指南,而不是我們提供的NodeMCE。該指南仍然適用于兩個主板,但您只需選擇一個不同的主板上傳Arduino。)
新像素環是創造燈的彩色動畫的原因。它在環形結構中具有可尋址的LED,每個LED都可以單獨控制。它通常使用5V邏輯運行,這通常需要電平轉換(這里解釋),但幸運的是,Adafruit neopixel庫已經更新以支持ESP8266。雖然5V組件對3.3V信號的響應不可靠,但當新像素以較低電壓(3.3V而不是5V)供電時,它可以相當可靠地工作。在這里查看詳細信息。
就微控制器與新像素的連接而言,最明智的做法是在新像素的數據線和GPIO引腳之間放置一個300-500歐姆的電阻,以便發送信號(以保護信號)任何突然激增的LED)。您還應該添加一個1000uF電容并聯連接到新像素環的電源線和地線:這是為了防止突然的電流浪涌。閱讀本文以獲取有關使用這些LED環的更多最佳實踐(此處為Adafruit的完整用戶指南)。
為了與Blynk物聯網平臺連接,Arduino有一個使用Blynk的庫。您可以在此處閱讀文檔,以了解有關一般使用Blynk的更多信息。對于入門,這是一個方便的指導專門為NodeMCU ESP8266和Blynk。
如果其中一些事情沒有意義,請不要擔心!未來的步驟將準確概述上傳,下載,連接等內容。在開始構建之前,先閱讀所有內容(是的,這是一個很長的教程,但至少是略讀)!它會幫助你弄清楚事情是如何結合在一起的,而不僅僅是盲目地遵循指示。
步驟3:硬件
首先,連接硬件,如圖所示上面的圖片。 neopixel應該帶有用于焊接電線的孔。在將導線連接到ESP8266的3.3V,接地和D2引腳之前,首先需要將導線焊接到標有PWR(電源),GND(接地)和IN(模擬信號輸入)的孔中(針對引腳排列,請參見此內容) 。根據經驗,紅線表示電源,黑線表示接地,我喜歡用藍色表示新像素的數據線(連接到D2引腳,它具有PWM信號)。
確保以正確的方向連接電容器:電容器具有極性,這意味著確定與哪一側并聯連接到neopixel的地面和力量。如果你看一下你的1000uF電容器,那么在側面有一個灰色條帶,表示電容器的負極(你也可以在上面的fritzing圖中看到它)。這是應該與neopixel的地面并聯連接的一側。電阻沒有極性,因此無需擔心方向。
在建立牢固的連接方面,最好的方法是使用protoboard,這樣你就可以將元件焊接在一起,而不僅僅是將電線插入面包板并冒險將它們冒出來。我使用面包板是因為我的時間很短,但同樣,原型板更可取。面包板的好處在于它背面有粘性,所以我只是將貼紙剝開,將所有東西粘在我的燈座上。對于protoboard,你可以使用它們通常在角落處的4個孔將其擰入底座,或者只是將其粘貼/膠合。
步驟4:Arduino代碼
.ino Arduino代碼附在此步驟的底部以供參考。它看起來冗長而冗長,但不要擔心:其中很多都涉及到解釋所有內容的評論。我還想跳過行來添加空格來區分部分,這使得代碼看起來更長。
要編輯以適合您的代碼的主要部分:
Blynk授權令牌/代碼(在您創建時通過Blynk通過電子郵件發送給您應用中的設備:請參閱下一頁以獲取更多信息)
每個燈泡都需要單獨的授權碼!
wifi域名(兩個撇號之間“)
wifi密碼(兩個撇號之間”)
除此之外,只要您使用我的確切Blynk應用程序和整體硬件(因此在下一步中使用我的確切Blynk應用程序配置,在您的neopixel環中有12個LED,請使用ESP8266的D2引腳對于neopixel數據線等),您只需將該代碼完全上傳到您的ESP8266即可。 請注意,您需要為每個燈具使用不同的授權碼!請參閱下一頁,了解如何添加單獨的設備并獲取這些代碼。如果它們位于不同的位置,請不要忘記將wifi域和密碼與燈匹配。您可能希望根據您喜歡的動畫和顏色來編輯其他內容,甚至可能根據您使用的引腳進行編輯。我已經對代碼進行了評論,以幫助您根據需要更改內容。 (閱讀Adafruit Neopixel庫的線索測試示例代碼)。
在您使用代碼之前,您需要下載代碼使用的庫(代碼頂部的庫)。閱讀并遵循Adafruit的本指南(從“使用Arduino IDE”開始),了解設置ESP8266所需的操作。是的:您需要安裝CP2104驅動程序,添加到Arduino首選項中的其他Board Manager URL,安裝ESP8266軟件包(轉到Sketch》 Include Library》 Manage Libaries 。..并搜索您需要的內容 - 查看圖片下面),并在neopixel,Blynk等代碼的頂部安裝其他庫。
要將代碼上傳到來自Arduino IDE的ESP8266芯片,您需要選擇正確的主板(NodeMCU ESP8266 ESP-12E),閃存大小,端口等(見下圖)。除非將ESP8266插入計算機,否則將無法顯示正確的端口SLAB_USBtoUART。但是一旦它連接起來,并且你確定你已經在上一步中正確連接了你的電路,你可以繼續按下左上角的箭頭將你的代碼上傳到電路板。是的,它確實需要比您通常的上傳到Arduino流程更長的時間。您將看到它慢慢編譯代碼,然后是一串橙色句點。..。..。..。..。..。..上傳時(顯示在Arduino窗口的底部黑色部分)。
現在,這是代碼的細分。第一部分包括函數將使用的庫,并初始化全局變量(可由代碼中的任何函數訪問的變量)。 BLYNK_WRITE(virtualPin)部件控制當Blynk應用程序中的小部件(連接到虛擬引腳)被切換(即打開/關閉,滑塊位置改變)時所執行的操作。我在Blynk應用程序中使用的7個虛擬引腳中有7個。 void colorWipe(),rainbow()等的下一部分用于定義代碼其余部分使用的函數。這些功能大多來自Adafruit的neopixel庫示例代碼(特別是strandtest)。最后的部分是所有Arduino代碼中的標準void setup()和void loop():void setup()定義僅在電路板上電時發生一次的操作,而void loop()定義電路板連續執行的操作它通電時循環通過。 void loop()主要根據我創建的變量“animation”來定義燈將循環播放的動畫。
第5步:Blynk IoT
我選擇Blynk而非Adafruit IO用于此版本2.0燈。 Adafruit IO很棒,但是Blynk與Adafruit IO相比有兩件事:一個應用程序界面和接受“空白”作為wifi密碼的能力(所以如果你連接到沒有的公共wifi)密碼,您可以將密碼部分留空,即只是“”)。我的朋友經常去醫院接受治療,所以我希望在她過夜但想要一些虛擬公司的情況下具備這種能力:她仍然能夠連接到醫院的無線網絡。
首先訪問Google Play商店或iPhone的App Store,然后將Blynk應用下載到手機上。免費創建一個帳戶并創建一個新項目。在右上角,您將看到一個QR碼掃描儀按鈕:使用它來掃描下圖中的QR碼,將我的所有按鈕復制到新項目中。有關其工作原理的更多信息,請參閱此頁面(“共享項目的配置”)。該頁面還提供了有用的信息,以便稍后與燈泡的收件人共享項目。
當然,您可以根據需要自定義按鈕!向右滑動即可顯示您可以添加的小部件。您應該了解您對小部件有哪些選項:我已經在按鈕的設置中添加了圖片(每張圖片中有注釋)以及在此步驟頂部使用它們的建議。
順便說一句,在應用程序中添加小部件成本點,每個人都免費開始一定數量的小額。增加額外積分需要花錢(1000美元額外增加2美元)。我最終添加了1000個點以使我的配置工作,但你只需刪除一兩個按鈕就可以使用免費金額。
在項目中,您需要按左上角的“螺母”按鈕(“播放”三角形按鈕旁邊)來訪問項目設置。
您需要將項目添加到項目中以獲取每個燈的授權令牌/代碼,您可以在前面提到的Arduino代碼中更改這些代碼/代碼。按“設備”右箭頭以創建新設備。當您創建設備時,您將看到如下圖所示的令牌(模糊為紅色)。
獲得代碼后,請記住在每個燈的Arduino代碼中輸入正確的令牌,wifi域和密碼。您可能應首先輸入自己的wifi憑據,以確保每個燈正常工作并根據需要進行調試,但在發貨之前使用收件人的wifi域和密碼進行更新。
確保打開應用程序以實際使用按鈕!當應用程序處于“打開”狀態時(按右上角的播放按鈕,旁邊的設置的螺母按鈕),背景將變為純黑色,而不是您在編輯模式時看到的虛線網格。如果您已將Arduino代碼上傳到ESP8266并將其插入,芯片應自動連接到wifi。通過按右上角的小型微控制器圖標(僅在應用程序打開時可見)來檢查:您應該看到為項目創建的設備列表以及哪些設備在線。
步驟6:燈罩
對于實際燈泡,我選擇激光切割木材(1/8“樺木膠合板)和丙烯酸(透明,1/4”,底面,所以光線透過)。木頭上有我的朋友和我獨有的剪紙,但我附上了Adobe Illustrator文件,用于拼圖面部設計(制作一個4英寸的立方體),如果你喜歡這個形狀,你可以剪掉(文件附在這一步,警告:在這些文件中,底面必須為1/4“厚,以便裝配在一起。如果您想制作不同的尺寸或擁有一個厚度的所有東西,請使用makercase.com生成激光切割盒子的文件。
不要忘記留出電源線從燈泡中取出的孔。我忘了把它包括在內但是能夠用鋼絲鉗在1/8“木頭上切出一個小三角孔。
步驟7:與收件人共用燈
當您將燈泡發送給收件人時,他們還需要將Blynk應用程序從Google Play商店或Apple的App Store下載到手機上以控制燈泡。您可以讓他們單獨創建帳戶或使用如果他們創建一個單獨的帳戶,您可以共享一個特殊的QR碼供其他人使用1000點(不是我之前在Blynk步驟中共享的那個;這個QR碼允許使用與您相同的應用程序,但他們無法更改任何按鈕設置或配置 - 通讀此頁面,特別是“共享對硬件的訪問權限”。)您需要確保打開應用程序(按右上角的播放按鈕)因此,您可以看到微控制器按鈕而不是螺母設置按鈕,以便其他人使用該應用程序。
我通過向朋友提供我的登錄信息來獲得1000點左右的費用,這樣她就可以通過我的帳戶登錄應用程序了。如果您將這些燈發送給那些電子設備不太好的人(一般來說是老年人),我建議您花2美元來創建一個共享鏈接,這樣他們就無法訪問您的帳戶了。搞亂你的應用程序設置。有了這個QR選項(1000點成本),他們仍然有你的應用程序的克隆,但不能改變任何東西。
步驟8:使用應用程序
現在,您如何使用該應用程序來控制燈具?
使用大電源按鈕打開和關閉燈泡(關閉時為紅色,打開時為綠色)。如果燈泡熄滅,它會自動關閉應用程序中的所有其他按鈕并將RGB設置為0,0,0。當您按下以重新打開燈泡時,燈泡將以白色脈沖開始。
右上角有三個RGB滑塊,用于控制燈泡閃爍時的RGB顏色輸出。他們在調整滑塊時實時更新顏色。您還可以使用應用程序底部的斑馬形彩色地圖調整顏色。它連接到RGB滑塊,因此滑塊會根據您在地圖中選擇的顏色進行更新,反之亦然。如果您有特別需要的陰影但不知道相應的RGB數值,此地圖會很有用。
應用程序左側有按鈕,帶有快樂,憤怒,悲傷和meh的預設動畫。 “快樂”使燈閃過彩虹色,“憤怒”使燈閃爍在紅色和黃色之間,“悲傷”使燈閃爍藍色和天藍色,“meh”使燈泡產生旋轉的彩虹輪。我選擇了彩虹的快樂和meh,因為它們更有可能成為默認的日常動畫。每當您按下其中一個預設按鈕時,所有其他按鈕都將被關閉(即如果您處于“開心”但按下“生氣”,則快樂按鈕會在幾秒鐘后自動關閉)。 請注意,需要更長時間從快樂和動畫制作切換,因為燈泡必須經過完整的彩虹動畫才能更改動畫。如果您關閉任何預設按鈕,則燈泡將默認返回閃爍RGB滑塊所對應的顏色。如果您打開了任何預設動畫但更改了RGB滑塊,則不會發生任何事情:預設動畫占主導地位。
在拔下燈泡之前,請按應用程序中的電源關閉按鈕作為經驗法則。然后在重新插入燈泡時按下應用程序中的電源。當任何燈泡未通電或連接到wifi時(不是世界末端,但它會弄亂燈泡),請勿調整應用程序按鈕操作)。請參閱下一步了解原因。..。..
步驟9:**正確操作警告**
一個燈的運作存在漏洞。 Blynk接口不允許我有選擇地控制當其他東西打開或關閉時可以切換的內容,但是我在代碼中設置條件,以便在燈關閉或其他動畫時切換不應切換的內容打開,切換將自行撤消:這需要大量調試,但它運行良好(在上面的視頻中演示:應用程序拒絕燈關閉時發生的更改,如果預設動畫打開,則任何更改為在關閉預設按鈕之前,滑塊不會影響動畫!
剩下的一個缺陷是,如果你在芯片沒有連接到互聯網時在應用程序中切換東西,這個自動“撤消”功能將不起作用,并且燈將不會遵循應用程序命令。然后當你打開燈泡時,它不能準確地反映你正在做的事情(無論如何,當你打開電源時,燈泡會以白色閃爍開始)。要解決此問題,只需按下大電源開/關按鈕:電源循環將重置應用程序中的所有內容,以便燈泡按預期運行。
長話短說:每當你啟動時燈,只需在應用程序中重新啟動電源按鈕即可重置所有內容。如果您在沒有插入燈泡的情況下拔掉燈泡或使用應用程序(或者即使您給它時間做出反應,如果您的wifi隨機斷開連接也可能沒有正確響應,請執行此操作)。
第10步:完成
這是一個包裝!對于與您有長期戀愛關系的人來說,這是一個很好的禮物:在你上大學之前為你的父母做一個或為你的新工作搬到另一個州,當你沒有時間去看望他們時,為你的祖父母做一個,做一個讓你的SO公司繼續工作等等。
-
led燈
+關注
關注
22文章
1592瀏覽量
108558 -
WIFI
+關注
關注
81文章
5315瀏覽量
205200
發布評論請先 登錄
相關推薦
WIFI的基本概念介紹

【AI技術支持】樂鑫ESP32芯片RMT控燈異常問題處理

物聯網系統高速率WiFi傳輸方案_WIFI模塊詳解

怎樣才可以讓wifi時鐘聯網
wifi授時電子鐘如何對時間
使用STM32CubeMX輸出PWM,并制作呼吸燈效果

什么是wifi天線?如何選擇合適且正確的WiFi天線?
圣邦微電子推出SGM37863同步升壓型LED閃光燈驅動器


使用NE555的頻閃燈電路分析

評論