第1步:零件和材料

如果您是一位精通技術(shù)的人,可以使用焊接設(shè)備并具有電路的基本知識,那么您會發(fā)現(xiàn)這個項目容易實現(xiàn)。另一方面,如果您一生中從未做過任何電氣工作,建議您上Google并學(xué)習(xí)如何焊接或聯(lián)系電子專家。該Instrutable確實利用了高壓電流,因此,在使用此類設(shè)備時,建議您格外小心。 *對于此項目可能造成的任何損害或傷害,我不承擔任何責任。*
現(xiàn)在我們知道了,繼續(xù)前進。以下是您需要的零件和材料清單:
-Arduino Duemilanove
- USB電纜
- Windows電腦(最好是筆記本電腦)
-6繼電器;額定電壓為5v-各種LED-220-OHM LED電阻器-焊接的PCB
》 6個三管齊下的女性商店
- 一個三管齊下的男性商店
- 塑料盒外殼
-膠合板
-熱膠和熱膠棒
-6普通黑色1N4004二極管
-焊錫和烙鐵(已保存)
- 繞線
步驟2:LED指示燈

首先將LED指示燈焊接到PCB板上將它們與我們將要構(gòu)建的6個通道相關(guān)聯(lián)。
您將需要6個LED來檢查您的通道,看它們是否有效。
1。首先,抓住6根紅線和1根黑線。從6根線和1根黑線開始連續(xù)焊接它們。
2。 6條紅色導(dǎo)線連接到LED的正極。
3。焊接LED另一端的6個電阻。
4。將黑色電纜焊接到電阻器的兩端。
檢查下圖中的工作情況。確保沒有任何草率連接或短路問題。
步驟3:測試LED


如果您急于測試LED以確定連接是否成功,可以通過將引腳線連接到Arduino來實現(xiàn)。如果您希望在繼續(xù)連接繼電器之前測試LED,請按照下圖進行操作。
將6個引腳插入Arduino以及地線。
將Arduino連接到計算機并打開Arduino Sketch板軟件。
如果一切順利,則應(yīng)該看到所有的LED都亮了。
int tree1 = 13;
int tree2 = 12;
int tree3 = 11;
int tree4 = 10;
int tree5 = 9;
int tree6 = 8;
void setup(){
pinMode(tree1,OUTPUT);
pinMode(tree2,OUTPUT );
pinMode(tree3,OUTPUT);
pinMode(tree4,OUTPUT);
pinMode(tree5,OUTPUT);
pinMode(tree6,OUTPUT);
}
void loop(){
digitalWrite(tree1,HIGH);
digitalWrite(tree2,HIGH);
digitalWrite(tree3,HIGH);
digitalWrite(tree4,HIGH);
digitalWrite(tree5 ,HIGH);
digitalWrite(tree6,HIGH);
}
步驟4:連接繼電器

如果您只是嘗試了步驟3,請斷開Arduino與計算機的連接,并斷開與Arduino的所有電線。
為避免損壞Arduino和項目的其他部分,請嘗試使用電氣膠帶隔離開路導(dǎo)線。
我們現(xiàn)在要將繼電器焊接到電路板的每個通道。這樣做時請小心。為這些連接供電時,它們具有高壓危險。花一分鐘時間看一下繼電器的引腳。
在焊接時請仔細觀察該圖,因為您的繼電器可能與所示的有所不同。
步驟5:在包裝盒中!

