心靈燭光晚宴
基本思路
通過讓彩色燈光從玻璃缸底部反射出來,必須確保水不會輕易進入電路引發短路,這就需要拿一些東西將玻璃缸抬高一點。我找了一個12x12cm的木制底座和一些塑料模具。
1.jpg (12.76 KB, 下載次數: 89)
下載附件
2019-4-17 00:38 上傳
先將蠟燭切成四塊,蠟燭將安置在塑料模具上,彩燈將放置在模具下方朝上。所有器件都放入底座中,最后用填料覆蓋以隱藏電路。
2.jpg (8.98 KB, 下載次數: 92)
下載附件
2019-4-17 00:38 上傳
電路設計
該電路由Arduino,鋰電池和充電器以及三顆彩燈組成。當然還有開關和四顆用于狀態指示燈?偟膩碚f,這是一個非常簡單的設計,并且不需要很長時間就能運行。
準備指示燈
該電路有四顆狀態指示燈。藍色LED指示已啟動并正在運行。紅色LED指示電源正常。黃色LED指示電池正在充電,綠色LED指示電池已充滿電。
紅色、綠色和黃色LED將連接一個220Ω電阻,藍色LED將使用330 Ω。最好是是所有LED都具有大致相同的亮度。
切割長度約為20cm的導線。我喜歡使用與LED顏色相匹配的顏色,以便更容易布線?赡苁菑娖劝Y。
用黑線焊接到每個LED的陰極上。接下來,將綠色線焊接到綠色LED上的陽極,紅色線連接到紅色LED上的陽極,黃色線連接到黃色LED上的陽極,F在在每根導線上套上一根長度約為5cm的熱縮管。用打火機燒一下讓它縮小到最小。
3.jpg (8.99 KB, 下載次數: 91)
下載附件
2019-4-17 00:38 上傳
接下來將電阻的一端焊接到每個LED的陽極上的導線。將另一個熱縮管滑過電阻并將其縮小到位。管的長度應足夠長,以遮住整個電阻和裸線。
4.jpg (8.03 KB, 下載次數: 96)
下載附件
2019-4-17 00:38 上傳
通過將每個LED連接到電源來測試每個LED。
準備彩燈
彩燈將使用三根線串聯接在一起。每個彩燈的數據輸入和數據輸出引腳接在一起。
1)切3組3根線。一個紅色,一個黑色和一個黃色,每根20cm長。每種顏色3根。
2)將黑色線焊接到彩燈底部的Gnd焊盤。將紅線焊接到同一側的5V焊盤。
3)將黃色線焊接到Din 焊盤。
4)現在將第二個黑線焊接到同一個彩燈上的另一個Gnd焊盤上。
5)將第二根紅線焊接到同一彩燈上的另一個5V 焊盤。
6)將第二根黃色線焊接到同一彩燈上的Dout 焊盤
7)這是第一個彩燈。該Din線將連接到引腳6。
8)將第一個彩燈 的Dout 側的導線焊接到下一個彩燈 的 Din 焊盤上。請注意,第一個彩燈的 Dout 連接到下一個彩燈的Din 。
9)將第一個彩燈的黑色線和紅色線連接到第二個彩燈的Gnd和5V焊盤。
10)以相同的方式將第三組導線連接到第二個彩燈的Dout 側
11)現在將來自第二個彩燈的第三組導線的另一端連接到第三個彩燈的Din 側。
12)完成后,彩燈上的所有5V焊盤都連接在一起,并且所有Gnd 焊盤都連接在一起。第一個彩燈的Dout 連接到第二個彩燈的Din 。第二個彩燈的 Dout 連接到第三個彩燈的Din 。
把Gnd和5V連接到Arduino。將第一個彩燈的黃色線連接到Arduino上的第6個引腳。來測試是否正常工作。
5.jpg (25.1 KB, 下載次數: 81)
下載附件
2019-4-17 00:38 上傳
基座布局
首先用一把剪刀將肥皂模具分成四塊。我留下了所有的邊緣,只切掉了頂部。邊緣可用于將模具貼到底座上。
6.jpg (21.71 KB, 下載次數: 93)
下載附件
2019-4-17 00:38 上傳
如上圖所示,三個用于固定蠟燭圓筒,另外個用于覆蓋電路。我還把電池放在其中一個蠟燭底座下面。用鉆頭在其中兩個模具的每一側鉆兩個孔,彼此相對。在第四個模具,這是用于覆蓋電子器件的最大部件,我用刀切出三個孔。第一個在長邊(右邊),LED線和彩燈線將通過。注意在切開此開口時,我也移除了塑料的底部,因此電線可以靠在木頭底部。第二個孔位于開關附近的短邊上。這允許開關線穿過。最后一個整體與充電器上的USB端口對齊。
使用熱膠槍,將彩燈連接到模具下方,彩燈對齊在每個模具的中心。注意,我將熱膠放在彩燈兩側的導線上,而不是彩燈本身。
7.jpg (19.71 KB, 下載次數: 84)
下載附件
2019-4-17 00:38 上傳
接下來,我將USB充電器對準,使其盡可能齊平地靠近底座的左側(使USB端口盡可能靠近側面)。我在模具頂部標記并鉆了四個小孔,與充電器PCB上的孔對齊,然后用尼龍六角螺絲將USB充電器連接到塑料模具上。在充電期間連接USB電纜時,這可使充電器保持在適當位置。
8.jpg (20.86 KB, 下載次數: 96)
下載附件
2019-4-17 00:38 上傳
下圖可以看到底座被涂成白色。鉆完所有的孔并打磨后,可以刷涂或噴涂白色(或任何你喜歡的顏色)。
9.jpg (26.42 KB, 下載次數: 95)
下載附件
2019-4-17 00:38 上傳
需要在側面鉆五個孔。其中四個用于LED,第五個用于USB充電電纜。將LED插入塑料模制件中,然后插入鉆孔中。當模制件插入他們將要穿過的材料時,由于這些是插入一塊木頭,它們需要一個稍大的孔。下圖顯示了LED和充電器孔的位置。
0.jpg (16.22 KB, 下載次數: 96)
下載附件
2019-4-17 00:38 上傳
在準備好各種組件后,對框架進行打磨和涂漆。接下來,我將LED插入塑料模制品中并將它們推入孔中。我不需要將它們粘合,因為它們非常適合于孔。我將所有模具放置到位,并使用透明膠帶將它們固定到位。我盡可能使用尺子將三個蠟燭模具集中在一起。使用熱膠將滑動開關粘在內部框架頂部附近。一切就緒后,我將玻璃燭臺放在模具上,然后用玻璃填充物填充盒子。冰球漂浮在水中,一切都準備好了!
00.jpg (86.27 KB, 下載次數: 94)
下載附件
2019-4-17 00:38 上傳
Arduino源程序如下:
- #include <Adafruit_NeoPixel.h>
- #include <avr/power.h>
- // ***
- // *** The first NeoPixel is connected to pin 0
- // ***
- #define NEO_PIXEL_PIN 0
- // ***
- // *** The pin on which the power LED is connected
- // ***
- #define POWER_LED_PIN 3
- // ***
- // *** Number of NeoPixels
- // ***
- #define NEO_PIXEL_COUNT 3
- // ***
- // *** Create the NeoPixel instance
- // ***
- Adafruit_NeoPixel strip = Adafruit_NeoPixel(NEO_PIXEL_COUNT, NEO_PIXEL_PIN, NEO_GRB + NEO_KHZ800);
- void setup()
- {
- // ***
- // *** Trinket 16MHz
- // ***
- if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
- // ***
- // *** Setup the power LED
- // ***
- pinMode(POWER_LED_PIN, OUTPUT);
- // ***
- // *** Turn the Power LED on
- // ***
- digitalWrite(POWER_LED_PIN, HIGH);
- // ***
- // *** Setup the strip
- // ***
- strip.begin();
- strip.show();
- }
- void loop()
- {
- rainbowCycle(60);
- }
- 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 < strip.numPixels(); i++)
- {
- strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
- }
- strip.show();
- delay(wait);
- }
- }
- uint32_t Wheel(byte WheelPos)
- {
- WheelPos = 255 - WheelPos;
- if (WheelPos < 85)
- {
- return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
- }
- if (WheelPos < 170)
- {
- WheelPos -= 85;
- return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
- }
- WheelPos -= 170;
- return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
- }
復制代碼
|