基於Arduino的太陽能電池板數字生態箱(第1部分)

在今天的文章中,我們將提供一個使用Arduino構建電子套件的新方案,本文分為第1部分和第2部分。這個獨特的電子套件創意來自藝術家平原真,他的作品主要以“關係”為主題。大阪藝術大學副教授平原先生使用電腦和電子設備製作了許多媒體藝術作品。近年來,他主要研究如何使用木材和石頭等天然材料製作3D作品。那麼,現在我們來開始探索今天的內容吧。

簡介

在本文中,我想要介紹一個使用太陽能的實例。透過這個例子,您可以觀察到由太陽能電池板供電,並透過LED展現外觀的數位生物。首先請觀看以下視頻。綠色光點代表的是草,由太陽能供電產生,其他光點代表吃草的動物。動物在吃飽時會自我繁殖,或者您可以透過敲擊設備來生成這些光點。


該數字生態箱是一個虛擬的飼養箱。它利用背面的太陽能電池板來產生電力。動物可進行移動並吃草,吃飽後進行繁殖。當您敲擊盒子時,也會有新的動物產生。

概念

不知您是否聽說過Vivarium?可能很少人瞭解這個詞。Vivarium是一種生態形式,指的是將植物和小動物放置在一個玻璃容器中,以接近自然環境的方式對其進行培育。最初,設計這種生態箱是為了複製來自偏遠地區的動植物的生長環境來讓它們存活。後來,它成為了一種流行的裝飾品。

Vivarium

在本次要介紹的電子套件中,我想透過使用太陽能電池板和LED矩陣,再現依靠外部光能保證生物生存的生態箱機制。草在5 x 5 LED矩陣中一點一點地生長。動物向長得最快的草的方向移動。在移動時,它會消耗一定的生命值,在生命值消耗至0時就會死亡。而進入草叢並吃掉食物後,動物的體能會增加。如果某只動物的體能超過了上限,就會增加相同顏色的動物。如果動物的數量增加太多,植物的數量就會減少,這意味著動物也將無法存活。因此維持生態系統的平衡至關重要。

ecosystem

創意草圖

系統結構

我們從設備的整體結構圖開始。
電源使用太陽能電池板,微控制器主機板選擇的是易於使用的小型Arduino Pro Mini 328,顯示裝置使用的是易於接線的全彩串列LED燈帶。此外,除了顯示功能,我們還需要使用加速度計來實現用手指對設備進行控制。

power supply uses solar panels

根據整體結構對其中的各個元件進行選擇。由於需要均衡所有部分的空間佈置,我們將選擇佔用空間小的元件。

LED

有多種形狀的LED可供選擇,例如炮彈型和表面安裝型,最後我們決定使用全彩串列LED燈帶,因為它易於接線、表現力極佳且易於控制。為了排列成網格,請將其切成五塊,然後進行拼接。

full-color serial LED tape

全彩串列LED燈帶

Arduino Pro Mini 328

為了便於攜帶,我們將使用一個小型Arduino,它可以插入帶有週邊電路的麵包板。Arduino Pro Mini 328有兩種類型,5V和3.3V,我們將使用5V類型,因為全彩串列LED燈帶的電源電壓為5V。

Arduino Pro Mini 328

Arduino Pro Mini 328(5V 16MHz}

太陽能電池板

施加相同電壓時,電流會隨電池板面積的增加而增加。我們選擇了可以提供5V及其以上電壓(可以點亮LED),且尺寸便於攜帶的太陽能電池板。

solar panel

