色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

 ;
文章:新聞EDA技術(shù)電源技術(shù)無(wú)線通信測(cè)量?jī)x表嵌入式類(lèi)電子技術(shù)制造技術(shù)半導(dǎo)體網(wǎng)絡(luò)協(xié)議展會(huì)實(shí)驗(yàn)家電維修 3G  
  下載:EDA教程電源技術(shù)電子書(shū)籍電子元件無(wú)線通信通信網(wǎng)絡(luò)電路圖紙嵌入式類(lèi)單片機(jī)傳感/控制電子教材模擬數(shù)字
.... 音視頻類(lèi)
消費(fèi)電子機(jī)械電子行業(yè)軟件C/C++FPGA/ASIC規(guī)則標(biāo)準(zhǔn)家電維修DSPIC資料ARM軟件電路圖電子技術(shù)論壇
 
位置:電子發(fā)燒友 > 電子技術(shù)應(yīng)用 > 電子技術(shù) > 控制技術(shù) >計(jì)算機(jī)接口使19世紀(jì)管風(fēng)琴自行彈奏 退出登錄 用戶管理

計(jì)算機(jī)接口使19世紀(jì)管風(fēng)琴自行彈奏

作者:未知  來(lái)源:電子工程專輯  發(fā)布時(shí)間:2010-1-4 14:56:39  [收 藏] [評(píng) 論]

計(jì)算機(jī)接口使19世紀(jì)管風(fēng)琴自行彈奏

蘇格蘭愛(ài)丁堡的一群工程師如何利用賽靈思 Spartan-3E入門(mén)套件創(chuàng)造出機(jī)器人管風(fēng)琴手

正如許多新奇的創(chuàng)造一樣,這一切都始于酒吧里的一次談話。

“您知道樓上森林咖啡屋里的管風(fēng)琴嗎?”

“知道。”

“我們應(yīng)該創(chuàng)造一個(gè)機(jī)器人管風(fēng)琴手來(lái)演奏它。”

“當(dāng)然,我們應(yīng)該這樣做!”

一次漫不經(jīng)心的交談促使我們著手開(kāi)展“WaldflOte項(xiàng)目”。

我的日常工作是擔(dān)任賽靈思蘇格蘭公司IP部門(mén)的設(shè)計(jì)經(jīng)理,但在業(yè)余時(shí)間,我是“dorkbot”這個(gè)非正式組織的一分子,該組織旨在推進(jìn)工程科學(xué)界與藝術(shù)界之間的草根協(xié)作;活動(dòng)口號(hào)是“用電做離奇的事情”。我屬于愛(ài)丁堡地區(qū)的dorkbot(可以稱作“dorkbot alba”或“dorkbot Edinburgh”,主要取決于您對(duì)誰(shuí)講)。我們的成員創(chuàng)造了很多新奇的東西,包括像素映射LED禮帽、自動(dòng)牙刷、幻覺(jué)魔術(shù)設(shè)備、電磁改錐和各種噪音發(fā)生盒。鮮有意外傷害事故發(fā)生。

dorkbot Edinburgh團(tuán)隊(duì)每隔一周于周二在森林咖啡屋聚會(huì),這間咖啡屋位于愛(ài)丁堡大學(xué)附近,是由志愿者經(jīng)營(yíng)的非贏利性聚會(huì)場(chǎng)所。我參加了幾周在這家咖啡屋舉行的聚會(huì),一天晚上,當(dāng)我到樓上修理舞臺(tái)照明設(shè)備時(shí),驚奇地發(fā)現(xiàn)自己置身教堂之中,這里有布道臺(tái)和唱詩(shī)班樓座,最重要的是,這里有一臺(tái)16英尺高的管風(fēng)琴。

