資料介紹
描述
快到佳節了,很多店鋪都開始擺出節日的裝飾品,我想是時候搭建一些音樂仙女燈了!
我將使用以下內容:
- 12 個 LED
- 12個限流電阻
- 一些跳線
- 1 個壓電揚聲器
- 1 x 面包板和
- 1 個 Arduino
- 為了制作一串童話燈,我使用了以太網電纜的 5 根電線
在我們構建電路之前,讓我們看一下代碼:
//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:
- 歌曲存儲曲調;在這種情況下,它是鈴兒響叮當。
- 該模式在數組中的值的位中存儲開和關位置。
//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));
}
}
我擁有的兩個功能將執行以下操作:
- 計算循環中音調函數的頻率
- 根據傳遞給函數的值打開或關閉 LED
void setup() { //setup OUTPUT pins
pinMode(speaker,OUTPUT);
for(int t = 0; t < nrLEDS; t++){
pinMode(leds[t],OUTPUT);
}
}
在設置功能中,我將所需的引腳設置為 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);
}
}
我在主循環函數中有 2 個循環。歌曲循環和靜音循環。歌曲循環將從歌曲數組中讀取數據,使用音調功能播放音符。歌曲循環將:
- 從歌曲數組中讀取數據,
- 然后使用音調功能彈奏音符
- 點亮 LED,讀取圖案陣列。
在靜音循環中:
- 只有 LED 亮起。
是時候建立電路了
插入 Arduino 并上傳代碼。(然后拔掉它)
我將從燈串開始:
- 我使用以太網電纜的電線并將 3 個 LED 并聯焊接了四次,確保 LED 均勻分布在大約 2 米的范圍內
- 我將每個引線的陽極焊接到一根導線上。
- 然后將每個 LED 的陰極連接到 4 根單獨的導線。當然有電阻
- 我將這個過程重復了 3 次,得到一串 12 個 LED,然后我在 5 根電線的末端放置了插頭引腳
現在我已經將 LED 燈串連接到面包板上:
將正極和接地軌連接到面包板:
將 ULN2308 芯片放在面包板上。ULN2308是晶體管陣列芯片;從數據表中我可以看到:
- 該引腳 1 是使引腳 18“打開”的輸入
- 引腳 2 打開 17。等等。
- 引腳 9 接地
- 將芯片的引腳 9 連接到地軌
- 將正極導軌連接到端子排,在引腳 18 上方的一個端子排。
您將在一分鐘內了解原因:
- 將芯片的引腳 1 連接到 Arduino 的引腳 3
- 2 到 4
- 籌碼的 3 變為 5 并且
- 4 到 Arduino 的引腳 6
將 LED 燈串放在面包板上。其中共陽極線連接到連接到 5 伏的條帶。其余的仙女燈引腳應轉到芯片的引腳 18、17、16 和 15。
在 2 個端子排之間連接壓電揚聲器:
- 將壓電元件的負極接地并
- 揚聲器的另一端連接到引腳 11
我有一串燈會隨機播放鈴鐺,提醒我這是節日。
?
- 帶備用電源的12V LED/仙女燈PSU
- 超大號亞克力LED音樂頻譜燈 0次下載
- Arduino變色小鬼燈
- Arduino記錄燈的構建
- 使用Arduino制作基于音樂的項目
- Arduino UNO構建音樂播放器
- 使用Arduino和處理的音樂燈
- Arduino交通燈
- 如何用Arduino制作音樂
- Arduino音樂
- Arduino制作有節奏的燈條輕音樂
- 基于Arduino硬件光控燈制作資料 6次下載
- 使用Arduino通過程序控制LED燈
- Arduino教程之如何使用Arduino制作一個寶寶使用的小桔燈詳細資料概述 14次下載
- arduino輕松入門一(編程環境搭建) 21次下載
- 基于Arduino的音樂創作系統設計 959次閱讀
- 安信可BW16模組如何搭建Arduino開發環境? 541次閱讀
- DIY電子調頻閃爍燈電路 1323次閱讀
- 兩個220V光控燈電路原理:天亮燈就滅,天黑燈就亮 1.7w次閱讀
- Arduino WS2812B LED燈帶設計方案 1.2w次閱讀
- 如何利用Arduino UNO和SD卡制作音樂播放器 7319次閱讀
- 如何從網頁控制arduino? 3836次閱讀
- dfrobotRGB LED燈帶驅動拓展板簡介 2717次閱讀
- 微雪電子Arduino 音頻播放擴展板簡介 1862次閱讀
- dfrobotlilypad Arduino Simple Board控制器簡介 947次閱讀
- 多款音樂芯片電路圖 1.5w次閱讀
- 聲控LED旋律燈功能原理 2.2w次閱讀
- 遠程控制通訊--基于Arduino + ESP8266控制LED燈 3.9w次閱讀
- arduino開發環境介紹 2.3w次閱讀
- arduino是什么以及arduino能干什么 4.4w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多