第1步:在Illustrator中設(shè)計(jì)
源圖像是一個(gè)插圖William Teal,請(qǐng)給他的投資組合尋找他的其他偉大作品:https://www.behance.net/tealeo93(我認(rèn)為這是他的 - 我跟著GoogleImages的兔子洞,Pinterest,GraphicDesignJunction,Behance)
我從谷歌搜索“Low-Poly Iron Man”或“Geometric Iron Man Wallpaper”中找到了源圖像。我下載了圖片并在Adobe Illustrator中打開了它。
接下來,我使用Illustrator中的鋼筆工具手動(dòng)繪制圖像中的每一行。我這樣做是為了激光切割器能夠蝕刻所有內(nèi)部線條,因?yàn)槭噶壳懈钤O(shè)置為低功率而不是必須在整個(gè)圖像上進(jìn)行光柵掃描?;藥讉€(gè)小時(shí)的時(shí)間(在學(xué)校大約有3個(gè)課時(shí))
一旦圖片完全被勾勒出來,我將所有這些線組合在一起,然后畫出手,胸部和眼睛的形狀。我將這些全部放在一個(gè)組中,并將其填充顏色設(shè)置為藍(lán)色,這樣我就可以輕松地將它們區(qū)分開來。我將它們復(fù)制到丙烯酸切割的單獨(dú)文件中。
對(duì)于丙烯酸部件,我想最大化我的丙烯酸片的效率,所以我上傳到這個(gè)網(wǎng)站http://svgnest.com/并上傳了一個(gè)只有丙烯酸切片的文件,讓它“筑巢“的部分。這使用了一些迭代和很酷的算法來確定工作表上零件的最有效布局,以最大限度地減少浪費(fèi)。它輸出IronManAcrylic.ai文件中的配置。
步驟2:激光切割
在切割木材之前,我先用底漆噴涂,然后輕輕打磨,使其平滑。我這樣做是為了讓涂料后來更均勻地涂抹。
當(dāng)我在整個(gè)木頭上切割輪廓時(shí),我在60W Epilog Fusion M2上使用了100%的6%速度(我認(rèn)為)克萊姆森創(chuàng)客空間40。這對(duì)大多數(shù)都有效,但是木頭在一個(gè)角落里非常翹曲,所以我實(shí)際上不得不將激光重新聚焦在那個(gè)角落并再次運(yùn)行那部分切割。
由于我還繪制了所有內(nèi)部三角形的線條,我還能夠使用矢量剪切快速蝕刻所有這些線條,如上面的視頻所示。這比光柵蝕刻文件要快得多。我想我使用了70%的速度和50%的功率 - 你只需要進(jìn)行實(shí)驗(yàn)。
1/8“丙烯酸我首先以100%的功率和8%的速度切割,這有點(diǎn)太強(qiáng)大了,在未受保護(hù)的丙烯酸樹脂上留下了一些焦痕,所以我以14%的速度做到了它就像一個(gè)魅力。
第3步:繪畫
那么。很多。繪畫。我估計(jì)這是大約20個(gè)小時(shí)的繪畫。
如果你正在考慮用這么多的三角形做一個(gè)項(xiàng)目,請(qǐng)不要自己畫畫。只需付錢就可以將圖像印在金屬或木頭上然后將其剪下來,或者將其打印在其他東西上并將其粘貼在堅(jiān)固的東西上。除非你喜歡,否則不要自己畫畫。繪畫。
當(dāng)我畫這幅畫時(shí),我用FrogTape畫家的膠帶勾勒出作品上的每個(gè)三角形。這比我早期用手填充每個(gè)三角形而沒有任何膠帶邊框的結(jié)果更加一致。
FrogTape提供比白色或藍(lán)色畫家更清晰的線條 膠帶。您的時(shí)間和理智完全值得額外的2美元/卷膠帶。如果你想要它更瘦,你可以使用一把精確的刀將頂部幾層膠帶切成更小的條帶,這樣當(dāng)你勾勒出一個(gè)三角形時(shí),它就不會(huì)覆蓋那么多相鄰的三角形。
我很便宜并且沒有太多繪畫經(jīng)驗(yàn)所以我使用了2盎司的Michael‘s或Hobby Lobby的油漆。我發(fā)現(xiàn)Craft Smart Premium系列覆蓋得相當(dāng)好,最后使用CraftSmart Premium金屬節(jié)日紅色涂料混合白色或黑色來制作95%的紅色調(diào)。黃色只是Craft Smart優(yōu)質(zhì)黃色,稍微拋出一點(diǎn)金色,試圖讓它略顯閃亮。
如果你知道一種更便宜的油漆,請(qǐng)?jiān)谠u(píng)論中告訴我!我經(jīng)常不得不做兩層油漆,這樣下面的白色都不能顯示出來,我希望有一些更好的油漆可以避免這種情況。
一旦全部涂漆(但在粘合丙烯酸片之前),我使用光滑的透明涂層噴霧來保護(hù)涂料并使其全部有光澤。
第4步:亞克力片和亞克力背光
安裝丙烯酸片是一個(gè)挑戰(zhàn),因?yàn)槲业墓ぷ髋_(tái)/桌子和木片都有輕微的翹曲,所以我無法保證它會(huì)保持足夠長的時(shí)間以保持我的環(huán)氧樹脂組。作為一種解決方法,我將木材壓到我正在粘合的丙烯酸片附近的桌子上,并首先使用熱膠將每個(gè)丙烯酸片固定到位。從丙烯酸樹脂的正面可以看到熱膠,因此我使用Gorilla Glue兩部分環(huán)氧樹脂涂上牙簽,將丙烯酸片永久固定到位。我用小鉗子回過去,撬出原來的熱膠片。
我為每個(gè)丙烯酸片制作了一個(gè)單獨(dú)的光模塊。首先,我將一塊1/4英寸的黑色泡沫板切成一個(gè)略大于所需尺寸的尺寸,然后在上面畫出丙烯酸片的輪廓。然后我用一種大部分覆蓋丙烯酸樹脂的方式切割并粘貼該條的LED條。區(qū)域。
使用原型板和一些螺絲端子可以更好地完成這一步,但是當(dāng)我準(zhǔn)備開始接線時(shí),我手邊沒有那些。作為解決方法,我切了一些女性接頭引腳剝離到4個(gè)輸入 - 接地,5V輸入,數(shù)據(jù)輸入,數(shù)據(jù)輸出。我將母接頭條熱粘到泡沫板上并開始將所有燈焊接在一起。
焊接實(shí)際上真的很棒由于這些焊盤有多小,所以很有挑戰(zhàn)性。幸運(yùn)的是,我有兩次機(jī)會(huì)用于所有電源和接地焊盤,因?yàn)槊總€(gè)焊盤都可以為兩端提供電源。我布置了條帶,使數(shù)據(jù)線以蛇形圖案流動(dòng)。使用溫度可調(diào)的烙鐵,我發(fā)現(xiàn)我喜歡溫度在上端綠色的范圍 - 我可能喜歡它很熱,因?yàn)槲沂褂枚嗄甑睦予F很便宜,沒有溫度控制和熱。
一旦焊接完畢,我就用一把精確的刀(用新刀片)切割泡沫板的條帶以封閉燈光并減少滲透。我使用的是白色而不是黑色,因?yàn)槲矣懈L的條帶,實(shí)際上它是一件好事,因?yàn)樗屛铱梢詮谋趁孑p松看到在開始接線的測(cè)試步驟中是否打開了LED條帶部分。
第5步:電子產(chǎn)品的其余部分
我總是嘗試通過首先輸入電源輸入,然后是控制器,然后是其他電路板元件和外圍設(shè)備來連接我的項(xiàng)目。我將電池組熱粘在適當(dāng)位置,然后將分離式直流插孔電纜布線,以便從項(xiàng)目邊緣輕松接入充電輸入,以便于充電。電池組配有分體式電纜,說明書說在使用電池組時(shí)可以給它充電。
我使用便宜的micro-usb電纜,并用一個(gè)DC桶插孔取代微型USB端,這樣我就可以使用5V輸入。我將5V放在面包板的一個(gè)電壓軌上并插入ESP8266 Vin引腳,然后接地到ESP8266的接地導(dǎo)軌和接地引腳(所有接地都應(yīng)該在控制器內(nèi)部連接在一起,所以無論哪一個(gè)都無關(guān)緊要)
標(biāo)準(zhǔn)RGB LED燈條由來自控制器的PWM信號(hào)控制。但是,根據(jù)控制器的不同,微控制器每個(gè)引腳只能提供20mA-50mA的電流。條帶中的每個(gè)LED需要大約這么大的功率,因此我們必須使用某種晶體管來控制條帶。谷歌搜索中出現(xiàn)的一些地方建議TIP122晶體管可以切換5安培或40瓦的功率 - 足以滿足我們的應(yīng)用需求。它們的設(shè)計(jì)并非真正適合面包板,但如果你將每根電線都側(cè)向轉(zhuǎn)動(dòng)90°然后它將適合面包板插槽。我本來打算給每個(gè)散熱器擰一個(gè)小散熱器,但經(jīng)過一些測(cè)試后我確定它們沒有足夠熱到必要。我將每個(gè)晶體管輸入連接到指定用于PWM輸出的ESP8266上的引腳
RGB LED條帶,我碰巧有“防水”橡膠涂層,因此不會(huì)粘在上面木頭以及我想要的。作為一種解決方法,我切割了一小塊泡沫板,并將泡沫塊粘在木頭上,然后將LED條粘在那些上面。
步驟6:編程概述
該項(xiàng)目使用各種庫,以便可以通過名為Blynk的手機(jī)應(yīng)用程序控制它,從一個(gè)打開/關(guān)閉Amazon Echo,代碼可以通過wifi更新。使用的一些庫位于
Blynk - https://www.blynk.cc/
Blynk是一項(xiàng)服務(wù),可以在ESP8266微控制器和可定制的手機(jī)應(yīng)用程序之間進(jìn)行簡單的控制。手機(jī)應(yīng)用程序允許您使用按鈕,滑塊,RGB顏色選擇器等構(gòu)建應(yīng)用程序。每當(dāng)您運(yùn)行某個(gè)功能時(shí),每個(gè)“小部件”都會(huì)更改可從Blynk應(yīng)用程序中提取的值。
OTA(無線)更新 - ESP8266附帶的默認(rèn)庫
Alexa Wemo模擬器 - https://github.com/witnessmenow/esp8266-alexa-wemo.。.
讓Amazon Echo認(rèn)為您的項(xiàng)目是Wemo燈光開關(guān)。該代碼允許您定義在Alexa發(fā)送“開啟”信號(hào)時(shí)運(yùn)行的功能以及關(guān)閉信號(hào)的單獨(dú)功能。您可以使用單個(gè)控制器模擬多個(gè)設(shè)備(最多10個(gè)),從而提供更大的靈活性。設(shè)置了我的代碼,以便Echo找到兩個(gè)名為“鋼鐵俠”和“夜燈”的設(shè)備。它們都是這個(gè)項(xiàng)目和這個(gè)控制器,但如果我打開“夜燈”,它將運(yùn)行一個(gè)帶有暗淡白光的功能,其中打開“鋼鐵俠”將外部LED條設(shè)置為紅色,丙烯酸部件設(shè)置為白色。
使用vMicro在Visual Studio中進(jìn)行Arduino編輯
我已經(jīng)在工作中使用Visual Studio幾個(gè)月了,我喜歡所有自動(dòng)完成工具它內(nèi)置了,所以經(jīng)過一些搜索我發(fā)現(xiàn)我實(shí)際上可以使用Visual Studio而不是普通的Arduino IDE。單個(gè)計(jì)算機(jī)vMicro許可證的費(fèi)用為學(xué)生15美元,在我看來,如果你要花費(fèi)超過幾個(gè)小時(shí)編程Arduino代碼,這是完全值得的。
FastLED與Neopixel
我在我的項(xiàng)目中使用FastLED只是因?yàn)槲野l(fā)現(xiàn)了更多在線功能,而且我已經(jīng)制作了許多項(xiàng)目使用它,所以我有很多代碼可以重用。我相信如果你對(duì)它進(jìn)行了足夠的努力,Neopixel庫也能正常工作。我打算將所有自定義功能放在GitHub上供其他人使用,我還沒有完成它。
第7步:編程提示
整體結(jié)構(gòu)
我是我的控制工程師我們經(jīng)常使用稱為PLC編程的編程風(fēng)格。這種類型類似于Arduino,因?yàn)樗幸粋€(gè)循環(huán),每隔幾毫秒不斷運(yùn)行,處理輸入/輸出,在代碼中的不同“狀態(tài)”之間跳轉(zhuǎn)。例如,代碼可能會(huì)遇到一個(gè)處理輸送機(jī)的步驟,如果輸送機(jī)上有托盤,它將進(jìn)入狀態(tài)45,但如果沒有托盤,它將進(jìn)入狀態(tài)100.這種編程風(fēng)格激發(fā)了我的代碼,我做了一些更改,以便我只能讀取一個(gè)字符串而不是一個(gè)州號(hào)。
我使用全局變量(commandString)來跟蹤項(xiàng)目所處的光狀態(tài)。另外,我使用一個(gè)名為“animate”的布爾值來確定它是否會(huì)突破函數(shù)。因此,當(dāng)您按下Blynk上的“經(jīng)典模式”按鈕時(shí),我的代碼會(huì)將動(dòng)畫設(shè)置為false(以便它突破當(dāng)前函數(shù))并將commandString設(shè)置為“RunClassic”。每個(gè)函數(shù)通過運(yùn)行“CheckInput”函數(shù)不斷檢查來自Blynk,Alexa和OTAUpdate的輸入。
全局變量
我使用全局變量來跟蹤項(xiàng)目中的某些設(shè)置。這些變量在我的設(shè)置代碼之前初始化,這使得我的代碼中的任何函數(shù)都可以訪問它們。
globalBrightness(0-255)
globalSpeed - 任何動(dòng)畫的速度動(dòng)畫功能。這個(gè)項(xiàng)目只有褪色的彩虹
globalDelayTime - FastLED需要大約30微秒才能將信息寫入每個(gè)LED,因此我將此變量設(shè)置為NUM_LEDS * 30/1000 + 1;然后在我執(zhí)行FastLED.show()的大部分時(shí)間后添加延遲(globalDelayTime),以便命令不會(huì)中斷。
_r,_g,_b - 全局RGB值。這樣,不同的顏色方案按鈕可以只改變?nèi)謗/g/b值,并且最終都調(diào)用相同的函數(shù)
Arduino OTA更新控制器命名
在我弄清楚如何使用無線更新功能命名控制器之前,我花了很多煩惱。在“ArduinoOTA.onStart(” -
ArduinoOTA.setHostname(“IronMan”);
vMicro與Visual Studio之前,只需在代碼的設(shè)置部分中包含此行提示
有時(shí),visual studio會(huì)檢測(cè)標(biāo)準(zhǔn)C ++文件等深層文件的某些問題并拋出一些錯(cuò)誤。嘗試打開/關(guān)閉不同類型的錯(cuò)誤消息,直到您的錯(cuò)誤出現(xiàn)錯(cuò)誤為止。打開項(xiàng)目而不是任何支持文件。您也可以在Arduino IDE中打開代碼,看看它是否會(huì)在那里編譯,或者它是否會(huì)提供更有用的錯(cuò)誤代碼。
FastLED
如果這個(gè)Instructable已經(jīng)使用了幾周而且我還沒有想出如何將我的自定義函數(shù)放在GitHub上,請(qǐng)給我發(fā)消息。
FastLED被列為與ESP8266兼容,但引腳定義可能不正確。在FastLED的文檔中,它說你可以在#include 之前嘗試包含以下行之一
//#define FASTLED_ESP8266_RAW_PIN_ORDER
//#define FASTLED_ESP8266_NODEMCU_PIN_ORDER
//#define FASTLED_ESP8266_D1_PIN_ORDER
然而,我嘗試了所有三個(gè)并且從來沒有讓我的所有引腳都匹配。目前我正在使用最后一行并且剛接受當(dāng)我告訴FastLED使用引腳D2時(shí)它實(shí)際上使用了我的控制器上的引腳D4。
盡管我的燈光只是Neopixels的廉價(jià)中國版,我仍然告訴FastLED在設(shè)置中將它們視為Neopixels
FastLED.addLeds (leds,NUM_LEDS);
FastLED.setCorrection(TypicalLEDStrip);
//FastLED.setMaxPowerInVoltsAndMilliamps(5,maxMilliamps);//適用于電池供電的項(xiàng)目
FastLED.setBrightness(globalBright);
第8步:最終產(chǎn)品
-
led燈
+關(guān)注
關(guān)注
22文章
1596瀏覽量
109754
發(fā)布評(píng)論請(qǐng)先 登錄
汽車LED燈珠光強(qiáng)測(cè)試

LED植物生長燈的原理是什么


評(píng)論