事實(shí)上,咖啡屋所在的建筑曾經(jīng)是愛(ài)丁堡公理教會(huì)的會(huì)場(chǎng)——因此有管風(fēng)琴。但這里并不是這臺(tái)管風(fēng)琴最初的家。19世紀(jì)末,倫敦著名的管風(fēng)琴制造商Gray和Davison首次將這臺(tái)管風(fēng)琴安裝在愛(ài)爾蘭的都柏林城堡,1900年,不知什么原因,這臺(tái)管風(fēng)琴被轉(zhuǎn)移到愛(ài)丁堡。自此,這臺(tái)管風(fēng)琴經(jīng)過(guò)數(shù)次維修,一直留在愛(ài)丁堡。

酒吧閑聊之后,我們并沒(méi)有立即行動(dòng)起來(lái)。在隨后7個(gè)月的聚會(huì)中,我們不斷地思考、探究、討論,最后設(shè)計(jì)出了幾種操縱管風(fēng)琴鍵盤(pán)的方式。

我們將這個(gè)項(xiàng)目取名為“Project WaldflOte”,是因?yàn)楣茱L(fēng)琴上的一個(gè)音栓叫“WaldflOte”。在德語(yǔ)中,它的意思是“森林長(zhǎng)笛”。由于管風(fēng)琴位于森林咖啡屋,因此聽(tīng)起來(lái)還有些詩(shī)情畫(huà)意。

采用正確的機(jī)械部件

在開(kāi)發(fā)的初始階段我們就明確地將問(wèn)題分為機(jī)械和電子兩部分。如果我們能夠找到解決機(jī)械問(wèn)題的方案,就能相對(duì)獨(dú)立地打造這兩個(gè)部分。

制約我們的主要因素之一是資金——我們沒(méi)有多少資金可用,全部資金僅為我們幾個(gè)核心成員自己籌集的資金。我們走遍尾貨市場(chǎng),找到了一些價(jià)格合適的電磁鐵。我們能夠以1英磅左右(約合1.5美元)的單價(jià)得到100個(gè)這樣的電磁鐵,我們訂購(gòu)了6個(gè)在管風(fēng)琴上進(jìn)行試驗(yàn)。

我們發(fā)現(xiàn)電磁鐵的尺寸非常理想,但電磁鐵芯的運(yùn)動(dòng)距離比要始終如一地觸動(dòng)管風(fēng)琴白鍵所需的運(yùn)動(dòng)距離略短。盡管我們可以直接利用電磁鐵芯來(lái)驅(qū)動(dòng)黑鍵,但我們?nèi)匀恍枰撤N杠桿來(lái)驅(qū)動(dòng)白鍵。

電磁鐵組裝的首個(gè)原型如圖1所示,圖1為電磁鐵的工作原理圖。對(duì)于白鍵而言,頂部的膠合板杠桿的后面用管道膠帶作鉸鏈連接,當(dāng)電磁鐵通電時(shí),它會(huì)受到下拉的力量。當(dāng)電磁鐵斷電時(shí),管風(fēng)琴鍵自身會(huì)提供向上力——因此無(wú)需另外使用彈簧。對(duì)于黑鍵而言,從電磁鐵底部伸出的小銷(xiāo)可以足夠的力量直接按壓琴鍵,彈奏音符。

圖1:電磁體組件原型。
圖1:電磁體組件原型。

圖2:機(jī)械布局。
圖2:機(jī)械布局。

組件測(cè)試表明的確可以成功地按壓琴鍵。同時(shí)也表明,我無(wú)法做到將放置電磁鐵的空間七等分,其間隔無(wú)法接近鍵盤(pán)八度音階的實(shí)際間隔,因此,我們只能一次測(cè)試一個(gè)鍵。但我們證實(shí)了這個(gè)原理是可行的,因此,我們繼續(xù)開(kāi)發(fā)工作,訂購(gòu)了適用于整個(gè)鍵盤(pán)的部件,然后開(kāi)始著手電子設(shè)計(jì)。

電子設(shè)計(jì)

