第1步:Digispark和PlatformIO
Digispark (每個(gè)克隆都涉及相同的8位微控制器)圍繞AVR Attiny85構(gòu)建的分線板,借助Micronucleus 引導(dǎo)程序,可以進(jìn)行簡(jiǎn)單的USB通信。
請(qǐng)?jiān)谄渚S基上找到更多信息:http://digistump.com/wiki/digispark
PlatformIO 是用于編程Digispark的生態(tài)系統(tǒng)。要使用它,您必須安裝Visual Studio代碼。
步驟2:原理圖和接線
焊接:
將三條線連接到WS2812條(接地,電源輸入和數(shù)據(jù)輸入)
接地線和Vcc到5V和Digispark的GND引腳
將剩余線焊接到Digispark的P0引腳
將一個(gè)10KΩ電阻焊接到GND和P2引腳電路板
使用兩根電線將LDR連接到5V和P2引腳(出于美觀原因,我使用了幾乎看不見(jiàn)的漆包線)
第3步:固件
在我的GitHub上找到這個(gè)項(xiàng)目的代碼:https://github.com/fbattarra/attiny85_8bit_ldr_rai.。.
要知道:
使用PlatformIO時(shí)必須使用#include
參數(shù),如引腳分配,WS2812 LED數(shù)量,彩虹輪速度以及LED和LDR的暗/亮閾值在代碼的開(kāi)頭
Adafruit N. eopixel是用于控制WS2812 LED的庫(kù)。
RunningMedian庫(kù)用于使LDR讀數(shù)更穩(wěn)定;由于邊界設(shè)置,映射LED亮度邊界,這在低亮度條件下特別好,其中微小的波動(dòng)可能導(dǎo)致惱人的閃爍
您將找不到任何鎖定Attiny85的嘗試,所以該項(xiàng)目將保持可編輯狀態(tài)
一些提示(也出現(xiàn)在GitHub上的README.md文件中):
要上傳代碼,請(qǐng)確保每根引腳連接一根USB線:便宜的充電線通常只有+ 5V和接地線
從PlatformIO上傳到DigiSpark需要你在編譯后插上DigiSpark,即使控制臺(tái)沒(méi)有警告“現(xiàn)在是時(shí)候插上你的DigiSpark了,就像Arduino IDE那樣。
快速解決從MacOS上的PlatformIO上傳到DigiSpark的問(wèn)題:PIO問(wèn)題111
廉價(jià)的USB充電器可能會(huì)提供臟/噪聲輸出,這可能會(huì)使LED奇怪地閃爍,特別是在低亮度時(shí):確保有一個(gè)干凈的5VDC電源,或過(guò)濾器添加一個(gè)電容器(或更合適的電路)
步驟4:外殼和整理觸摸
刻一個(gè)洞在您選擇的托管項(xiàng)目的框中,插入U(xiǎn)SB線。請(qǐng)注意,微型USB連接器周?chē)目自酱?,LED燈的光泄漏越多,除非您不提供一些不透明的密封。
為L(zhǎng)DR開(kāi)辟一個(gè)漏洞;確保使其指向不會(huì)被LED照亮的區(qū)域,否則自動(dòng)調(diào)節(jié)將陷入環(huán)路
雕刻內(nèi)表面為L(zhǎng)ED條形空間,就像你應(yīng)該的那樣
用LDR底部的不透明介質(zhì)密封,以避免任何干擾傳感環(huán)境的亮度造成的WS2812條
使用一滴不透明的油漆來(lái)掩蓋Digispark電源,從而避免它在燈箱內(nèi)閃亮。
膠水Digispark板,LED條,LDR和每根電纜,以避免空心盒內(nèi)部看起來(lái)不整潔
預(yù)見(jiàn)帶有開(kāi)關(guān)的USB線,以便輕松打開(kāi)和關(guān)閉燈
-
led
+關(guān)注
關(guān)注
240文章
22920瀏覽量
650287 -
夜燈
+關(guān)注
關(guān)注
0文章
27瀏覽量
7880
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論