導航:首頁 > 操作系統 > 單片機控制的音樂噴泉

單片機控制的音樂噴泉

發布時間:2023-04-02 02:08:30

『壹』 有誰用單片機做過小型音樂噴泉

想做一個小型的音樂噴泉,需要用到電磁閥。用單片機的ADC采樣音樂信號,根據音樂信號電壓高低,可以准確控制電磁閥開閉,實現音樂噴泉效果。用c語言完全可以編程實現,當然匯編語言也可以。

『貳』 怎樣製作音樂噴泉

國內外音樂噴泉製作流程一般是首先選擇要播放的樂曲,計算機人員根據樂曲,利用3D動畫製作軟體製作樂曲的音樂噴泉水型和燈光變化的水景。為體現音樂情感,需反復調試,直到完全相配為止。

然後控制人員根據3D音樂噴泉動畫來編織控製程序,使噴頭、變頻機、燈光動起來,產生實際的音樂噴泉。再經過反復調試,使之和3D動畫模擬顯示基本一致。

最後三個系統(樂曲播放、動畫顯示、控制執行)進行聯試,直到三者相互匹配為止。

『叄』 如何自製音樂噴泉的原理

自動噴泉的工作原理是怎樣的呢?這是利用水和空氣的壓力原理做成的。
先准備二個大小相同的密封杯(也可用飲料瓶)各裝上相等量水(半瓶)。兩根膠管和一根粗細不到2毫米玻璃管,一個大水漏斗。
首先漏斗與玻璃管之間要密封,後在漏斗中注水,利用吸虹現象,使水通過橡管進入瓶1,瓶1的水增加體積把瓶內空氣壓到瓶2,這樣瓶2的空氣壓力增加,壓迫瓶壁與水面,迫使瓶2內的水流入玻璃管中,水在壓力的作用下從管內噴出,形成噴泉。噴泉中的水落下來,又落在漏斗中,就又開始新的循規,這樣,自動噴泉就做成了。
製作注意事項:(1)漏斗內水必須與2號瓶密封。(2)開口在瓶的下部。(3)玻璃管噴水口用火燒細(但不能封閉,管長要大於瓶長)
音樂噴泉的工作原理是,根據播放的音樂來控制水柱,達到與音樂同步的效果,而水柱是由水泵來控制的,而水泵是由三相非同步電動機組成的,三相非同步電動機的轉速如果通入工頻電源,轉速是不變化的,變頻器是專門針對電機調速的裝置。由變頻器控制電機的轉速,使水柱發生變化。
改變頻率就改變了電機的轉速,也就改變了水泵的壓力,音樂的不同頻率經單片機處理送到變頻電機的控制端,使電機轉速隨音樂的音調,節奏,和強弱變化,水泵的壓力隨之變化,噴岀的水就有了高低變化,而且是由幾套設備對多組噴嘴實施控制,噴泉的形成是水泵。
將音樂的節奏和強度轉變為控制信號,此信號再控制一個電壓控制器件,電源經過這個電壓控制器件後,輸出電壓也隨音樂的變化而改變,然後控制水泵電機。

音樂表演噴泉是在程序控制噴泉的基礎上加入了音樂控制系統,計算機通過對音頻及MIDI信號的識別,進行解碼和編碼,最終將信號輸出到控制系統,使噴泉的造型及燈光的變化與音樂保持同步,從而達到噴泉水型、燈光及色彩的變化與音樂情緒的完美結合,使噴泉表演更加生動更加富有內涵。音樂噴泉:可以根據音樂的高低起伏變化。用戶可以在編輯界面編寫自己喜愛的音樂程序。播放系統可以實現音樂、水、燈光氣氛統一,播放同步。

『肆』 如何用單片機設計音樂噴泉電路圖

單片機就想做音樂噴泉?20年前估計這么做,用PLC做控制,現在還用單片機?莫非真是畢業設計?

現在的音樂噴泉控制系統相當復雜,功能和復雜度能趕上一個電廠的整套控制系統了,大點的音樂噴泉有幾千個控制點。

『伍』 我想要一段單片機控制音樂噴泉的C語言程序,很急!~誰能幫幫我,謝謝~

