91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HALO燈泡的制作教程

454398 ? 來(lái)源:wv ? 2019-09-05 11:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:收集材料

HALO燈泡的制作教程

我有多少次說(shuō)出來(lái)?始終擁有您需要的東西,并保證您能夠在完成之前構(gòu)建一些東西。

注意:其中一些是聯(lián)盟鏈接(標(biāo)記為“al” ),如果您通過(guò)它們購(gòu)買(mǎi),我將得到一個(gè)小的回扣,而不會(huì)給您帶來(lái)額外費(fèi)用。感謝您購(gòu)買(mǎi)鏈接!

零件:

1x Arduino Nano Nano - al

1x 10k旋轉(zhuǎn)電位器5個(gè)裝10k電位器 - al

1x 5mm桶式千斤頂(我的油炸Arduino Uno回收)女性桶式千斤頂(5個(gè)裝) - al

2x 2 -pin瞬時(shí)按鈕10個(gè)裝SPST按鈕開(kāi)關(guān) - 白色

來(lái)自60個(gè)LED/米線(任何等效物,例如WS2812B,12x NeoPixels)將起作用Adafruit NeoPixels

0.5毫米鋁

舊柔性打火機(jī)的柔性頸部

上下蓋環(huán)由“Stick and Click”LED櫥柜燈LED櫥柜燈 - al

一小片1/4英寸膠合板

重型扁平金屬尺寸(大約)1.5“×2.5”×0.25“

絞合芯電線

工具:

熱膠槍和膠水

烙鐵和焊錫

無(wú)線電鉆和各種小捻刀

X-acto刀(或美工刀)

剝線鉗

鉗子

剪線鉗/剪刀

重型剪刀

如果您沒(méi)有扁平金屬重量,您還需要:

1卷便宜的焊料(不是你將用于焊接的東西)廉價(jià)的無(wú)鉛焊料

酒精蠟燭(或本生燈)

你不介意毀壞的小硬化鋼盤(pán)(或者如果你有一個(gè)小坩堝)

三腳架用于所述盤(pán)子/坩堝(我用12號(hào)鋼絲制成的)

一種粘土植物盤(pán)(其中一種東西在鍋底下)

一些鋁箔

p》

注意:如果您有焊接套件或3D打印機(jī),則可能不需要此處列出的所有工具。

步驟2:減輕重量

這是一個(gè)相當(dāng)困難的步驟,你必須使用極其謹(jǐn)慎這樣做。如果您的重金屬重量或扁平釹磁鐵約為2.75“乘1.75”乘0.25“,我建議使用它(而磁鐵甚至可以讓您將燈放在金屬表面上?。?。

免責(zé)聲明:我不對(duì)您的任何傷害負(fù)責(zé),所以請(qǐng)使用常識(shí)。

另外,在混凝土表面外面這樣做你不會(huì)介意它是否有點(diǎn)燒焦(這只是一個(gè)預(yù)防措施)。我沒(méi)有這個(gè)過(guò)程的圖片,因?yàn)橄鄼C(jī)本來(lái)就是我不需要或想要的額外分心。

首先,用鋁箔或濕粘土制作一個(gè)小模具,約2 3/4英寸×1 3/4英寸×1/4英寸內(nèi)部尺寸。它可以是像我的橢圓形或矩形。使用多層箔或厚粘土層。

將模具放入陶瓷植物盤(pán)中,填充兩者模具和托盤(pán) 冷水。

拿y我們的未點(diǎn)燃的酒精蠟燭/本生燈,并將鋼盤(pán)/坩堝放在三腳架上,這樣火焰將加熱盤(pán)子的中心(點(diǎn)亮?xí)r)。點(diǎn)燃燃燒器之前,確保你手上至少有 1把鉗子或金屬加工鉗,如果不是2.

戴上皮手套是個(gè)好主意,在接下來(lái)的幾個(gè)步驟中,長(zhǎng)袖,長(zhǎng)褲,露趾鞋和護(hù)目鏡。

卷起并從線軸上取下一堆便宜的焊料并將其放入鋼盤(pán)中,然后點(diǎn)燃燃燒器。等到線圈完全融化,然后開(kāi)始以中等速度將剩余焊料送入碟中。如果焊料中含有松香,則可能會(huì)在高溫下自發(fā)燃燒,產(chǎn)生淡黃色火焰和黑煙。別擔(dān)心,這發(fā)生在我身上多次,并且完全正常。

