用ROHM感測器套件製作Arduino LED聖誕樹

arduino christmas tree

耶誕節近在咫尺!在此項目中,我們將利用Arduino Mega和RGB LED製作一顆小型LED Arduino壓克力(丙烯酸樹脂)聖誕樹。我們將利用ROHM溫度感測器氣壓感測器來更改LED的顏色。程式的構建和編碼都很簡單。用這棵LED聖誕樹裝飾您的房間將非常有趣!

 

我的上一篇文章介紹了如何設定感測器研發板以及如何連接Arduino。如果您還沒看過該文,請點擊ROHM感測器評估套件概述!

 

該聖誕樹可以實現以下功能:

  • 星形RGB LED交替改變顏色(迴圈顯示)。
  • 兩個RGB LED(左上和右上)將根據局部溫度(範例程式中的溫度範圍為22到32攝氏度之間)改變顏色。
  • 兩個RGB LED(左下方和右下方)將根據本地氣壓的變化而改變自身的顏色(範例程式中的氣壓範圍為1010至1020 hPa之間)。

硬體

 

軟體

 

工具

  • 迷你鋼鋸
  • Dremel 電動工具
  • 電烙鐵

 

arduino christmas tree

圖1 Arduino Mega 2650(左),ROHM Arduino研發板(右),ROHM感測器(上)

 

arduino christmas tree

圖2 共陰極(-)RGB LED(左),共陽極(+)RGB LED(右)

arduino christmas tree

圖3 接插線

 

arduino christmas tree

圖4 12V電源

用壓克力製作樹的骨架

首先,讓我們使用壓克力製作聖誕樹的骨架。在一張適當大小的紙上畫一顆樹,並將紙蓋在壓克力板上,然後用小鋼鋸根據紙上的佈局將壓克力板切割成樹的樣子(圖5)。然後,根據以下需要安裝的器件,在骨架上鑽出足夠數量和尺寸的孔:

  • Arduino Mega (3個 或 4個)
  • RGB LED的連接電纜 (5個)
  • 紅色LED (2×5)

 

利用剩餘的壓克力板切割出一個小的星形(圖6),然後將其粘到聖誕樹頂部(用CA膠或強力粘膠)。

 

arduino christmas tree

圖5 壓克力板製作的聖誕樹骨架

 

安裝LED和接插線

將紅色LED插入聖誕樹的鑽孔內,注意所有紅色LED應該並聯連接,然後焊接連線。所有陽極(+)和陰極(-)分別連接在一起,請務必確保所有LED的位置正確,將39歐姆電阻序列焊接到紅色LED的陰極(-)。還要焊接2個連接器:紅色連接器應連至Arduino的24腳,棕色連接器應連至Arduino的GND腳。

 

RGB LED有兩種類型:共陰極(-)RGB LED,如圖2(左)所示;共陽極(+)RGB LED,如圖2(右)所示。兩者都可以在該項目中使用。兩者的唯一區別是:對於共陰極LED,您需要將(-)引腳連接到地(GND);對於共陽極LED,您需要將(+)引腳連接到5V。

為了說明如何使用這兩種類型的RGB LED,我們將使用3個共陽極RGB LED(RGB LED1、RGB LED2和RGB LED3)和2個共陰極RGB LED(RGB LED4和RGB LED5)。用雙面膠將5個RGB LED粘貼到聖誕樹,請參見圖6。

 

arduino christmas tree

圖6 安裝RGBLED、紅色LED和接插線的聖誕樹

 

具體安裝情況請參見圖7(背面)。最後,焊接LED、導線和電阻之間的所有連接。

 

arduino christmas tree

圖7 背面

 

安裝RGB接插線

接下來,在每個RGB LED上連接三根接插線,R、G、B引腳各連接一根。這些接插線與Arduino Mega引腳的連接請參考圖8:

 

arduino christmas tree

圖8安裝接插線的RGB LED

 

將3條平行線連接到RGB LED 1(+)、RGB LED 2(+)和RGB LED 3(+),線的另一端連至Arduino的5V引腳。

將2條平行線連接至RGB LED 4(-)和RGB LED 5(-),線的另一端連接至Arduino的GND引腳。

 

arduino christmas tree

圖9 所有LED和接插線都已安裝

 

安裝Arduino和感測器

如下圖所示,將3個六角螺柱安裝到Arduino Mega上:

 

arduino christmas tree

圖10 裝有六角螺柱的Arduino Mega

 

