電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino搭建音樂仙女燈

Arduino搭建音樂仙女燈

2022-11-18 | zip | 0.55 MB | 次下載 | 免費(fèi)

資料介紹

描述

快到佳節(jié)了,很多店鋪都開始擺出節(jié)日的裝飾品,我想是時(shí)候搭建一些音樂仙女燈了!

?
poYBAGN261mAK51wAAJfhfRGXAQ123.png
?

我將使用以下內(nèi)容:

  • 12 個(gè) LED
  • 一些跳線
  • 1 個(gè)壓電揚(yáng)聲器
  • 1 x 面包板和
  • 為了制作一串童話燈,我使用了以太網(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ǔ)開和關(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ù)的值打開或關(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 并上傳代碼。(然后拔掉它)

?
poYBAGN2616AIYz9AAFdliQdOYo268.png
?

我將從燈串開始:

  • 我使用以太網(wǎng)電纜的電線并將 3 個(gè) LED 并聯(lián)焊接了四次,確保 LED 均勻分布在大約 2 米的范圍內(nèi)
  • 我將每個(gè)引線的陽極焊接到一根導(dǎo)線上。
  • 然后將每個(gè) LED 的陰極連接到 4 根單獨(dú)的導(dǎo)線。當(dāng)然有電阻
  • 我將這個(gè)過程重復(fù)了 3 次,得到一串 12 個(gè) LED,然后我在 5 根電線的末端放置了插頭引腳

現(xiàn)在我已經(jīng)將 LED 燈串連接到面包板上:

?
pYYBAGN262CAcXu3AAGBuvLa5lY536.png
?

將正極和接地軌連接到面包板:

?
poYBAGN262OAJwjVAAGENk8thJg715.png
?

將 ULN2308 芯片放在面包板上。ULN2308是晶體管陣列芯片;從數(shù)據(jù)表中我可以看到:

  • 該引腳 1 是使引腳 18“打開”的輸入
  • 引腳 2 打開 17。等等。
  • 引腳 9 接地
?
poYBAGN262aANQn7AAFNXkNi3ws624.png
?
  • 將芯片的引腳 9 連接到地軌
  • 將正極導(dǎo)軌連接到端子排,在引腳 18 上方的一個(gè)端子排。

您將在一分鐘內(nèi)了解原因:

  • 將芯片的引腳 1 連接到 Arduino 的引腳 3
  • 2 到 4
  • 籌碼的 3 變?yōu)?5 并且
  • 4 到 Arduino 的引腳 6
?
pYYBAGN262uAbXZDAAFvJXN2Nro910.png
?

將 LED 燈串放在面包板上。其中共陽極線連接到連接到 5 伏的條帶。其余的仙女燈引腳應(yīng)轉(zhuǎn)到芯片的引腳 18、17、16 和 15。

?
poYBAGN2626AXaIOAAHV19oiJQI503.png
?

在 2 個(gè)端子排之間連接壓電揚(yáng)聲器:

  • 將壓電元件的負(fù)極接地并
  • 揚(yáng)聲器的另一端連接到引腳 11

我有一串燈會(huì)隨機(jī)播放鈴鐺,提醒我這是節(jié)日。

?
?
?
?
pYYBAGN263GALtwIAAIKsX1FK6U331.png
?
1 / 2
?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)