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


WIFI的基本概念介紹

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

物聯(lián)網(wǎng)系統(tǒng)高速率WiFi傳輸方案_WIFI模塊詳解

怎樣才可以讓wifi時(shí)鐘聯(lián)網(wǎng)
wifi授時(shí)電子鐘如何對(duì)時(shí)間
使用STM32CubeMX輸出PWM,并制作呼吸燈效果

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


評(píng)論