將ROHM研發板連接到Arduino Mega的頂部(確保引腳對齊),然後將ROHM溫度感測器插到Analog 2介面,並將ROHM氣壓感測器插到ROHM研發板板上的I2C介面。

 

arduino christmas tree

圖11 頂部裝有ROHM感測器研發板以及兩個感測器的Arduino Mega

 

氣壓感測器可以使用1.8V或3V,而溫度感測器只能使用3V或5V。因此,我們必須用跳線將電壓設定為3V(圖12)。

 

有關ROHM感測器的更多資訊,請參閱ROHM感測器評估套件概述

 

arduino christmas tree

圖12 用跳線選擇3V

 

還記得我們為Mega鑽的安裝孔嗎?請用三顆螺釘將Mega和ROHM感測器研發板安裝到聖誕樹上。

 

arduino christmas tree

圖13 安裝在聖誕樹上的Arduino Mega和ROHM研發板

現在,將RGB LED的三根接插線連至Arduino的對應引腳。連接線序請參考下表和圖8。下文的程式將使用以下引腳,因此請確保引腳的連接與下表匹配。

 

RGB LED接線與Arduino引腳的連接關係:

 

Connection to Arduino RGB R- Pin RGB G- Pin RGB B- Pin
RGB Led 1 Arduino Pin 36 Arduino Pin 34 Arduino Pin 38
RGB Led 2 Arduino Pin 3 Arduino Pin 4 Arduino Pin 2
RGB Led 3 Arduino Pin 6 Arduino Pin 5 Arduino Pin 7
RGB Led 4 Arduino Pin 9 Arduino Pin 8 Arduino Pin 10
RGB Led 5 Arduino Pin 12 Arduino Pin 13 Arduino Pin 11

 

arduino christmas tree

圖14 將RGB LED的接插線連至Arduino

 

 

然後將從RGB LED(+)引出的3條平行線連接到5V,將從RGB LED(-)引出的2條平行線連接到GND。

將從紅色LED(-)引出的線纜連至Arduino的另一個GND引腳,再把從紅色LED(+)引出的線纜連至引腳24。

 

arduino christmas tree

圖15 將其他線纜連至Arduino

 

 

arduino christmas tree

圖16 連線局部放大圖

 

固定底座,讓聖誕樹能夠獨立站立。現在,聖誕樹製作完成!圖17顯示了所有元件組裝完成的樣子:

 

arduino christmas tree

圖17 完成的聖誕樹

 

編寫程式測試感測器

現在,我們用以下程式測試專案所使用的感測器。該程式是根據ROHM的兩個範例程式研發的。其基本概念就是從感測器讀取資料並將其列印到序列監視器中。

首先,請從以下網站下載兩個程式館(BM1383GLV.h和BD1020.h):http://www.rohm.com/web/global/sensor-shield-support/pressure-sensorhttp://www.rohm.com/web/global/sensor-shield-support/temperature-sensor

然後,將它們與之前已安裝的其他程式館一起複製到Arduino程式館中。接下來,複製以下程式並將其上傳到Arduino研發板。不要忘記在工具/板管理器(Tools/Board Manager)中指定“Arduino/Genuino Mega or Mega 2560”!

 

 

 

 

如果程式正確運行,打開序列監視器,您會看到與下圖類似的結果:

arduino christmas tree

上傳最終程式

現在我們可以測試最終程式了。該程式會執行以下步驟:

  • 讀取氣壓和溫度感測器的數值。
  • 根據計數器的值設定RGB LED 1的顏色(即,每個迴圈計數器加1,如果值> 3,則將計數器重置為0)。
  • 根據溫度讀數設定RGB LED 2和RGB LED 3的顏色。
  • 根據氣壓讀數為RGB LED 4和RGB LED 5設定顏色。

 

接下來,請將以下程式複製到Arduino IDE中,然後根據當地環境更改溫度和大氣壓力的數值。

 

最後,根據表1和圖8,再次檢查引腳分配是否匹配。

一切正確後,請將程式上傳到研發板上。

 

 

 

如果一切正常,請運行該程式。運行結果應該與上面視訊中展示的情況類似。上述視訊演示了電子聖誕樹的工作原理。如果利用吹風機將溫度升高,那麼RGB LED 2和RGB LED 3的顏色會從綠色變成紅色;當溫度恢復正常時,LED燈的顏色會變回綠色。

 

我希望您能喜歡這個項目!祝大家聖誕快樂,新年快樂!

 

arduino christmas tree

圖18 最終的聖誕樹(前視圖)

 

arduino christmas tree

圖19 完成的聖誕樹(側視圖)