#include<reg51.h>
#include "SoundPlay.h"
uchar code table[]="sound_signal:";
uchar code table1[]="sound_pace:";
uchar code table2[]="0123456789 ";
uchar data count=0;
sbit motor=P2^1;
sbit rs=P2^2;
sbit e=P2^3;
void init_com()
{
TMOD=0x01;
TH0=0xff;
TL0=0xff;
EA=1;
ET0=1;
}

void timer0(void) interrupt 1 using 3
{
counter=counter+1;//節拍次數計數
TH0=0xd8; //定義單位節拍的延時大小 10ms定時
TL0=0xef;
}
void delay(uchar n)
{
uchar i;
while(n--)
for(i=0;i<125;i++); //延時1毫秒

}

void sound_delay(uchar n)
{
uchar i;
while(n--)
{
for(i=0;i<2;i++);
}
}

/*******LCD顯示*******/
void ling(uchar zl) //寫指令
{
rs=0;
e=0;
P0=zl;
delay(5);
e=1;
delay(5);
e=0;
}
void shuju(uchar sj) //寫數據
{
rs=1;
e=0;
P0=sj;
delay(5);
e=1;
delay(5);
e=0;
}
void lcdinit() //初始化
{
delay(15);
ling(0x01);
ling(0x38);
delay(5);
ling(0x38);
delay(5);
ling(0x38);
delay(5);
ling(0x0c);
delay(5);
ling(0x06);
delay(5);
ling(0x01);
delay(5);
}
//*****************液晶初始化*********
void main()
{
uint i,a;
uchar sound_signal;//定義音符大小
uchar sound_pace;//定義節拍大小
init_com();
lcdinit();
ling(0x80);
for (i=0;i<13;i++)
shuju(table[i]);
ling(0x80+0x40);
for (i=0;i<11;i++)
shuju(table1[i]);
//array[i]=0x00 代表歌曲演唱完畢
//array[i]=0xff 代表是休止符
while(1)
{
i=0;

/***************************************///////////
while(array[i]!=0x00)
{
//如果是休止符,延時100ms,並終止本次循環,進入下一個循環
if(array[i]==0xff)
{
TR0=0;
i++;
delay(100);
continue;
}
//從表中取得 音符大小
sound_signal=array[i];
i=i+1;
//從表中取得 節拍大小
sound_pace=array[i];
a= sound_pace;
P1=a|(a>>4);
//彩燈的根據節拍閃爍
ling(0x80+13);
if(sound_signal/100==0)
shuju(table2[10]);
else shuju(table2[ sound_signal/100]);
shuju(table2[sound_signal%100/10]);
shuju(table2[sound_signal%10]);
ling(0x80+0x40+11);
if(sound_signal/100==0)
shuju(table2[10]);
else shuju(table2[sound_pace/100]);
shuju(table2[sound_pace%100/10]);
shuju(table2[sound_pace%10]);
motor=0;
delay(40);
TR0=1;
//當節拍數未達到時候,繼續循環,產生該音調的聲音
while(counter<=sound_pace)
{
motor=1;
sound=~sound;
sound_delay(sound_signal);
}

i++;
counter=0;//節拍計數器置0,進入下一個音調
}
/*************************************************/
delay(10); //歌曲演唱完畢後,延時一段時間
}
}
//*******soundplay.h**********歌曲
#ifndef __SOUNDPLAY_H_REVISION_FIRST__
#define __SOUNDPLAY_H_REVISION_FIRST__
#define uchar unsigned char
#define uint unsigned int
sbit sound=P2^0;
uint counter=0;
uchar code array[]=
{
0x18, 0x30, 0x1C, 0x10,
0x20, 0x40, 0x1C, 0x10,
0x18, 0x10, 0x20, 0x10,
0x1C, 0x10, 0x18, 0x40,
0x1C, 0x20, 0x20, 0x20,
0x1C, 0x20, 0x18, 0x20,
0x20, 0x80, 0xFF, 0x20,
0x30, 0x1C, 0x10, 0x18,
0x20, 0x15, 0x20, 0x1C,
0x20, 0x20, 0x20, 0x26,
0x40, 0x20, 0x20, 0x2B,
0x20, 0x26, 0x20, 0x20,
0x20, 0x30, 0x80, 0xFF,
0x20, 0x20, 0x1C, 0x10,
0x18, 0x10, 0x20, 0x20,
0x26, 0x20, 0x2B, 0x20,
0x30, 0x20, 0x2B, 0x40,
0x20, 0x20, 0x1C, 0x10,
0x18, 0x10, 0x20, 0x20,
0x26, 0x20, 0x2B, 0x20,
0x30, 0x20, 0x2B, 0x40,
0x20, 0x30, 0x1C, 0x10,
0x18, 0x20, 0x15, 0x20,
0x1C, 0x20, 0x20, 0x20,
0x26, 0x40, 0x20, 0x20,
0x2B, 0x20, 0x26, 0x20,
0x20, 0x20, 0x30, 0x80,
0x20, 0x30, 0x1C, 0x10,
0x20, 0x10, 0x1C, 0x10,
0x20, 0x20, 0x26, 0x20,
0x2B, 0x20, 0x30, 0x20,
0x2B, 0x40, 0x20, 0x15,
0x1F, 0x05, 0x20, 0x10,
0x1C, 0x10, 0x20, 0x20,
0x26, 0x20, 0x2B, 0x20,
0x30, 0x20, 0x2B, 0x40,
0x20, 0x30, 0x1C, 0x10,
0x18, 0x20, 0x15, 0x20,
0x1C, 0x20, 0x20, 0x20,
0x26, 0x40, 0x20, 0x20,
0x2B, 0x20, 0x26, 0x20,
0x20, 0x20, 0x30, 0x30,
0x20, 0x30, 0x1C, 0x10,
0x18, 0x40, 0x1C, 0x20,
0x20, 0x20, 0x26, 0x40,
0x13, 0x60, 0x18, 0x20,
0x15, 0x40, 0x13, 0x40,
0x18, 0x80, 0x00
};

