這篇文章來(lái)源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。
承接第1部分的內(nèi)容,我們將在第2部分中繼續(xù)使用Arduino制作有趣的電子產(chǎn)品。在上文中,我們從組裝電路進(jìn)行到加速度計(jì)測(cè)試,這次,我們將完成硬件的制作。這個(gè)獨(dú)特的電子套件創(chuàng)意來(lái)自藝術(shù)家平原真,他的作品主要以“關(guān)系”為主題。大阪藝術(shù)大學(xué)副教授平原先生使用電腦和電子設(shè)備制作了許多媒體藝術(shù)作品。近年來(lái),他主要研究如何使用木材和石頭等天然材料制作3D作品。那么,現(xiàn)在讓我們一起來(lái)探索“基于Arduino的太陽(yáng)能電池板數(shù)字飼養(yǎng)箱”的第2部分(也是最后一部分)。
硬件
步驟分解
我們首先從組裝外部組件和安裝電子元器件開(kāi)始。過(guò)程如下:
用激光切割材料
組裝主體
LED接線及安裝
安裝太陽(yáng)能電池板
步驟1:用激光切割材料
材料是用激光加工機(jī)切割出來(lái)的。外部是3mm厚的椴木膠合板。從左邊起依次為:LED表面,太陽(yáng)能電池板表面,兩個(gè)側(cè)面和LED底座。LED底座上的刻線用于在粘貼LED時(shí)使其對(duì)齊。
可能很難看清楚,其實(shí)在下圖的右上角有一個(gè)1mm厚的半透明亞克力板。它用于幫助擴(kuò)散來(lái)自全彩串行LED燈帶的光。
請(qǐng)下載并使用以下鏈接中提取的數(shù)據(jù)。按照紅線切割,按照黑線刻畫(huà)標(biāo)記。在實(shí)際工作時(shí),請(qǐng)務(wù)必根據(jù)您使用的激光機(jī)來(lái)調(diào)整設(shè)置。
>> CutData.ai
步驟2:組裝主體
在兩側(cè)邊緣涂上木工粘合劑,然后將這四塊板和LED以及太陽(yáng)能電池板粘貼在一起。粘合后立即夾緊并固定到位。如果您擔(dān)心粘合的強(qiáng)度不夠,可以將一小塊木頭貼在粘合位置的拐角處進(jìn)行加固。
步驟3:LED接線及安裝
將燈帶分割成5個(gè)單獨(dú)的全彩LED燈帶。電極中間可以用鉗子剪開(kāi)。將跳線保留在臨時(shí)接線時(shí)的位置。
將單獨(dú)的全彩串行LED燈帶沿對(duì)準(zhǔn)標(biāo)記粘貼到底座上。這個(gè)時(shí)候,請(qǐng)注意在臨時(shí)接線時(shí)所連接的跳線應(yīng)在左上角位置,且電極方向與劃線箭頭方向一致。
各個(gè)全彩串行LED燈帶的電極之間通過(guò)硬跳線進(jìn)行連接。電極之間的內(nèi)側(cè)距離約為11mm,中間距離約為17mm,外側(cè)距離約為23mm。左上方連接跳線的LED編號(hào)為0,其余LED編號(hào)按照連接順序遞增,因此右下方LED編號(hào)為24。
現(xiàn)在,我們戳一下面包板上的跳線,然后檢查其是否斷開(kāi)。將LED示例程序([Adafruit NeoPixel]> [Simple])中NUPIXELS的值從16改為25即可完成。如果LED都呈綠色亮起,就表示沒(méi)有問(wèn)題。
#define NUMPIXELS 16
↓
#define NUMPIXELS 25
步驟4:安裝LED底座和面包板
依次疊加椴木膠合板(LED表面)、亞克力板、LED底座,然后用四個(gè)螺絲將它們固定到位。連接著全彩串行LED燈帶的跳線應(yīng)從板之間布線到內(nèi)部。墊片使用非導(dǎo)電墊圈(M2)。由于間隙越厚越利于光的擴(kuò)散,因此請(qǐng)根據(jù)自己的需要將間隙距離調(diào)整到約0.5mm至1mm之間。
將面包板連接到LED底座的中心。面包板的背部也有雙面膠帶,所以將離型紙撕下并將面包板貼上。請(qǐng)注意,如果您在安裝后嘗試移除面包板,那么里面的引腳將會(huì)脫落。將連接了全彩串行LED燈帶的跳線插入面包板的電源、GND和6個(gè)引腳。
步驟5:用3D打印機(jī)制造太陽(yáng)能電池板托架
用于固定太陽(yáng)能電池板的托架通過(guò)3D打印技術(shù)制造。從下面的鏈接下載STL文件,并使用3D打印機(jī)打印托架。請(qǐng)打印出兩個(gè)相同形狀的托架,層壓設(shè)置分別為粗糙和精細(xì)。
>> SolarPanelFixture.stl
首先,用螺絲將一個(gè)托架固定在太陽(yáng)能電池板頂部的內(nèi)側(cè)。3D打印機(jī)打印出來(lái)的托架上有一個(gè)未切割的2mm孔。用M2平頭螺釘鉆孔并將其固定。
接下來(lái),在將太陽(yáng)能電池板插入上側(cè)托架的同時(shí),用螺釘固定下側(cè)托架。
步驟6:硬件制作完成!
將太陽(yáng)能電池板DC插頭插入面包板上的DC插座,此時(shí)所有的硬件應(yīng)已經(jīng)準(zhǔn)備齊全。
然后,為了在Arduino Pro Mini 328上寫(xiě)入草圖,移除下側(cè)的托架,并拆下太陽(yáng)能電池板。
草圖
完成步驟
接下來(lái),我將詳細(xì)介紹寫(xiě)入草圖的所有步驟:
管理庫(kù)
以二維數(shù)組方式管理LED
種草
養(yǎng)動(dòng)物并管理多種生物
動(dòng)物在加速度計(jì)發(fā)生感應(yīng)時(shí)增殖
管理庫(kù)
我們將使用Adafruit提供的Neo Pixel和加速度計(jì)LIS3DH庫(kù)。此外,我們將定期使用一個(gè)名為[MsTimer2]的指定函數(shù)。從Arduino IDE菜單中選擇[Sketch]> [Include Library]> [Manage Library]來(lái)打開(kāi)庫(kù)管理器。在搜索字段中輸入[MsTimer2],然后從顯示出來(lái)的選項(xiàng)中進(jìn)行選擇并安裝。
管理矩陣中的LED
LED燈帶從0到24連續(xù)編號(hào),但為了更容易表達(dá)動(dòng)植物的位置,可以換為用橫縱坐標(biāo)來(lái)表示。LED編號(hào)存儲(chǔ)在二維數(shù)組中。
… | |
int ledMatrix[WIDTH][HEIGHT];//2D array to record LED layout and number | |
… | |
ledMatrix[0][0] = 0;// 0 is、x=0, y=0 | |
ledMatrix[1][0] = 9;// 9 is、x=1, y=0 | |
ledMatrix[2][0] = 10;// 10 is、 x=2, y=0 | |
ledMatrix[3][0] = 19;// 19 is、 x=3, y=0 | |
ledMatrix[4][0] = 20;// 10 is、 x=4, y=0 | |
… |
查看源代碼 GitHub托管項(xiàng)目ledMatrix.ino。
種草
創(chuàng)建一個(gè)5 x 5的二維數(shù)組,該數(shù)組用于保存草的生長(zhǎng)情況以及每幀中在隨機(jī)位置種草。
… | |
int grassMatrix[WIDTH][HEIGHT];//2D array that keeps grass growing | |
… | |
int rndX = random(WIDTH); | |
int rndY = random(HEIGHT); | |
grassMatrix[rndX][rndY] += random(GRASS_GROWTH_POTENTIAL + 1); //Grows grass at random locations | |
… |
查看源代碼 GitHub托管項(xiàng)目grassMatrix.ino。
養(yǎng)動(dòng)物
定義一個(gè)結(jié)構(gòu)來(lái)處理和保存動(dòng)物的參數(shù)。動(dòng)物信息通過(guò)這一系列動(dòng)物結(jié)構(gòu)進(jìn)行管理。動(dòng)物結(jié)構(gòu)有一個(gè)生/死標(biāo)志,如果它沒(méi)有死,那么會(huì)進(jìn)行移動(dòng)和覓食。接下來(lái),將一只動(dòng)物移向最茂密的草叢。當(dāng)進(jìn)入草地部分時(shí),動(dòng)物開(kāi)始進(jìn)食,并將草的生長(zhǎng)水平設(shè)置為0,然后將這一部分的攝入添加到動(dòng)物的體能中。同時(shí),每一幀都會(huì)消耗一定的體能,如果體能降到0,動(dòng)物就會(huì)死亡。
增殖動(dòng)物
有兩種方法可以增殖動(dòng)物。一種是當(dāng)主體倒下以及檢測(cè)到一定程度的振動(dòng)時(shí)。這種情況下,一個(gè)隨機(jī)顏色的新動(dòng)物將會(huì)出現(xiàn)在屏幕中間。
另一種是當(dāng)動(dòng)物吃草并且體能達(dá)到極限時(shí)。動(dòng)物的體能將會(huì)減半,并增加相同顏色的動(dòng)物數(shù)量。
總結(jié)
做得好!您已經(jīng)完成了!如果您將太陽(yáng)能電池板朝向太陽(yáng),我相信光點(diǎn)會(huì)開(kāi)始移動(dòng)。當(dāng)它開(kāi)始移動(dòng)尋找食物時(shí),看起來(lái)確實(shí)像一個(gè)生物。那么,您對(duì)通過(guò)重寫(xiě)種草方式和動(dòng)物的運(yùn)動(dòng)方式來(lái)創(chuàng)建自己的原始生態(tài)系統(tǒng)有何感想呢?
這就是對(duì)這個(gè)系列的總結(jié)了。通過(guò)這兩部分內(nèi)容,我們學(xué)習(xí)了如何使用Arduino制作由太陽(yáng)能電池板供電的數(shù)字飼養(yǎng)箱。我希望每個(gè)人都可以利用這些知識(shí)來(lái)制造一些真正獨(dú)特的東西。
DevicePlus 編輯團(tuán)隊(duì)
設(shè)備升級(jí)版適用于所有熱愛(ài)電子和機(jī)電一體化的人。
審核編輯黃宇
-
太陽(yáng)能
+關(guān)注
關(guān)注
37文章
3529瀏覽量
116042 -
電池板
+關(guān)注
關(guān)注
0文章
104瀏覽量
17856 -
Arduino
+關(guān)注
關(guān)注
190文章
6497瀏覽量
191982
發(fā)布評(píng)論請(qǐng)先 登錄
松下無(wú)線充電太陽(yáng)能電池板
太陽(yáng)能電池板參數(shù)和安裝方法
zt:美開(kāi)發(fā)出只有拇指大小的太陽(yáng)能電池板(圖)
太陽(yáng)能電池板給手機(jī)充電方案
關(guān)于以太陽(yáng)能電池板為供電電源的設(shè)計(jì)
太陽(yáng)能電池板是否能讓地球變涼爽?
用DrDAQ測(cè)量溫度對(duì)太陽(yáng)能電池板的影響
石墨烯在太陽(yáng)能電池板的應(yīng)用
薄膜太陽(yáng)能電池板應(yīng)用
雙面太陽(yáng)能電池板如何工作
基于Arduino的太陽(yáng)能電池板數(shù)字生態(tài)箱(第1部分)

評(píng)論