本設(shè)計(jì)使用由網(wǎng)頁(yè)控制的MicroPython驅(qū)動(dòng)的節(jié)日燈裝飾!通過(guò)MicroPython和智能節(jié)日燈來(lái)慶祝節(jié)日,這些節(jié)日燈都是通過(guò)網(wǎng)絡(luò)控制的!該項(xiàng)目向您展示如何使用在ESP8266 WiFi微控制器上運(yùn)行的MicroPython為NeoPixels設(shè)置動(dòng)畫。只需在網(wǎng)頁(yè)上選擇動(dòng)畫的顏色和類型,點(diǎn)擊一個(gè)按鈕,您的節(jié)日燈就會(huì)充滿動(dòng)感的節(jié)日歡呼。智能節(jié)日燈甚至可以記住他們上次動(dòng)畫時(shí)的動(dòng)畫。這個(gè)項(xiàng)目很好地展示了ESP8266和MicroPython的優(yōu)勢(shì),例如使用WebREPL輕松訪問(wèn)WiFi并將數(shù)據(jù)存儲(chǔ)在MicroPython的文件系統(tǒng)中。
本指南需要以下硬件:
- ESP8266運(yùn)行MicroPython。 該羽毛ESP8266是完美的,如果你沒(méi)有一個(gè)板呢,但是任何ESP8266板應(yīng)該工作。有關(guān)如何在電路板上運(yùn)行MicroPython的詳細(xì)信息,請(qǐng)參閱電路板指南中的加載MicroPython。
- NeoPixels。 您可以使用任何類型的?NeoPixel,如條帶,矩陣等。但是請(qǐng)確保使用RGB而不是RGBW像素,因?yàn)榇隧?xiàng)目的代碼僅假設(shè)RGB像素。像30像素/米NeoPixels這樣的三到四米長(zhǎng)的條帶非常適合環(huán)繞一個(gè)小花圈或小樹。查看NeoPixel Uberguide,了解有關(guān)不同類型NeoPixels以及如何為其供電的更多信息。
- 5V電源。 你需要一個(gè)5伏電源,有足夠的電流來(lái)驅(qū)動(dòng)所有像素。每個(gè)NeoPixel都可以提供高達(dá)60mA的電流,因此請(qǐng)確保獲得足夠大的電源以支持所有像素!這款5V 10amp電源可以在全亮度下處理多達(dá)約150個(gè)NeoPixels(將一個(gè)插孔插孔 連接到接線端子適配器,以便輕松連接電源)。查看NeoPixel Uberguide以獲取更多電源選項(xiàng)。
- 大電容保護(hù)像素。 正如NeoPixel Uberguide所提到的那樣,您可能需要在電源連接處添加一個(gè)大電容,以防止突然出現(xiàn)電源時(shí)損壞像素。這里的4700uF 10V電解電容應(yīng)該可以很好地工作。
- 焊接工具。 您可能需要焊接一些NeoPixel和其他連接,因此請(qǐng)務(wù)必使用烙鐵,焊料和電線。如果您不熟悉焊接,請(qǐng)查看優(yōu)秀焊接指南。
接線
如下所示連接硬件:
- 電源接地/ -到NeoPixel GND /地和羽毛HUZZAH ESP8266 GND /地。
- 電源5V / +至NeoPixel + 5V和羽毛HUZZAH ESP8266 USB引腳。對(duì)于其他ESP8266板,請(qǐng)檢查其規(guī)格,看看哪個(gè)引腳可以支持運(yùn)行電路板的5V電源輸入。
- 羽毛HUZZAH ESP8266針腳15到NeoPixel Din /輸入。您可以使用ESP8266上的大多數(shù)其他GPIO引腳(引腳16除外),但本指南假設(shè)您使用引腳15。
- 如果您使用電容來(lái)保護(hù)像素(強(qiáng)烈推薦?。?qǐng)按如下方式連接:
電容器陽(yáng)極到電源5V / +。
如果您使用圓柱形插孔連接到端子排適配器,最簡(jiǎn)單的方法是將電容器直接連接到下面的端子(確保帶有條紋的一側(cè)連接到負(fù)極/接地端子?。?/span>
接下來(lái)就進(jìn)入軟件部分了
設(shè)置MicroPython和WebREPL
首先確保您為您的主板運(yùn)行最新版本的ESP8266 MicroPython。有關(guān)將MicroPython加載到ESP8266板上的更多信息,請(qǐng)查看如何在電路板指南中加載MicroPython。
請(qǐng)注意,在本指南編寫時(shí),當(dāng)前版本的ESP8266 MicroPython是1.8.6。更高版本可能會(huì)更改WebREPL,因此如果遇到意外問(wèn)題,請(qǐng)嘗試返回1.8.6版本。
接下來(lái)按照本指南設(shè)置ESP8266板上的WebREPL。請(qǐng)注意,最新的1.8.6版MicroPython略微改變了WebREPL的設(shè)置方式,因此請(qǐng)按照指南或官方說(shuō)明啟用WebREPL。在您的ESP8266運(yùn)行MicroPython并且可以連接到其WebREPL之前,請(qǐng)不要繼續(xù)
加載MicroPython代碼
代碼在文件中請(qǐng)自行下載
控制燈
現(xiàn)在為了一些樂(lè)趣,您已準(zhǔn)備好控制網(wǎng)頁(yè)上的燈光!在Web瀏覽器中打開lights.html頁(yè)面(請(qǐng)注意,該頁(yè)面已使用最新的Chrome瀏覽器進(jìn)行了測(cè)試,但它應(yīng)該可以與其他現(xiàn)代Web瀏覽器一起使用,例如Safari和IE 8+)。
你應(yīng)該看到頁(yè)面加載,看起來(lái)像:
確保您的計(jì)算機(jī)已連接到ESP8266主板的WiFi網(wǎng)絡(luò),就像您使用WebREPL時(shí)一樣(但請(qǐng)確保您沒(méi)有在另一個(gè)選項(xiàng)卡或?yàn)g覽器中連接到WebREPL?。?
將電路板URL設(shè)置為用于訪問(wèn)WebREPL的URL(如果您不確定,則保留默認(rèn)值,這是大多數(shù)WebREPL連接使用的)。
在密碼字段中輸入您在設(shè)置和訪問(wèn)WebREPL時(shí)設(shè)置的密碼。
您可以使用頁(yè)面上的字段控制燈光的動(dòng)畫:
- 動(dòng)畫 - 此下拉菜單控制燈光是否會(huì)以實(shí)心脈沖,追逐,平滑淡入淡出或空白動(dòng)畫(無(wú)動(dòng)畫)進(jìn)行動(dòng)畫處理。
- 動(dòng)畫周期 - 此值控制動(dòng)畫的速度(以毫秒為單位),或動(dòng)畫在任何特定顏色上停留的時(shí)間。小值會(huì)加速動(dòng)畫,大值會(huì)減慢動(dòng)畫速度。
- 顏色 - 此下拉菜單控制燈光將顯示的顏色范圍。您可以選擇藍(lán)色/紅色,綠色/紅色或藍(lán)色/白色顏色組。查看下面的index.html代碼和How it Works視頻3,了解如何添加更多顏色!
- 鏡像顏色 - 此復(fù)選框控制所選顏色是否應(yīng)平滑上下移動(dòng)。默認(rèn)情況下,顏色會(huì)從藍(lán)色變?yōu)榧t色,但是通過(guò)保持鏡面顏色檢查,您會(huì)看到它們上下移動(dòng),例如從藍(lán)色到紅色,再?gòu)乃{(lán)色再到藍(lán)色。嘗試打開和關(guān)閉鏡像以查看它如何更改動(dòng)畫。
選擇所需選項(xiàng)后,單擊“ 更新燈光”按鈕。過(guò)了一會(huì)兒,您應(yīng)該看到所選動(dòng)畫的燈光栩栩如生!
怎么運(yùn)行的
如果您對(duì)網(wǎng)頁(yè)如何控制燈光感到好奇,請(qǐng)下載觀看以下視頻,深入探討項(xiàng)目的創(chuàng)建和運(yùn)作方式,視頻在壓縮文件中。