繼續(xù)將焊料送入培養(yǎng)皿中,直到最后一個(gè)熔化。

讓任何燃燒松香的火焰完全消失,并用鉗子/鉗子抓住碟子,輕輕旋轉(zhuǎn)內(nèi)部融化的金屬,同時(shí)小心翼翼地保持它在火焰中。

在確定所有焊料完全液化且溫度很高的情況下,快速小心地將其從火焰并將其倒入模具中。當(dāng)一些水蒸發(fā)并且其余部分被迫離開(kāi)時(shí),會(huì)發(fā)出《強(qiáng)烈的嘶嘶聲和蒸汽。模具由熔化的焊料代替。

讓焊料冷卻,關(guān)閉燃燒器/吹掉蠟燭,將鋼盤(pán)放在安全的地方冷卻。您可能需要將冷水倒在冷卻焊料上以加速冷卻并進(jìn)一步硬化。 (冷水使外部冷卻比內(nèi)部更快,產(chǎn)生內(nèi)部張力,使金屬更硬,更硬,類(lèi)似于魯珀特王子的掉落。)你也可以在你的金屬盤(pán)上澆水,但這會(huì)導(dǎo)致它變脆,特別是如果多次完成。

焊料完全冷卻后(大約《20分鐘左右安全),將其從鋁箔模具中取出。

我的一側(cè)比另一側(cè)更厚,所以我用錘子將它弄平,并使邊緣變平(導(dǎo)致你在圖片中看到的形狀)。然后我在流水下輕輕地打磨它來(lái)打磨它,并把它放在一邊待用。

步驟3:構(gòu)建電子外殼,步驟1

這些是用于容納Nano的外殼的部件,安裝接口,基本上是將HALO燈固定在一起的部件。我用我的0.5毫米鋁和熱膠水制作我的,但是如果你有一臺(tái)3D打印機(jī)(我一直試圖為我的商店買(mǎi)一段時(shí)間)我在Tinkercad制作了一個(gè).STL版本,我附在這里給你下載。由于我自己沒(méi)有打印機(jī),我無(wú)法測(cè)試打印模型以查看是否所有打印都正常,但我認(rèn)為如果在切片機(jī)中添加適當(dāng)?shù)闹谓Y(jié)構(gòu)應(yīng)該沒(méi)問(wèn)題。如果您需要或想要稍微不同的設(shè)計(jì)或美學(xué),您也可以在這里復(fù)制和編輯源文件。

尺寸實(shí)際上來(lái)自我為焊接而不是尺寸的金屬重量。電子產(chǎn)品,但結(jié)果非常好,尺寸非常優(yōu)秀。

圖片描述的操作順序與我在此處寫(xiě)的略有不同,這是因?yàn)槲以O(shè)計(jì)了一種改進(jìn)的方法根據(jù)我原來(lái)的方法的結(jié)果。

如果你像我一樣從鈑金裝配,這就是你需要做的事情:

第1步:面板

切割兩個(gè)相同的半圓形形狀,大約1.5英寸高,3英寸寬。 (我把它弄得一團(tuán)糟,所以它們看起來(lái)有點(diǎn)像點(diǎn)唱機(jī)的前面)。

在兩個(gè)板中的一個(gè)板上,為按鈕和電位器鉆出三個(gè)孔。我的每個(gè)直徑為1/4英寸。 這些可以是任何布局,但我更喜歡我的電位器在中心稍微抬起,兩側(cè)的按鈕形成等腰三角形。在鉆孔時(shí),我總是先做一個(gè)小的導(dǎo)孔,然后再去到所需尺寸的鉆頭,它有助于使孔中心并使它們更清潔。

第2步:拱形蓋

彎曲在一塊鋁板上方以適合其中一個(gè)面板的曲線,標(biāo)記正確的邊緣長(zhǎng)度。

切出一條這個(gè)長(zhǎng)度和大約2英寸寬的條帶,形成一個(gè)弧形,與相匹配兩側(cè)面板曲線的形式。

找到曲線頂部的中心點(diǎn),然后鉆一個(gè)洞到適合打火機(jī)的彈性頸。我將孔 偏向后方,因?yàn)槲业臒粼谑褂脮r(shí)大部分頸部向前傾斜,所以我想為此添加一點(diǎn)抵消。我的彈性琴頸直徑只有1/4英寸,因此我使用了1/4英寸的鉆頭(我擁有的最大扭曲鉆頭,小于3/4英寸)并且只是小心地彎曲并扭曲了鉆孔以“鉆孔”直到頸部適合。