『陸』 請問用單片機做音樂噴泉的小模型需要哪些材料呢

首先需要個噴泉模型聚乙烯熟料透明的。然後准備個三原色LED燈(最好貼片的),加個藍牙模塊,准備個藍牙音箱,根據設備數量選擇合適引腳單片機。
裝載,用塊萬能板將燈,藍牙模塊,單片機什麼的都焊上去。然後將噴泉模型用塑料膠固定在燈上。
連上PC開始調試,先寫燈模塊,再寫藍牙模塊,將音頻轉成2進賬寫入代碼。
這樣基本上可以循環放一首歌了。

『柒』 51單片機的音樂噴泉的編碼

功能實現通過ADC0832晶元對音頻信號的採集,轉換為數字信號給單片機,然後PWM脈沖寬度調制控制水泵水柱對的高低

//請先了解ADC0832模數轉換的串列協議,再來讀本函數,主要是對應時序圖來理解,本函數是模擬0832的串列協議進行的

// 1 1 0 通道

// 1 1 1 通道

unsigned char ad0832read(bit SGL,bit ODD)

{undefined

unsigned char i=0,value=0,value1=0;

SCL=0;

DO=1;

CS=0;//開始

SCL=1;//第一個上升沿

SCL=0;

DO=SGL;

SCL=1; //第二個上升沿

SCL=0;

DO=ODD;

SCL=1; //第三個上升沿

SCL=0; //第三個下降沿

DO=1;

for(i=0;i<8;i++)

{undefined

SCL=1;

SCL=0; //開始從第四個下降沿接收數據

value<<=1;

if(DO)

value++;

}

for(i=0;i<8;i++)

{//接收校驗數據

value1>>=1;

if(DO)

value1+=0x80;

SCL=1;

SCL=0;

}

CS=1;

DO=1;

SCL=1;

if(value==value1)//與校驗數據比較,正確就返回數據,否則返回0

return value;

return 0;

}

void penquan() //PWM調壓

{undefined

date=ad0832read(1,0); //讀取ad值

h1=(255-date);//轉換

out=0; //水泵清零

delay(h1);

if(h1>70) led1=1; else led1=0; //ad值對比 點亮相應的燈

if(h1>80) led2=1; else led2=0; //ad值對比 點亮相應的燈

if(h1>90) led3=1; else led3=0; //ad值對比 點亮相應的燈

if(h1>100) led4=1; else led4=0; //ad值對比 點亮相應的燈

if(h1>110) led5=1; else led5=0; //ad值對比 點亮相應的燈

if(h1>115) led6=1; else led6=0; //ad值對比 點亮相應的燈

if(h1>120) led7=1; else led7=0; //ad值對比 點亮相應的燈

if(h1>130) led8=1; else led8=0; //ad值對比 點亮相應的燈

out=1; //關閉水泵

delay(date); //延時時間

}