OPL55A27101(5.5V 270mA

感測器

許多加速度計都是3.3V,但是Arduino Pro Mini 328沒有3.3V輸出,所以我找到了可以在5V下運行的加速度計。當使用3.3V感測器時,需要使用三端穩壓器來降低電壓。

accelerometer

Adafruit LIS3DH三軸加速度計

元件清單

 

元件型號(購買網址) 元件數量 價格
Arduino Pro Mini 328 5V 16MHz 1x $9.95
全彩串列LED燈帶 1x $24.95
FTDI USB串列轉換適配器 1x $14.00
DC插座(相容麵包板) 1x $0.95
麵包板 1x $5.90
DC插頭內徑2.1mm外徑5.5mm 1x $9.99
太陽能電池板 1x $5.95
加速度計Adafruit LIS3DH 1x $4.95
軟跳線 10x $4.99
硬跳線 10x $10.99
盤頭螺釘M2×12mm 8x
椴木膠合板600mm x 300mm 直徑3mm 1x
半透明亞克力板120mm x 120mm 直徑1mm 1x

該價格不包含運費。

構建電路

接線圖和電路圖
現在我們將為該作品製作接線圖和電路圖。把Arduino Pro Mini 328、加速度計以及DC插座配置在麵包板上。如果麵包板上的直跳線較硬,那麼這些接線將會比較整齊。為了將黃色和綠色跳線連接到Arduino Pro Mini 328排針,我們使用公對母轉接線。使用長的軟跳線在外部連接一個全彩串列LED燈帶。由於太陽能電池板也被用作外部蓋板,因此需要在引線上安裝一個DC插頭,以便於連接。
電路圖顯示了電路連接原理,而接線圖會考慮到實際尺寸以及元件的位置關係。如果您對此感覺不習慣,可能會覺得直接按照電路圖來創建接線圖更簡單,但是當您之後對製作自己的電路或者構建別人的電路更加熟練時,就會很容易理解這種接線圖了。

circuit diagram

接線圖

circuit diagram

電路圖

步驟1:焊接排針
將附帶的排針焊接到Arduino Pro Mini 328等電路板上。注意不要弄錯安裝方向。

Arduino Pro Mini 328
將電路板長邊一側的12 x 2排引腳焊接到元件安裝面上。短邊一側有6個引腳,SDA和SCL焊接在印有logo的一側。

Arduino Pro Mini 328

加速度計
焊接元件安裝面的所有引腳。

Accelerometer

DC插座
將排針和DC插座焊接到電路板上。要用更多的焊料將DC插座固定到位。

DC jack

步驟2:將DC插頭連接到太陽能電池板上
將DC插頭焊接到太陽能電池板引線的尖端。拆開DC插頭,將引線穿過塑膠管。去除引線尖端的薄膜並稍微浸泡一下焊料。預先將焊料放在DC插頭支架上。把負極(黑色)引線焊接到支架的較長端(遠離中心位置),正極(紅色)引線焊接到較短端(靠近中心位置)。

attaching DC jack to solar panel

步驟3:全彩串列LED燈帶的臨時接線
為了進行測試,將LED燈帶進行臨時接線。剪斷跳線連接器並去除約3毫米的塗層。把焊料塗在裸露的銅線上。焊接全彩串列LED燈帶的末端(箭頭底部)。注意不要施加過多熱量,不然燈帶會發生變形。

Temporary Wiring for Full Color Serial LED tape

步驟4:組裝麵包板套件
根據接線圖佈置Arduino Pro Mini 328。全彩串列LED燈帶的接線以及連接Arduino Pro Mini 328和加速度計SDA、SCL的跳線是軟的,其餘的連接線為硬線。

assemble the breadbox

操作測試

電路構建已經完成,現在我們來對每個部分的功能進行測試。

讀取Arduino Pro Mini 328
本次使用的USB串口轉換適配器具有切換工作電壓的功能。由於使用的是電壓為5V的Arduino Pro Mini 328,因此在5V端安裝跳線針。

USB serial conversion adapter

將USB資料線連接到USB串列轉換適配器,然後連接您的PC和Arduino Pro Mini 328。雖然連接方向可以是任意的,但是請確保USB串列轉換適配器部分朝內。

make the connections

打開Arduino IDE的功能表進入[Tools]> [Board],選擇Arduino Pro或者Pro Mini,然後進入[Tools]> [Processor],選擇ATmega328P (5V, 16MHz)。

Arduino IDE menu

我們來寫入一個範例進行測試。在菜單中打開[File]> [Sketch Example]> [01.Basic]> [Blink]。如果Arduino Pro Mini 328上的小LED開始閃爍,那就證明您成功了。

small LED on Arduino Pro Mini 328 is flashing

LED測試

下載庫
使用Adafruit提供的NeoPixel庫來控制全彩串列LED燈帶。使用以下連結下載該庫,並將其放在Arduino IDE的庫資料夾中。

https://github.com/adafruit/Adafruit_NeoPixel

範例草圖
現在我們來寫入一個範例草圖,看看它是如何工作的。在菜單中打開[File]> [Sketch Example]> [Adafruit NeoPixel]> [Simple]。前面的LED一個接一個被點亮,然後在16個LED被點亮之後熄滅。

front LED switches on

加速度計測試

下載庫
這次要測試的是加速度計,從以下頁面中下載I2C或SPI的名為“Adafruit_LIS3DH library”和“Adafruit_Sensor”的兩個庫,並將其放在Arduino IDE的庫資料夾中。

https://learn.adafruit.com/adafruit-lis3dh-triple-axis-accelerometer-breakout/arduino

範例草圖

我們使用該範例測試加速度計對敲擊的檢測。從Arduino IDE菜單中打開[File]> [Sketch Example]> [Adafruit LIS3DH]> [acceldemo]並寫入草圖。如果您打開串列監視器並用手指點擊麵包板,您可以看到每個軸的變化值。

Arduino IDE menu

Arduino IDE菜單