現(xiàn)在我們有了殼的零件,下一步是添加電子元件并將它們組合在一起!

步驟4:構(gòu)建電子外殼,步驟2

現(xiàn)在我們添加按鈕和電位計(jì),并將它們放在一起。

步驟1:按鈕和螺栓

從按鈕和電位計(jì)上擰下六角螺母。堅(jiān)果下方應(yīng)該有一個(gè)扣環(huán)設(shè)備,將其留在原位。

將每個(gè)組件通過(guò)各自的孔插入,然后將螺母擰回以將每個(gè)組件固定到位。將螺母擰緊到您確定每個(gè)組件 完全安全的程度。

步驟2.彎曲頸部

將彎曲頸部穿過(guò)彎曲部分頂部的孔。熱膠或焊接(如果你有設(shè)備)將頸部牢固地固定到位。

如果使用熱膠就像我一樣,最好將它粘在大量的膠水 兩側(cè)分布在大面積上以防止膠水在以后脫落。

步驟3:殼體組裝(不適用于3D印刷外殼)

使用焊條或熱膠將前后面板固定在拱形蓋上各自的位置。我花了幾次試圖粘上膠水,就像之前一樣,訣竅是在關(guān)節(jié)的兩側(cè)上使用很多膠水,就像頸部一樣。 膠水所覆蓋的區(qū)域越大,粘貼的越好。

現(xiàn)在我們有了shell,我們可以繼續(xù)添加所有的電路位。

步驟5:添加電子設(shè)備

這是有趣的部分:焊接!最近幾周我真的對(duì)焊接感到有些厭倦,因?yàn)槲易罱恢痹谶@么做,試圖完成我應(yīng)該盡快提出的另一個(gè)項(xiàng)目(留意我機(jī)器人顯示器的一個(gè)激進(jìn)的新版本)平臺(tái)),導(dǎo)致我破壞了一個(gè)鐵并獲得了另一個(gè)。..無(wú)論如何,這里沒(méi)有太多的焊接,所以這應(yīng)該是非常簡(jiǎn)單的。

注意:如果您的Nano已經(jīng)有針頭它,我建議為這個(gè)項(xiàng)目拆焊它們,它們只會(huì)妨礙它們。

上面的圖片中有一張圖表,如果您愿意,可以按照該圖表進(jìn)行操作。

步驟1:接口

從每個(gè)開(kāi)關(guān),將電線從單個(gè)引腳焊接到電位計(jì)的側(cè)引腳。將從同一側(cè)引腳焊接到Nano上的接地引腳。

將電位器中心引腳的導(dǎo)線焊接到Nano 上的 A0。

焊接未連接引腳 切換到 A1 上的《。

焊接來(lái)自未連接引腳的電線在其他開(kāi)關(guān)到 A2 on Nano 。

注意:哪個(gè)開(kāi)關(guān)是哪個(gè)無(wú)關(guān)緊要,你可以很容易地在代碼中更改它們,除了一個(gè)開(kāi)關(guān)簡(jiǎn)單地與另一個(gè)開(kāi)關(guān)相反的事實(shí)。

切割一段長(zhǎng)于《4》英寸的導(dǎo)線,剝開(kāi)兩側(cè)。使用Sharpie,用一條線標(biāo)記一側(cè)。

將電線焊接到電位計(jì)的最后未連接側(cè)銷(xiāo),扭曲此電線的未連接端 一起與最后一個(gè)子步驟電線的未標(biāo)記的結(jié)尾 。

將此連接端焊接到Nano上的 5V 。

步驟2:顯示和電源

剪切 2根長(zhǎng)度的導(dǎo)線比柔性頸部長(zhǎng)4英寸,剝?nèi)啥恕?/p>

使用Sharpie,標(biāo)記每根電線的末端,一根線2線,一根3 。

將導(dǎo)線2線焊接到Nano 上的數(shù)字引腳9。

在 5mm桶式插孔上》,將電線從中心引腳(正極)焊接到納米上的 Vin。

焊料另一根電線到桶形千斤頂?shù)膫?cè)銷(xiāo)(接地/負(fù)極)。

使用3個(gè) 的長(zhǎng)線將《3》 的長(zhǎng)線旋轉(zhuǎn)。

將這些 電線焊接到Nano 上的開(kāi)路GND引腳。

隔離連接 電氣膠帶或熱膠,如果需要。

