資料介紹
描述
快到佳節(jié)了,很多店鋪都開(kāi)始擺出節(jié)日的裝飾品,我想是時(shí)候搭建一些音樂(lè)仙女燈了!
我將使用以下內(nèi)容:
- 12 個(gè) LED
- 12個(gè)限流電阻
- 一些跳線
- 1 個(gè)壓電揚(yáng)聲器
- 1 x 面包板和
- 1 個(gè) Arduino
- 為了制作一串童話燈,我使用了以太網(wǎng)電纜的 5 根電線
在我們構(gòu)建電路之前,讓我們看一下代碼:
//GLOBAL VARS
int barTime = 1200; // 8/8 = 1000ms
byte nrLEDS = 4; // 4 Base LEDs, You can add many in parallel
byte leds[] = { 3, 4, 5, 6};
byte speaker = 11;
byte patternLength = 64; // pattern Length
byte songLength = 51;
const byte song[] = { // Jingle Bells Data
29, 2,29, 2,29, 4,29, 2,29, 2,29, 4,29, 2,32, 2,25, 3,27, 1,29, 8,30, 2,30, 2,
30, 3,30, 1,30, 2,29, 2,29, 2,29, 1,29, 1,29, 2,27, 2,27, 2,29, 2,27, 4,32, 4,
29, 2,29, 2,29, 4,29, 2,29, 2,29, 4,29, 2,32, 2,25, 3,27, 1,29, 8,30, 2,30, 2,
30, 2,30, 2,30, 2,29, 2,29, 2,29, 1,29, 1,32, 2,32, 2,30, 2,27, 2,25, 8
}
; // The Structure is Note Number then
// NoteLength in 8th's
const byte pattern[] = { //Pattern Data
0b0001,0b0010,0b0100,0b1000, //Bits corrispond to Leds in Array
0b0001,0b0010,0b0100,0b1000,
0b0001,0b0010,0b0100,0b1000,
0b0001,0b0010,0b0100,0b1000,
0b1000,0b1100,0b0100,0b0110,
0b0010,0b0011,0b0001,0b1001,
0b1000,0b1100,0b0100,0b0110,
0b0010,0b0011,0b0001,0b1001,
0b1010,0b0101,0b1010,0b0101,
0b1010,0b0101,0b1010,0b0101,
0b1010,0b0101,0b1010,0b0101,
0b1010,0b0101,0b1010,0b0101,
0b1100,0b0011,0b1100,0b0011,
0b1100,0b0011,0b1100,0b0011,
0b1100,0b0011,0b1100,0b0011,
0b1100,0b0011,0b1100,0b0011,
};
首先我聲明我的變量,有趣的是 Song 和 Pattern:
- 歌曲存儲(chǔ)曲調(diào);在這種情況下,它是鈴兒響叮當(dāng)。
- 該模式在數(shù)組中的值的位中存儲(chǔ)開(kāi)和關(guān)位置。
//FUNCTIONS
int noteToHz(int note) { // Convert a Note Nr. to Frequency
float freq = 440 * (pow(1.059463094359,note-21)); // -21 gives you note 1 at C3 (I Think)
return int(freq); // Results are accurate to 1hz
}
void lightLEDs(byte PORT_X) { // Control LED's State
for (int q = 0;q digitalWrite(leds[q],bitRead(PORT_X,q));
}
}
我擁有的兩個(gè)功能將執(zhí)行以下操作:
- 計(jì)算循環(huán)中音調(diào)函數(shù)的頻率
- 根據(jù)傳遞給函數(shù)的值打開(kāi)或關(guān)閉 LED
void setup() { //setup OUTPUT pins
pinMode(speaker,OUTPUT);
for(int t = 0; t < nrLEDS; t++){
pinMode(leds[t],OUTPUT);
}
}
在設(shè)置功能中,我將所需的引腳設(shè)置為 OUTPUT。
void loop() {
// Music Loop
for (int t = 0; t < songLength; t++) {
// Notes, Length and play the melody
int note = noteToHz(song[t * 2]);
int length = ((song[(t * 2)+1] * barTime) / 8);
tone(speaker, note, length - 50);
// Flashing Lights!
lightLEDs(pattern[t % patternLength]);
delay(length);
}
// Silence Loop
int randomSilence = random(1000,5000);
for (int t = 0;t lightLEDs(pattern[t % patternLength]);
delay(barTime/4);
}
}
我在主循環(huán)函數(shù)中有 2 個(gè)循環(huán)。歌曲循環(huán)和靜音循環(huán)。歌曲循環(huán)將從歌曲數(shù)組中讀取數(shù)據(jù),使用音調(diào)功能播放音符。歌曲循環(huán)將:
- 從歌曲數(shù)組中讀取數(shù)據(jù),
- 然后使用音調(diào)功能彈奏音符
- 點(diǎn)亮 LED,讀取圖案陣列。
在靜音循環(huán)中:
- 只有 LED 亮起。
是時(shí)候建立電路了
插入 Arduino 并上傳代碼。(然后拔掉它)
我將從燈串開(kāi)始:
- 我使用以太網(wǎng)電纜的電線并將 3 個(gè) LED 并聯(lián)焊接了四次,確保 LED 均勻分布在大約 2 米的范圍內(nèi)
- 我將每個(gè)引線的陽(yáng)極焊接到一根導(dǎo)線上。
- 然后將每個(gè) LED 的陰極連接到 4 根單獨(dú)的導(dǎo)線。當(dāng)然有電阻
- 我將這個(gè)過(guò)程重復(fù)了 3 次,得到一串 12 個(gè) LED,然后我在 5 根電線的末端放置了插頭引腳
現(xiàn)在我已經(jīng)將 LED 燈串連接到面包板上:
將正極和接地軌連接到面包板:
將 ULN2308 芯片放在面包板上。ULN2308是晶體管陣列芯片;從數(shù)據(jù)表中我可以看到:
- 該引腳 1 是使引腳 18“打開(kāi)”的輸入
- 引腳 2 打開(kāi) 17。等等。
- 引腳 9 接地
- 將芯片的引腳 9 連接到地軌
- 將正極導(dǎo)軌連接到端子排,在引腳 18 上方的一個(gè)端子排。
您將在一分鐘內(nèi)了解原因:
- 將芯片的引腳 1 連接到 Arduino 的引腳 3
- 2 到 4
- 籌碼的 3 變?yōu)?5 并且
- 4 到 Arduino 的引腳 6
將 LED 燈串放在面包板上。其中共陽(yáng)極線連接到連接到 5 伏的條帶。其余的仙女燈引腳應(yīng)轉(zhuǎn)到芯片的引腳 18、17、16 和 15。
在 2 個(gè)端子排之間連接壓電揚(yáng)聲器:
- 將壓電元件的負(fù)極接地并
- 揚(yáng)聲器的另一端連接到引腳 11
我有一串燈會(huì)隨機(jī)播放鈴鐺,提醒我這是節(jié)日。
?
- 帶備用電源的12V LED/仙女燈PSU
- 超大號(hào)亞克力LED音樂(lè)頻譜燈 0次下載
- Arduino變色小鬼燈
- Arduino記錄燈的構(gòu)建
- 使用Arduino制作基于音樂(lè)的項(xiàng)目
- Arduino UNO構(gòu)建音樂(lè)播放器
- 使用Arduino和處理的音樂(lè)燈
- Arduino交通燈
- 如何用Arduino制作音樂(lè)
- Arduino音樂(lè)
- Arduino制作有節(jié)奏的燈條輕音樂(lè)
- 基于Arduino硬件光控燈制作資料 6次下載
- 使用Arduino通過(guò)程序控制LED燈
- Arduino教程之如何使用Arduino制作一個(gè)寶寶使用的小桔燈詳細(xì)資料概述 14次下載
- arduino輕松入門一(編程環(huán)境搭建) 21次下載
- 基于Arduino的音樂(lè)創(chuàng)作系統(tǒng)設(shè)計(jì) 959次閱讀
- 安信可BW16模組如何搭建Arduino開(kāi)發(fā)環(huán)境? 541次閱讀
- DIY電子調(diào)頻閃爍燈電路 1323次閱讀
- 兩個(gè)220V光控燈電路原理:天亮燈就滅,天黑燈就亮 1.7w次閱讀
- Arduino WS2812B LED燈帶設(shè)計(jì)方案 1.2w次閱讀
- 如何利用Arduino UNO和SD卡制作音樂(lè)播放器 7319次閱讀
- 如何從網(wǎng)頁(yè)控制arduino? 3836次閱讀
- dfrobotRGB LED燈帶驅(qū)動(dòng)拓展板簡(jiǎn)介 2717次閱讀
- 微雪電子Arduino 音頻播放擴(kuò)展板簡(jiǎn)介 1862次閱讀
- dfrobotlilypad Arduino Simple Board控制器簡(jiǎn)介 947次閱讀
- 多款音樂(lè)芯片電路圖 1.5w次閱讀
- 聲控LED旋律燈功能原理 2.2w次閱讀
- 遠(yuǎn)程控制通訊--基于Arduino + ESP8266控制LED燈 3.9w次閱讀
- arduino開(kāi)發(fā)環(huán)境介紹 2.3w次閱讀
- arduino是什么以及arduino能干什么 4.4w次閱讀
下載排行
本周
- 1美的電磁爐維修手冊(cè)大全
- 1.56 MB | 5次下載 | 5 積分
- 2SMD LED選型手冊(cè) 貼片燈珠
- 5.47 MB | 3次下載 | 免費(fèi)
- 3基于PLC的拉絲機(jī)張力控制系統(tǒng)研究
- 0.14 MB | 2次下載 | 5 積分
- 4加密芯片的一種破解方法和對(duì)應(yīng)加密方案改進(jìn)設(shè)計(jì)
- 0.29 MB | 1次下載 | 免費(fèi)
- 5萬(wàn)用表UT58A原理圖
- 0.09 MB | 1次下載 | 5 積分
- 6多功能MPU芯片GC9005數(shù)據(jù)手冊(cè)
- 2.67 MB | 1次下載 | 免費(fèi)
- 7面向NXP i.MX8處理器的電源解決方案
- 47.47KB | 次下載 | 免費(fèi)
- 8LP8733-Q1和LP8732-Q1為DRA78x和TDA3x供電的用戶指南
- 61.31KB | 次下載 | 免費(fèi)
本月
- 1使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 2UC3842/3/4/5電源管理芯片中文手冊(cè)
- 1.75 MB | 20次下載 | 免費(fèi)
- 3華瑞昇CR216芯片數(shù)字萬(wàn)用表規(guī)格書附原理圖及校正流程方法
- 0.74 MB | 14次下載 | 3 積分
- 4DMT0660數(shù)字萬(wàn)用表產(chǎn)品說(shuō)明書
- 0.70 MB | 13次下載 | 免費(fèi)
- 53314A函數(shù)發(fā)生器維修手冊(cè)
- 16.30 MB | 13次下載 | 免費(fèi)
- 6TPS54202H降壓轉(zhuǎn)換器評(píng)估模塊用戶指南
- 1.02MB | 9次下載 | 免費(fèi)
- 7STM32F101x8/STM32F101xB手冊(cè)
- 1.69 MB | 8次下載 | 1 積分
- 8感應(yīng)筆電路圖
- 0.06 MB | 7次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評(píng)論
查看更多