在進(jìn)行電子設(shè)計(jì)時(shí),我們大家坐下來(lái),粗略地設(shè)計(jì)出電子結(jié)構(gòu);圖3為基本結(jié)構(gòu)圖。在圖的左側(cè),MIDI消息由外部傳入(我將在下文詳細(xì)介紹MIDI協(xié)議)。圖的右側(cè)是一個(gè)位移寄存器鏈;控制器在驅(qū)動(dòng)相應(yīng)的“數(shù)據(jù)”值填充位移寄存器鏈時(shí),負(fù)責(zé)切換“時(shí)鐘”信號(hào),然后通過(guò)“選通”信號(hào)將位移寄存器鏈的內(nèi)容并行發(fā)送至電磁鐵驅(qū)動(dòng)器的輸入端。

圖3:電子結(jié)構(gòu)。
圖3:電子結(jié)構(gòu)。

我們?cè)谖灰萍拇嫫?驅(qū)動(dòng)器鏈上采用了74HC595位移寄存器IC。不過(guò),電磁鐵試驗(yàn)顯示每個(gè)電磁鐵大約需要15V電源提供350mA驅(qū)動(dòng)電流——超出了CMOS輸出級(jí)的提供范圍。這了滿足這個(gè)要求,我們?cè)诿總(gè)位移寄存器IC上增加了一個(gè)ULN2803A Darlington輸出級(jí)。這個(gè)芯片還具備一個(gè)保護(hù)二極管,對(duì)切斷電流時(shí)電磁鐵生成的高反激電壓進(jìn)行分流,避免增加一個(gè)分立式二極管。我們?cè)谌f(wàn)用板上制作了幾個(gè)驅(qū)動(dòng)器電路板原型,每個(gè)可驅(qū)動(dòng)16個(gè)電磁鐵。

控制器設(shè)計(jì)