步驟3:切割孔(僅限金屬版,如果3D打印封面,則應(yīng)該沒(méi)問(wèn)題)

使用鉆頭和 X-acto或美工刀,小心在封面?zhèn)让娲虺隹?《納米的 USB端口。

另一個(gè)洞關(guān)于桶面孔的大小在封面背面,最好靠近USB端口對(duì)面的一側(cè)。

步驟4:安裝組件

Feed三根長(zhǎng)線穿過(guò)彈性頸部并從外伸出呃那邊。

使用大量熱膠,將槍管插孔安裝到位,引腳朝向頂蓋頂部。

再次使用大量熱膠,安裝Nano ,重置按鈕朝下和插槽中的USB端口。我在桶式千斤頂和Nano 之間做了一個(gè)“熱膠橋”,這使得每個(gè)人牢牢地保持對(duì)方。

現(xiàn)在我們可以繼續(xù)制作加權(quán)基數(shù)!

第6步:加權(quán)基數(shù)

我對(duì)自己的焊接技術(shù)很有信心并且計(jì)劃好了,所以我在測(cè)試代碼之前先添加了基礎(chǔ)。如果你對(duì)自己的技能不太自信,我會(huì)建議跳過(guò)這一步,當(dāng)你知道一切正常時(shí),最后回到它。

如果你制作了3D打印版本,你可以跳過(guò)第一步繼續(xù)前進(jìn)到第二步。

第1步:木材

從一張1/4英寸的膠合板,切割底座約 3英寸乘2英寸。

將邊緣打磨以平滑將其打開(kāi)并移除色塊。

第2步:重量

首先,確保您的重量選擇,無(wú)論是磁鐵,金屬還是定制焊錫,都適合我們制造的金屬蓋邊緣。我的一個(gè)方向有點(diǎn)大,所以我用X-acto刀從側(cè)面刮了一下。如果你不是那種你可以做到這一點(diǎn)的那種,你可能不得不擺弄不同的基礎(chǔ)設(shè)計(jì)。

在膠合板的中心熱膠粘,或者在3D打印設(shè)計(jì)的情況下,在中心“托盤(pán)”中我為此設(shè)計(jì)的區(qū)域。

步驟3:底座

將金屬蓋安裝在重物上,然后將放在木質(zhì)底座上。 (對(duì)于3D打印設(shè)計(jì),請(qǐng)將其裝入預(yù)制凹槽中。)

確保重量不會(huì)干擾任何電子設(shè)備。

使用熱膠來(lái)保護(hù)基礎(chǔ)。使用足夠確保連接牢固。

現(xiàn)在我們完全制作了控制盒,讓我們繼續(xù)操作燈。

第7步:NeoPixel Halo Ring

此燈的名稱的靈感,這部分是我們將用作源的NeoPixel光環(huán)照明。如果需要,可以使用任何NeoPixel或可單獨(dú)尋址的LED環(huán)修改或替換此特定部件。

步驟1:焊接

剪切的NeoPixels 12個(gè)LED 的長(zhǎng)度。

將 GND引腳焊接到 3線的彈性頸部的線。

將 Din引腳焊接到 2線的電線上。

將 5V引腳焊接到有線 1行。

第2步:測(cè)試燈光

下載并安裝 Adafruit_NeoPixel庫(kù),然后打開(kāi)“strandtest”代碼。

更改常量 PIN為9 。

更改定義條帶的行,使其配置為12個(gè)LED 。

將代碼上傳到Nano,確保所有LED正常運(yùn)行。

用工作的LED替換任何有故障的LED ,直到整個(gè)條帶工作。

步驟3:振鈴

采取“堅(jiān)持并點(diǎn)擊”燈光中的“頂環(huán)”,內(nèi)側(cè)邊緣 切斷任何螺絲安裝座。

在邊緣上切出一個(gè)小凹口,用于從條帶上切下電線。

剝?nèi)シ饷妫纯碞eoPixels背面的膠帶(如果有的話)和將它們粘在戒指內(nèi),條帶的任一端正好在我們制造的凹口處。

使用熱膠牢固固定條帶邊緣。

膠水完全冷卻后, 再次測(cè)試像素。這是為了確保沒(méi)有人對(duì)熱量和卷曲(我的一些人)。

步驟4:裝載

切出兩個(gè)1/4英寸木材的小矩形,大約環(huán)的高度和1 2/3倍寬。

將這些相互平行的》粘在環(huán)的導(dǎo)線兩側(cè), 填充間隙并用膠水完全覆蓋電線。