一旦您的繼電器全部焊接完畢,就可以將其放入包裝箱中了。在做任何事情之前,請確保您沒有焊接錯誤。將PCB板的4個角熱粘合到小塊膠合板上。將膠合板直接熱膠在塑料盒上。
對Arduino進行相同操作。除此之外,我建議您使用螺釘將Arduino固定到一塊膠合板上,然后將其熱膠粘到塑料盒外殼上。將電線從PCB連接到Arduino。
(唯一的“自由懸掛”電線應(yīng)該是連接到繼電器的“高壓”電線。)
步驟6:打包和處理
這是您創(chuàng)造奇跡之前的重要步驟。首先,將所有繼電器線連接到每個引腳。將地面連接到您的主電源。換句話說,用電線做一個簡單的電路。假裝“公三管插頭”是您的電源,6“母延長線”是您的“負載”(或燈泡),“開關(guān)”是繼電器。確保每個繼電器連接到單負荷。如果您需要幫助,可以查看下面的圖表。
需要注意的一些事項:確保用于連接電路的電線可以承受120v電壓。最好檢查規(guī)格。確保用電工膠帶徹底包裹所有電線。在塑料盒上戳孔,并確保電源線伸出。熱粘合您可能存在的任何縫隙。
步驟7:包裝
一旦所有連接都牢固且安全一切都被錄制下來了,該開始表演了!您將需要在室內(nèi)設(shè)置“控制箱”。 (因為您不希望任何人弄亂它)
我建議您將盒子放在車庫門旁邊的車庫中。將主電源插入交流電源插座。
像往常一樣放房子的圣誕燈,但是將所有電線插入“控制器”而不是電源插座。
如圖所示這是我的整理設(shè)計。 (我放了一個音符,說“高壓”,讓我的家人知道內(nèi)部電壓)。
步驟8:歌曲和準備工作
當然,如果沒有音樂,什么是計算機控制的音樂燈?將所有喜歡的MP3歌曲下載到計算機。只要您可以在揚聲器上大聲播放,就可以了。
好的設(shè)置是將筆記本電腦帶到車庫,將USB連接到Arduino,然后插入一些揚聲器。如果您的筆記本電腦上有WiFi連接,您可以在Youtube上搜索Mannheim Steamroller等歌曲“Carol of the Bells - David Foster”,“Deck the Halls”或“God Rest Ye Merry Gentlemen”。 br》最后,對于編程,我們將需要某種設(shè)置來運行電燈。您有兩個選項:
-選項A:您可以使用計算機鍵盤手動控制燈光。
-選項B:您可以使用宏錄制器手動設(shè)置燈光并自動播放。
無論哪種方式,您將需要在計算機上運行以下兩個程序才能與Arduino通信:
高科技圣誕節(jié)1.0版(我自己控制燈光的程序)
Arduino Sketchpad (Arduino的默認編程軟件)
請確保您同時擁有上述兩個程序。如果沒有,請下載它們,解壓縮內(nèi)容并立即運行!
擁有程序后,打開Arduino Sketchpad程序并將該代碼上載到Arduino:
int tree1 = 13; int tree2 = 12; int tree3 = 11; int tree4 = 10; int tree5 = 9; int tree6 = 8; intintentByte;//一個將傳入的串行數(shù)據(jù)讀入
void setup(){
//初始化串行通信的變量:
Serial.begin(9600);
//將LED引腳初始化為輸出:
pinMode(tree1,OUTPUT);
pinMode(tree2,OUTPUT);
pinMode(tree3,OUTPUT);
pinMode(tree4,OUTPUT);
pinMode(tree5,OUTPUT);
pinMode(tree6,OUTPUT);
}
void loop(){
//查看是否有傳入的串行數(shù)據(jù):
if(Serial.available()》 0){
//讀取串行緩沖區(qū)中最舊的字節(jié):
incomingByte = Serial.read();
if(incomingByte ==‘q’){
digitalWrite(tree1,HIGH);
延遲(150);
digitalWrite(tree1,LOW);
}
if(incomingByte ==‘w’){
digitalWrite(tree2,HIGH);
delay(150);
digitalWrite(tree2,LOW);
}
if(incomingByte ==‘e’){
digitalWrite(tree3,HIGH);
delay(150);
digitalWrite(tree3,LOW);
}
如果(incomingByte ==‘r’){
digitalWrite(tree4,HIGH);
delay(150);
digitalWrite( tree4,LOW);
}
if(incomi ngByte ==‘t’){
digitalWrite(tree5,HIGH);
delay(150);
digitalWrite(tree5,LOW);
}
if(incomingByte = =‘y’){
digitalWrite(tree6,HIGH);
delay(150);
digitalWrite(tree6,LOW);
}
if(incomingByte ==‘ s’){
digitalWrite(tree1,HIGH);
digitalWrite(tree2,HIGH);
delay(150);
digitalWrite(tree1,LOW);
digitalWrite(tree2,LOW );
}
if(incomingByte ==‘d’){
digitalWrite(tree2,HIGH);
digitalWrite(tree3,HIGH);
delay(150);
digitalWrite(tree2,LOW);
digitalWrite(tree3,LOW);
}
if(incomingByte ==‘f’){
digitalWrite(tree3,HIGH);
digitalWrite(tree4,HIGH);
延遲(150);
digitalWrite(tree3,LOW);
digitalWrite(tree4,LOW);
}
if(incomingByte == ‘g’){
digitalWrite(tree4,HIGH);
digitalWrite(tree5,HIGH);
delay(150);
digitalWrite(tree4,LOW);
digitalWrite(tree5, LOW);
}
如果(incomingByte ==‘h’){
digitalWrite(tree5,HIGH);
digitalWrite(tree6,HI GH);
延遲(150);
digitalWrite(tree5,LOW);
digitalWrite(tree6,LOW);
}
if(incomingByte ==‘u’) {
digitalWrite(tree1,HIGH);
digitalWrite(tree2,HIGH);
digitalWrite(tree5,HIGH);
digitalWrite(tree6,HIGH);
delay(150);
digitalWrite(tree1,LOW);
digitalWrite(tree2,LOW);
digitalWrite(tree5,LOW);
digitalWrite(tree6,LOW);
}
如果(incomingByte ==‘i’){
digitalWrite(tree1,HIGH);
digitalWrite(tree2,HIGH);
digitalWrite(tree4,HIGH);
digitalWrite(tree5,HIGH);
delay(150);
digitalWrite(tree1,LOW);
digitalWrite(tree2,LOW);
digitalWrite(tree4,LOW);
digitalWrite(tree5,LOW);
}
if(incomingByte ==‘j’){
digitalWrite(tree2,HIGH);
digitalWrite(tree3,HIGH);
digitalWrite(tree5,HIGH);
digitalWrite(tree6,HIGH);
delay(150);
digitalWrite(tree2,LOW);
digitalWrite(tree3,LOW);
digitalWrite(tree5,LOW);
digitalWrite( tree6,LOW);
}
if(incomingByte ==‘o’){ digitalWrite(tree5,HIGH);
digitalWrite(tree3,HIGH);
digitalWrite(tree4,HIGH);
delay(150);
digitalWrite(tree5,LOW);
digitalWrite(tree3,LOW);
digitalWrite(tree4,LOW);
}
if(incomingByte ==‘p’){
digitalWrite(tree2,HIGH);
digitalWrite(tree3,HIGH);
digitalWrite(tree4,HIGH);
delay(150);
digitalWrite(tree2,LOW);
digitalWrite(tree3,LOW);
digitalWrite( tree4,LOW);
}
如果(incomingByte ==‘b’){
digitalWrite(tree1,HIGH);
digitalWrite(tree6,HIGH);
delay( 150);
digitalWrite(tree1,LOW);
digitalWrite(tree6,LOW);
}
if(incomingByte ==‘c’){
digitalWrite(tree1, HIGH);
digitalWrite(tree3,HIGH);
delay(150);
digitalWrite(tree1,LOW);
digitalWrite(tree3,LOW);
}
如果( incomingByte ==‘v’){
digitalWrite(tree4,HIGH);
digitalWrite(tree6,HIGH);
delay(150);
digitalWrite(tree4,LOW);
digitalWrite (tree6,LOW);
}
如果(incomingByte ==‘a(chǎn)’){
digitalWrite (tree1,HIGH);
digitalWrite(tree2,HIGH);
digitalWrite(tree3,HIGH);
digitalWrite(tree4,HIGH);
digitalWrite(tree5,HIGH);
digitalWrite (tree6,HIGH);
delay(150);
digitalWrite(tree1,LOW);
digitalWrite(tree2,LOW);
digitalWrite(tree3,LOW);
digitalWrite(tree4 ,LOW);
digitalWrite(tree5,LOW);
digitalWrite(tree6,LOW);
}
}
}
第9步:顯示時間!
showtime之前的步驟:
1。將代碼上傳到Arduino之后,通過USB將Arduino連接到計算機。
2。調(diào)高音量和揚聲器。打開您要播放的歌曲。
3。啟動繼電器(主交流電源)。
4。打開名為高科技圣誕節(jié)1.0
5的程序。選擇“ Arduino的串行端口”。 (如果您不知道端口是什么,請繼續(xù)選擇其他端口,直到您正確為止)
6。點擊音樂上的“播放”。
開始按某些鍵!繼續(xù)!
下面,我為鍵盤附上了一張圖片,其中的選項卡可控制哪些繼電器(指示燈)。
步驟10:自動化和其他構(gòu)想
如果您是一個懶人,或者只是不喜歡一直控制燈光,則可以下載另一個程序來記錄您鍵入的內(nèi)容鍵盤并播放。
這稱為“宏程序”。您可以獲得類似 Blue Eye Macro 或 Avis Macro 之類的優(yōu)質(zhì)程序。
然后,在錄制宏后,尋找“循環(huán)播放歌曲和宏,以便它們重復(fù)播放。
我還沒有真正了解它,但是今年圣誕節(jié)我在使用Blue Eye Macro時沒有任何問題。
-
led燈
+關(guān)注
關(guān)注
22文章
1606瀏覽量
111716 -
Arduino
+關(guān)注
關(guān)注
190文章
6526瀏覽量
196786
發(fā)布評論請先 登錄
十進制計算機硬件體系結(jié)構(gòu)及“獨值”量化邏輯運算革命(一)
龍芯主板讓工控計算機擁有安全可信的核心
工控機與普通計算機的核心差異解析
龍芯中科斬獲2025中國工業(yè)計算機大會兩項殊榮
貿(mào)澤電子開售全新Arduino UNO Q單板計算機
【作品合集】賽昉科技VisionFive 2單板計算機開發(fā)板測評
工業(yè)計算機的重要性
自動化計算機經(jīng)過加固后有什么好處?
自動化計算機的功能與用途
工業(yè)計算機與商用計算機的區(qū)別有哪些
工業(yè)計算機如何設(shè)計用于沖擊和振動
如何選擇合適的外形尺寸的工業(yè)計算機
一文帶你了解工業(yè)計算機尺寸
計算機網(wǎng)絡(luò)入門指南
NVIDIA 宣布推出 DGX Spark 個人 AI 計算機
基于計算機控制的音樂圣誕燈的制作
評論