盡管我們可以采取多種方法設(shè)計(jì)控制器(包括利用Arduino平臺(tái)或采用其他微控制器),但我們最終還是選擇使用賽靈思Spartan-3E入門(mén)套件,因?yàn)槲以谫愳`思的日常工作中用過(guò)這種開(kāi)發(fā)板,對(duì)相關(guān)工具了如指掌。特別是,我知道如何使用Platform Studio SDK和ChipScope等調(diào)試工具,由于這有可能是一個(gè)現(xiàn)場(chǎng)調(diào)試項(xiàng)目,這樣做可節(jié)省時(shí)間。我們使用賽靈思嵌入式開(kāi)發(fā)套件,開(kāi)發(fā)核心組件MicroBlaze子系統(tǒng)(圖4)。

圖4:MicroBlaze 子系統(tǒng)。
圖4:MicroBlaze 子系統(tǒng)。

除了MIDI接口和位移寄存器接口,我們還選擇增加了串行RS-232控制端口,幫助我們調(diào)試系統(tǒng)。RS-232協(xié)議看起來(lái)有點(diǎn)老套,但在此類(lèi)項(xiàng)目中,它的價(jià)值非凡。我們也增加了一些GPIO端口,用于驅(qū)動(dòng)LED,讀取開(kāi)關(guān)和按鈕,以便在無(wú)需使用控制端口的情況下,完成某些交互操作。

寫(xiě)入MicroBlaze固件

我們已經(jīng)確定系統(tǒng)的最佳輸入接口是MIDI端口。自20世紀(jì)80年代以來(lái),樂(lè)器數(shù)字接口(MIDI)已經(jīng)成為連接合成器等數(shù)控樂(lè)器與其他樂(lè)器或控制計(jì)算機(jī)的標(biāo)準(zhǔn)接口,因此,顯然我們也應(yīng)當(dāng)采用這種接口。MIDI將使我們?nèi)〉昧斯茱L(fēng)琴連接的最大靈活性。

MicroBlaze可從內(nèi)部顯示整個(gè)鍵盤(pán)的狀態(tài)以及系統(tǒng)正在按壓哪些鍵——即系統(tǒng)正在為哪些電磁鐵加電。

MIDI是一種單向低速串行協(xié)議,傳輸速率為31250波特。它包含多種類(lèi)型的信息,但就我們的目的而言,只有NOTE ON和NOTE OFF是重要的信息類(lèi)型。每個(gè)NOTE ON信息由3個(gè)字節(jié)構(gòu)成。

第一個(gè)字節(jié)是0x9n,這里的n代表通道數(shù)。

第二個(gè)字節(jié)是0至127的音符數(shù),中間的C為第60號(hào)。

第三個(gè)字節(jié)是0至127的速度值。

NOTE OFF除第一個(gè)字節(jié)是0x8n外,其余與此非常相似。

在我們的設(shè)計(jì)中,我們決定同步聽(tīng)取所有通道的信息( “omni”操作)。由于管風(fēng)琴鍵盤(pán)對(duì)速度并不敏感,因此,我們可安全地忽略所有速度字節(jié)。

EDK UART IP核接收MIDI消息,然后通過(guò)FIFO,一次向MicroBlaze處理器發(fā)送一條信息。MicroBlaze可從內(nèi)部顯示整個(gè)鍵盤(pán)的狀態(tài)和系統(tǒng)正在按壓哪些鍵(即系統(tǒng)正在為哪些電磁鐵加電)。固件采用一個(gè)靜態(tài)查找表,指出與這個(gè)音符相關(guān)的電磁鐵,將這個(gè)用做內(nèi)部圖的索引;到達(dá)的NOTE ON消息將相應(yīng)entry值設(shè)為“1”,而NOTE OFF消息將entry值設(shè)為“0”。

內(nèi)部圖更新后,利用圖的全部?jī)?nèi)容更新電磁鐵寄存器;通過(guò)GPIO端口的位拆裂,MicroBlaze處理器一次將一位的圖內(nèi)容寫(xiě)入位移寄存器的數(shù)據(jù)輸入端,然后切換時(shí)鐘信號(hào),移動(dòng)一下位移寄存器。一旦利用圖內(nèi)容對(duì)整個(gè)位移寄存器進(jìn)行了更新,MicroBlaze會(huì)將一個(gè)上升沿寫(xiě)入STROBE行,這能夠?qū)⑽灰萍拇嫫鞯闹悼截愔凛敵黾拇嫫鳎瑸檎_的電磁鐵加電或斷電,從而產(chǎn)生悅耳的音樂(lè)。

我們將固件用作軟件狀態(tài)機(jī);對(duì)于不采用實(shí)時(shí)操作系統(tǒng)的嵌入式應(yīng)用而言,這可提供某些多線程應(yīng)用功能,但沒(méi)有實(shí)際線程實(shí)現(xiàn)開(kāi)銷(xiāo)。靜態(tài)結(jié)構(gòu)數(shù)組根據(jù)當(dāng)前的狀態(tài),指出系統(tǒng)針對(duì)特定事件應(yīng)當(dāng)采取什么措施。

const midi_state_table_entry_t MIDI_STATE_TABLE[] =

{

{INHIBITED,PANIC,

MidiSM_Panic,INHIBITED},

{ANY_STATE,PANIC,

MidiSM_Panic,INIT},

{ANY_STATE,INHIBIT,

MidiSM_DoNothing,INHIBITED},

{ANY_STATE,OTHER_STATUS_RECEIVED

,MidiSM_ClearMessage,INIT},

{INIT,NOTE_ON_OR_OFF_RECEIVED,

MidiSM_StoreStatusByte,NOTE_

ON_OR_OFF},

{INIT,DATA_RECEIVED,

MidiSM_DoNothing,INIT},

{NOTE_ON_OR_OFF,NOTE_ON_

OR_OFF_RECEIVED,MidiSM_

我們成功演奏了一些非常復(fù)雜、快節(jié)奏的音樂(lè),從古典到搖滾;電磁鐵和驅(qū)動(dòng)器在速度方面并沒(méi)有表現(xiàn)出太大的局限性。

StoreStatusByte,NOTE_ON_OR_OFF},

{NOTE_ON_OR_OFF,DATA_RECEIVED,

MidiSM_StoreNoteNumber,NOTE_ON_OR

_OFF_NUMBER},

{NOTE_ON_OR_OFF_NUMBER,

NOTE_ON_OR_OFF_RECEIVED,MidiSM_St

oreStatusByte, NOTE_ON_OR_OFF},

{NOTE_ON_OR_OFF_NUMBER,

DATA_RECEIVED,MidiSM

_NoteOnOrOffComplete,

NOTE_ON_OR_OFF},

{INHIBITED,ENABLE,

MidiSM_DoNothing,INIT},

{LAST_STATE, LAST_EVENT, 0,

LAST_STATE},

};

在該結(jié)構(gòu)體中的第一個(gè)entry表示當(dāng)前狀態(tài);第二個(gè)entry表示事件到達(dá);第三個(gè)entry表示處理該事件需要使用狀態(tài)轉(zhuǎn)換功能;第四個(gè)entry表示下一狀態(tài)。

狀態(tài)機(jī)業(yè)務(wù)端采用的代碼如下:

XStatus MidiSM_

DoStateTransition

(midi_state_machine_t *pInstance,

u8 event)

{

const midi_state_table_

entry_t *pTable = pInstance-

>pStateTable;

// Search for a match in the

state table

do {

if ((event == pTable-

>received_event)

&& ((pInstance-

>current_state == pTable-

>state)

|| (pTable->state ==

ANY_STATE)))

  {

(*pTable-

>transition_function)((v

oid *)pInstance);

pInstance->current_state

= pTable->next_state;

return XST_

SUCCESS;

}

pTable++;

} while (pTable->state !=

LAST_STATE);

// Aaargh, something bad happened - should never get here

XASSERT_NONVOID_ALWAYS();

}

事件循環(huán)提供的事件是對(duì)這種功能的論證,根據(jù)當(dāng)前的狀態(tài)和事件,采取某種措施和改變系統(tǒng)狀態(tài)。事件的類(lèi)型包括字節(jié)到達(dá)MIDI接口,字符到達(dá)控制端口和按下重啟按鈕(panic button)。所有經(jīng)驗(yàn)豐富的MIDI玩家都知道重啟按鈕是保護(hù)耳朵和電源必備的特性——它可無(wú)條件地關(guān)閉所有電磁鐵,使系統(tǒng)恢復(fù)到已知安全狀態(tài)。

演奏WaldflOe

安裝了這種應(yīng)用精致的控制器, 機(jī)器人管風(fēng)琴手可演奏從狂想曲到搖滾的所有風(fēng)格音樂(lè)。隱藏在琴鍵底部的是電磁鐵木制背板——每塊板上安裝30個(gè)或更多的電磁鐵,同時(shí)還安裝了一些回收利用的罐狀電容器,為電磁鐵提供電能。我們將整個(gè)驅(qū)動(dòng)器組件與管風(fēng)琴連接。在圖的上方,您可看到Spartan-3E入門(mén)套件開(kāi)發(fā)板和其右側(cè)的接口萬(wàn)用板;我們利用回收利用的CAT5電纜將這些裝置與驅(qū)動(dòng)器組件連接。

用文字很難說(shuō)明管風(fēng)琴的運(yùn)行情況,因此,我建議您點(diǎn)擊本文結(jié)尾的互聯(lián)網(wǎng)鏈接地址,收看我們上傳的視頻。當(dāng)機(jī)器人管風(fēng)琴手演奏《月光奏鳴曲》或《Jump》時(shí),您將會(huì)聽(tīng)到電磁鐵發(fā)出的咔嗒聲——這是電磁鐵鐵芯降至線圈底部時(shí)發(fā)出的聲音,不是杠桿敲擊琴鍵的聲音。不過(guò),您若是坐在大廳里,而不是站在講道臺(tái)上,電磁鐵發(fā)出的聲音就會(huì)小很多。您所能聽(tīng)到的只是管風(fēng)琴流淌出的優(yōu)美音樂(lè)。

我們利用這套系統(tǒng)成功演奏了一些非常復(fù)雜、快節(jié)奏的音樂(lè),從古典到搖滾;電磁鐵和驅(qū)動(dòng)器在速度方面并沒(méi)有表現(xiàn)出太大的局限性。即使在彈奏要求最苛刻的曲目時(shí),電磁鐵電源在15V電壓條件下通常電流不超過(guò)4A。即使我們稍微過(guò)度使用電磁鐵,電磁鐵線圈也沒(méi)有出現(xiàn)明顯升溫的情況。總而言之,我們對(duì)這個(gè)系統(tǒng)非常滿意,同時(shí)為參與開(kāi)發(fā)這套系統(tǒng)深感自豪。

WaldflOe下一步是什么?噢,我們已經(jīng)非正式地邀請(qǐng)了一些音樂(lè)家為這種新樂(lè)器創(chuàng)作曲目(尤其是對(duì)擁有53根手指、從不感到疲倦的演奏者感興趣的作曲家),我們還考慮舉辦一個(gè)獨(dú)奏會(huì)。另一種可能是實(shí)現(xiàn)管風(fēng)琴音栓運(yùn)作的機(jī)械化,便于我們?cè)陔娮友葑噙^(guò)程中改變音量和音色。我們還在考慮采取某些方法驅(qū)動(dòng)管風(fēng)琴的低音踏板,使最長(zhǎng)的低音管發(fā)音。最后也是最有可能完成的是,我們正打算在互聯(lián)網(wǎng)上推出一項(xiàng)服務(wù),使公眾能夠把他們的MIDI文件上傳至這個(gè)系統(tǒng),然后再聆聽(tīng)管風(fēng)琴的實(shí)時(shí)演奏。

相關(guān)技術(shù)應(yīng)用閱讀 相關(guān)技術(shù)資料下載
∷相關(guān)文章評(píng)論∷    (評(píng)論內(nèi)容只代表網(wǎng)友觀點(diǎn),與本站立場(chǎng)無(wú)關(guān)!) [更多評(píng)論...]
 
 

 

 
關(guān)于本站- 意見(jiàn)反饋 - 網(wǎng)站導(dǎo)航 - 幫助 - 隱私政策 - 聯(lián)系我們 - 使用條款 - 安全承諾 - 友情連接 - 歡迎投稿
站長(zhǎng)QQ:39550527 Powered by: 颶風(fēng)網(wǎng)絡(luò)(電路圖
Copyright 2006-2008 Elecfans.Com.電子發(fā)燒友: 粵ICP備07065979號(hào)All Rights Reserved
主站蜘蛛池模板: 婷婷四房播客五月天| 单亲妈妈3韩国电影免费观看| 亲胸吻胸添奶头GIF动态图免费| 色噜噜噜亚洲男人的天堂| 护士WC女子撒尿| 成片免费观看视频大全| 一道本在线伊人蕉无码| 神电影院午夜dy888我不卡| 美女搞鸡网站| 鸡鸡插屁股| 国产成人在线免费| bbw极度另类孕妇| 2020年国产理论| 亚洲色欲国产免费视频| 神马伦理2019影院不卡片| 欧美麻豆一精品一AV一免费| 久久免费高清| 和尚轮流澡到高潮H| 国产精品第100页| 囯产精品久久久久免费蜜桃 | 舔1V1高H糙汉| 欧洲vs美洲完整视频| 久拍国产在线观看| 精品视频网站| 好爽别插了无码视频| 国产欧美一区二区三区免费| 共妻肉多荤文高h一女n男| www.一级毛片| vivoe另类| xx69美国| YELLOW高清在线观看2019| adc网址在线观看| 99亚洲精品自拍AV成人软件| 51国产午夜精品免费视频| 在线中文字幕亚洲日韩| 永久免费精品精品永久-夜色| 亚洲一区成人| 宅男午夜大片又黄又爽大片| 一级淫片bbbxxx| 樱花之恋动漫免费观看| 影音先锋男人资源813.|