小心地》 超長(zhǎng)的線回到彈性頸部,然后粘合木塊使用充足的膠水和小心地填充任何空隙(不用膠水填充頸部)?!?頸部。

步驟6:完成

如果你愿意,你可以涂上戒指并裝上任何顏色,我更喜歡銀色飾面,所以我只使用Sharpie來(lái)掩蓋那些(令人討厭)打印的徽標(biāo)到了戒指上。燈的其余部分也是如此。

現(xiàn)在我們可以繼續(xù)完成最終的代碼了!

步驟8:代碼和測(cè)試

所以我們現(xiàn)在需要做的就是對(duì)燈進(jìn)行編程并進(jìn)行測(cè)試。附件是當(dāng)前的代碼版本(rev1.0),我已經(jīng)相當(dāng)廣泛地測(cè)試了這個(gè)代碼,它運(yùn)行得很好。我正在開(kāi)發(fā)一個(gè)rev2.0,其中按鈕被配置為外部中斷,以便可以更容易地在兩者之間切換模式,但是這個(gè)版本是錯(cuò)誤的,還沒(méi)有準(zhǔn)備好發(fā)布。使用當(dāng)前版本,您必須按住按鈕,直到它運(yùn)行Debounce循環(huán)并識(shí)別狀態(tài)更改,這可能會(huì)對(duì)較長(zhǎng)的“動(dòng)態(tài)”循環(huán)產(chǎn)生煩擾。下面是代碼中寫(xiě)有一些解釋?zhuān)上螺d版本中有相同的解釋?zhuān)?/p>

#include

#ifdef __AVR__

#include

#endif

#define PIN 9

#define POT A0

#define BUTTON1 A1

#define BUTTON2 A2

// Parameter 1 = number of pixels in strip

// Parameter 2 = Arduino pin number (most are valid)

// Parameter 3 = pixel type flags, add together as needed:

// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)

// NEO_KHZ400 400 KHz (classic ‘v1’ (not v2) FLORA pixels, WS2811 drivers)

// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)

// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)

// NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products)

Adafruit_NeoPixel halo = Adafruit_NeoPixel(12, PIN, NEO_GRB + NEO_KHZ800);

// And now, a safety message from our friends at Adafruit:

// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across

// pixel power leads, add 300 - 500 Ohm resistor on first pixel‘s data input

// and minimize distance between Arduino and first pixel. Avoid connecting

// on a live circuit.。.if you must, connect GND first.

// Variables

int buttonState1;

int buttonState2; // the current reading from the input pin

int lastButtonState1 = LOW; // the previous reading from the input pin

int lastButtonState2 = LOW;

int mode; //the mode of our lights, can be one of 16 settings (0 through 15)

int brightVal = 0; // the brightness/ speed, as set by the potentiometer

// the following variables are long’s because the time, measured in miliseconds,

// will quickly become a bigger number than can be stored in an int.

long lastDebounceTime = 0; // the last time the output pin was toggled

long debounceDelay = 50; // the debounce time; increase if the output flickers

void debounce (){

// read the state of the switch into a local variable:

int reading1 = digitalRead(BUTTON1);

int reading2 = digitalRead(BUTTON2);

// If either of the buttons changed, due to noise or pressing:

if (reading1 != lastButtonState1 || reading2 != lastButtonState2) {

// reset the debouncing timer

lastDebounceTime = millis();

}

if ((millis() - lastDebounceTime) 》 debounceDelay) {

// if the button state has definitely changed due to pressing/releasing:

if (reading1 != buttonState1) {

buttonState1 = reading1; //set it as the reading if it‘s changed

if (buttonState1 == LOW) { //these are set as active low switches

mode ++;

if (mode == 16){

mode = 0;

}

}

}

if (reading2 != buttonState2){

buttonState2 = reading2;

if (buttonState2 == LOW){

mode = mode - 1;

if (mode == -1){

mode = 15;

}

}

}

}

// save the reading for the next time through the loop

lastButtonState1 = reading1;

lastButtonState2 = reading2;

}

void getBright(){ //our code to read the potentiometer, utputs a value between 0 and 255. Used to set brightness in some modes and speed in others.

int potVal = analogRead(POT);

brightVal = map(potVal, 0, 1023, 0, 255);

}

//Here are our color modes. Some of these are derived from the strandtest example, others are original.

// Fill the dots one after the other with a color (colorwipe, derived from strandtest)