void main()//主函數

{undefined

while(1)

{undefined

penquan(); //給定個延時次數

}

}
(轉載於CSDN)

『捌』 電腦的噴泉音響是通過什麼來使水噴出來(工作原理)

1、電腦噴泉音響的工作原理:改變頻率就改變尺臘了電機的轉速,也就改變了水泵的壓力,音帆拆樂的不同頻率經單片機處理送到變頻電機的控制端,使電機轉速隨音樂的音調,節奏,和強弱變化,水泵的壓力隨之變化,噴岀的水就有了高低變化,而且是由幾套設備對多組噴嘴實施控制噴泉的形成是水泵。將音樂的節奏和強度轉變為控制信號,此信號再控制一個電壓控制器件,電源經過這個電壓控制器件後,輸出電壓也隨音樂的變化而改變,然後控制水泵電機。
2、音樂噴泉控制系統:軟體利用音樂文件的物理波形,將其分為若干樂段,精度達十毫秒,並且自動識別震撼態困棗、思念、抒情、喜悅、激昂、悲哀、歡快、熱烈等樂曲的基本情感特徵,轉換為控制信號,經過同步處理後通過信號輸出卡輸出到外圍具體控制單元,即根據水型組態規則控制潛水泵、電磁閥、水下彩燈和變頻器等執行機構,將視覺感受與聽覺感受融為一體。

『玖』 音樂噴泉的原理是什麼

音樂噴泉的工作原理是,根據播放的音樂來控制水柱,達到與音樂同步的效果,而水柱是由水泵來控制的,而水泵是由三相非同步電動機組成的,三相非同步電動機的轉速如果通入工頻電源,轉速是不變化的,變頻器是專門針對電機調速的裝置。由變頻器控制電機的轉速,使水柱發生變化。

改變頻率就改變了電機的轉速,也就改變了水泵的壓力,音樂的不同頻率經單片機處理送到變頻電機的控制端,使電機轉速隨音樂的音調,節奏,和強弱變化,水芹數泵的壓力隨之變化,噴岀的水就有了高低變化。

最高噴泉

2007年8月1日19時58分,在通化市渾江江面上,100米高的水柱噴涌而起,蔚為大觀。據了解,這是東北三省噴涌最高的音樂噴泉,同時也是通化渾江沿江景觀帶建設工程的嫌含首組成部分之一。在當晚工程的竣工儀式上,為其剪綵的不是主要領導,而是市民代表。

據介紹,這是東北三老乎省目前噴涌最高的音樂噴泉,總投資高達2000多萬元。同時它也作為通化渾江沿江景觀帶建設工程的內容之一,成為通化市一道新的風景線。

以上內容參考:網路-音樂噴泉

『拾』 單片機實現音樂噴泉的過程中如何對音頻進行分頻處理

用AD晶元對音頻采樣,采樣速度至少40KHZ,然後做FFT,精度你隨便,估計有個256點就可以了。一來你是51,跑不快,二來音樂噴泉水柱不多,從低頻到高頻大概體現7、8個頻點就夠了。FFT程序網上找,一把一把的。

閱讀全文

與單片機控制的音樂噴泉相關的資料

熱點內容
《fog》txt下載 瀏覽:493
怎樣用氣泡紙解壓 瀏覽:120
香港李時珍的經典電影 瀏覽:319
母親和房子電影 瀏覽:141
收盡天下女明星的超級主播 瀏覽:469
程序員的ios游戲 瀏覽:719
可以在線看 瀏覽:56
十三武士迅雷 瀏覽:809
網站好看,網站不用下載 瀏覽:153
優聊app怎麼上不去了賬號不存在 瀏覽:465
楚天的小說主角 瀏覽:86
重生到民國成為浙江督軍的小說 瀏覽:531
玄幻推母 瀏覽:770
周潤發黃百鳴電影 瀏覽:815
mfc列印pdf 瀏覽:522
大尺度網址 瀏覽:829
飛行中的偶遇電影 瀏覽:983
電影功夫夢演員表 瀏覽:905
128單片機中斷程序編寫 瀏覽:325
休傑克曼脖子上長蛋蛋的電影1002無標題 瀏覽:917