void colorWipe(uint32_t c, uint8_t wait) {

for(uint16_t i=0; i

//rainbow functions (also derived from strandtest)

void rainbow(uint8_t wait) {

uint16_t i, j;

for(j=0; j《256; j++) {

for(i=0; i

// Slightly different, this makes the rainbow equally distributed throughout

void rainbowCycle(uint8_t wait) {

uint16_t i, j;

for(j=0; j《256*5; j++) { // 5 cycles of all colors on wheel

for(i=0; i《 halo.numPixels(); i++) {

halo.setPixelColor(i, Wheel(((i * 256 / halo.numPixels()) + j) & 255));

}

halo.show();

delay(wait);

}

}

// Input a value 0 to 255 to get a color value.

// The colours are a transition r - g - b - back to r.

uint32_t Wheel(byte WheelPos) {

WheelPos = 255 - WheelPos;

if(WheelPos 《 85) {

return halo.Color(255 - WheelPos * 3, 0, WheelPos * 3);

}

if(WheelPos 《 170) {

WheelPos -= 85;

return halo.Color(0, WheelPos * 3, 255 - WheelPos * 3);

}

WheelPos -= 170;

return halo.Color(WheelPos * 3, 255 - WheelPos * 3, 0);

}

void setup() {

// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket

#if defined (__AVR_ATtiny85__)

if (F_CPU == 16000000) clock_prescale_set(clock_div_1);

#endif

// End of trinket special code

pinMode(POT, INPUT);

pinMode(BUTTON1, INPUT_PULLUP);

pinMode(BUTTON2, INPUT_PULLUP);

pinMode(PIN, OUTPUT);

Serial.begin(9600); //debugging stuff

halo.begin();

halo.show(); // Initialize all pixels to ’off‘

}

void loop() {

debounce();

//Serial.println(mode); //more debugging

//Serial.println(lastButtonState1);

//Serial.println(lastButtonState2);

if (mode == 0){

getBright();

for (int i = 0; i 《 halo.numPixels(); i++){

halo.setPixelColor(i, halo.Color(brightVal, brightVal, brightVal)); //set all pixels to white

}

halo.show();

};

if (mode == 1){

getBright();

for (int i = 0; i 《 halo.numPixels(); i++){

halo.setPixelColor(i, halo.Color(brightVal, 0, 0)); // set all pixels to red

}

halo.show();

};

if (mode == 2){

getBright();

for (int i = 0; i 《 halo.numPixels(); i++){

halo.setPixelColor(i, halo.Color(0, brightVal, 0)); // set all pixels to green

}

halo.show();

};

if (mode == 3){

getBright();

for (int i = 0; i 《 halo.numPixels(); i++){

halo.setPixelColor(i, halo.Color(0, 0, brightVal)); // set all pixels to blue

}

halo.show();

};

if (mode == 4){

getBright();

for (int i = 0; i 《 halo.numPixels(); i++){

halo.setPixelColor(i, halo.Color(0, brightVal, brightVal)); // set all pixels to cyan

}

halo.show();

};

if (mode == 5){

getBright();

for (int i = 0; i 《 halo.numPixels(); i++){

halo.setPixelColor(i, halo.Color(brightVal, 0, brightVal)); // set all pixels to purple/magenta

}

halo.show();

};

if (mode == 6){

getBright();

for (int i = 0; i 《 halo.numPixels(); i++){

halo.setPixelColor(i, halo.Color(brightVal, brightVal, 0)); // set all pixels to orange/yellow

}

halo.show();

};

if (mode == 7){ //now the dynamic modes

getBright();

colorWipe(halo.Color(brightVal, 0, 0), 50); // Red

};

if (mode == 8){

getBright();

colorWipe(halo.Color(0, brightVal, 0), 50); // Green

};

if (mode == 9){

getBright();

colorWipe(halo.Color(0, 0, brightVal), 50); // Blue

};

if (mode == 10){

getBright();

colorWipe(halo.Color(brightVal, brightVal, brightVal), 50); // white

};

if (mode == 11){

getBright();

colorWipe(halo.Color(brightVal, brightVal, 0), 50); // orange/yellow

};

if (mode == 12){

getBright();

colorWipe(halo.Color(0, brightVal, brightVal), 50); // cyan

};

if (mode == 13){

getBright();

colorWipe(halo.Color(brightVal, 0, brightVal), 50); // purple/magenta

};

if (mode == 14){ // the last two are speed control, because the brightness is dynamic

getBright();

rainbow(brightVal);

};

if (mode == 15){

getBright();

rainbowCycle(brightVal);

};

delay(10); //allow the processor a little rest

}

第9步:大結(jié)局

現(xiàn)在我們有一個(gè)夢(mèng)幻般的超亮小燈!

您可以從此處進(jìn)一步修改,或保持原樣。您可以更改代碼,甚至可以完全編寫(xiě)新代碼。您可以放大底座并添加電池。你可以添加一個(gè)風(fēng)扇。您可以添加更多NeoPixels。你可以用它做的所有事情的清單幾乎是無(wú)限的。我說(shuō)“差不多”,因?yàn)槲液艽_定我們?nèi)匀粵](méi)有技術(shù)將其轉(zhuǎn)換為迷你門(mén)戶生成器(不幸的是),但除此之外,唯一的限制是你的想象力(在某種程度上,正如我最近發(fā)現(xiàn)的那樣,你工作坊中的工具)。但是,如果你沒(méi)有這些工具,不要讓它阻止你,如果你真的想要做某事,總有辦法。

這是這個(gè)項(xiàng)目的一部分,向我自己(以及在較小的程度上,世界)證明我可以做出其他人也想要的有用的東西,即使我擁有的只是一個(gè)名副其實(shí)的舊垃圾和廢棄組件以及一堆Arduino供應(yīng)品。

我會(huì)離開(kāi)這里,因?yàn)槲艺J(rèn)為這個(gè)結(jié)果相當(dāng)不錯(cuò)。如果您有改進(jìn)建議或有關(guān)我的方法的問(wèn)題,請(qǐng)?jiān)谙旅媪粞?。如果你做了這個(gè),拍照,我們都想看到它!

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 燈泡
    +關(guān)注

    關(guān)注

    0

    文章

    109

    瀏覽量

    25324
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    197097
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MangoTree Halo Ultra「全新PXI」,標(biāo)配自動(dòng)糾錯(cuò)內(nèi)存#

    內(nèi)存
    芒果樹(shù)數(shù)字
    發(fā)布于 :2026年03月06日 15:59:34

    如何制作 rt117x 閃存驅(qū)動(dòng)程序?

    的RAM中運(yùn)行它,然后升級(jí)程序。但是現(xiàn)在我不知道如何制作這個(gè)閃存驅(qū)動(dòng)器。因此,我想問(wèn)一下 FAE 是否可以告訴我如何制作它,或者是否有一個(gè)使用 rt1170 制作閃存驅(qū)動(dòng)器的 DEMO 項(xiàng)目。你能提供嗎?
    發(fā)表于 03-04 06:38

    如何制作字母數(shù)字鍵盤(pán)?

    制作字母數(shù)字鍵盤(pán)
    發(fā)表于 09-05 07:24

    如何制作RGB565標(biāo)志?

    如何制作RGB565標(biāo)志?
    發(fā)表于 09-04 06:35

    索尼重載設(shè)備的高質(zhì)量遠(yuǎn)程制作方案和應(yīng)用(2)

    索尼的遠(yuǎn)程制作可以被稱之為制作級(jí)的高質(zhì)量遠(yuǎn)程制作,或重載設(shè)備的高質(zhì)量遠(yuǎn)程制作,遠(yuǎn)程設(shè)備結(jié)合常規(guī)系統(tǒng)設(shè)備,提供和本地制作類(lèi)似的
    的頭像 發(fā)表于 08-21 15:56 ?1279次閱讀
    索尼重載設(shè)備的高質(zhì)量遠(yuǎn)程<b class='flag-5'>制作</b>方案和應(yīng)用(2)

    索尼重載設(shè)備的高質(zhì)量遠(yuǎn)程制作方案和應(yīng)用(1)

    遠(yuǎn)程制作是近來(lái)技術(shù)發(fā)展的重點(diǎn)之一。遠(yuǎn)程制作通用的分類(lèi)是什么?一些痛點(diǎn)如何解決,比如碼率和畫(huà)質(zhì)的矛盾,HFR超高速信號(hào)如何傳輸,多種輔助信號(hào)如何減少對(duì)公網(wǎng)IP地址的依賴等?索尼支持多種遠(yuǎn)程制作模式,在
    的頭像 發(fā)表于 08-21 15:55 ?980次閱讀
    索尼重載設(shè)備的高質(zhì)量遠(yuǎn)程<b class='flag-5'>制作</b>方案和應(yīng)用(1)

    從細(xì)微處把關(guān)!小燈泡氣密性檢測(cè)儀對(duì)照明行業(yè)的重要性

    在照明行業(yè),小燈泡結(jié)構(gòu)雖簡(jiǎn),但生產(chǎn)工藝細(xì)節(jié)關(guān)乎性能與壽命。氣密性檢測(cè)是關(guān)鍵工序,影響燈泡穩(wěn)定性、安全性及壽命。本文將從技術(shù)原理、行業(yè)意義、實(shí)際應(yīng)用三方面,下述是探討小燈泡氣密性檢測(cè)儀對(duì)行業(yè)的重要性
    的頭像 發(fā)表于 06-20 14:03 ?526次閱讀
    從細(xì)微處把關(guān)!小<b class='flag-5'>燈泡</b>氣密性檢測(cè)儀對(duì)照明行業(yè)的重要性

    小身材,大力氣!名片大小的插板式模組200W以上功率輸出!

    大型系統(tǒng)的控制需求,ZLG致遠(yuǎn)電子推出了插板式模組。用戶按需制作分線底板,從站板插在底板上通過(guò)EtherCAT網(wǎng)絡(luò)級(jí)聯(lián),最大支持255個(gè)節(jié)點(diǎn)。驅(qū)動(dòng)16組燈泡也是采
    的頭像 發(fā)表于 06-13 11:34 ?668次閱讀
    小身材,大力氣!名片大小的插板式模組200W以上功率輸出!

    各種WIFI天線制作技巧資料

    各種WIFI 天線制作技巧資料
    發(fā)表于 06-10 15:11 ?0次下載

    雙菱天線制作資料

    高效天線制作
    發(fā)表于 06-10 15:10 ?0次下載

    U盤(pán)一鍵制作

    在電腦維修中啟動(dòng)盤(pán)很重要,靠譜的u盤(pán)一鍵啟動(dòng)制作方法
    發(fā)表于 05-06 16:10 ?44次下載

    松下影像制作方案分享會(huì)成功舉辦

    近日,松下紀(jì)念館熱鬧非凡,新老朋友如約而至,相聚“松下影像制作方案分享會(huì)”。本次活動(dòng)以“賦能4K融媒制作”為主題,向大家展示了松下以KAIROS為核心的多格式IP/SDI混合融媒制作流程,同時(shí)分享豎屏拍攝的高效解決方案。
    的頭像 發(fā)表于 04-27 10:30 ?881次閱讀

    芯科科技助力Kwikset開(kāi)發(fā)新一代Halo Select智能門(mén)鎖產(chǎn)品

    的軟硬件設(shè)計(jì)資源,助力其開(kāi)發(fā)新一代安全、節(jié)能的Halo Select 智能門(mén)鎖產(chǎn)品。Kwikset開(kāi)發(fā)人員可充分利用我們的無(wú)線SoC在遠(yuǎn)距離傳輸與功耗優(yōu)化方面的特性,達(dá)成對(duì)智能門(mén)鎖至關(guān)重要的超長(zhǎng)電池壽命,進(jìn)而讓用戶得以大幅延長(zhǎng)電池更換周期。
    的頭像 發(fā)表于 04-11 10:52 ?1310次閱讀

    橫店影視職業(yè)學(xué)院聯(lián)合索尼舉辦虛擬制作公開(kāi)課

    為推動(dòng)虛擬制作技術(shù)在影視及相關(guān)行業(yè)的應(yīng)用與進(jìn)步,浙江橫店影視職業(yè)學(xué)院影視制作中心、索尼(中國(guó))有限公司及東陽(yáng)機(jī)燈影業(yè)聯(lián)合舉辦了針對(duì)虛擬制作全流程技術(shù)與創(chuàng)新應(yīng)用及案例分享的公開(kāi)課。
    的頭像 發(fā)表于 04-11 10:40 ?961次閱讀

    rootfs鏡像制作其實(shí)沒(méi)那么難

    在嵌入式Linux開(kāi)發(fā)中,文件系統(tǒng)的打包和鏡像制作是關(guān)鍵步驟。本文介紹了Linux核心板文件系統(tǒng)的打包與鏡像制作方法,適合嵌入式開(kāi)發(fā)人員快速上手。前言致遠(yuǎn)電子Linux核心板提供的系統(tǒng)固件里,除了
    的頭像 發(fā)表于 04-03 11:37 ?1134次閱讀
    rootfs鏡像<b class='flag-5'>制作</b>其實(shí)沒(méi)那么難