本發(fā)明涉及樂(lè)器裝置技術(shù)領(lǐng)域,具體涉及一種智能鋼琴學(xué)習(xí)機(jī)及根據(jù)該智能鋼琴學(xué)習(xí)機(jī)的控制方法。
背景技術(shù):
基于聲光電的智能鋼琴教學(xué)和學(xué)習(xí)設(shè)備在樂(lè)器技術(shù)領(lǐng)域應(yīng)用廣泛。現(xiàn)有的鋼琴智能學(xué)習(xí)練習(xí)設(shè)備,一種是嵌入鋼琴,和鋼琴一體化設(shè)置并出廠;另一種是獨(dú)立于鋼琴設(shè)備本身之外,屬于鋼琴的附件。與鋼琴一體化設(shè)置的鋼琴智能學(xué)習(xí)設(shè)備,專用于特定的鋼琴進(jìn)行配套、匹配和測(cè)試,與特定鋼琴的配合性及控制的準(zhǔn)確性都較好,但不能應(yīng)用于其他品牌型號(hào)的鋼琴設(shè)備;作為獨(dú)立附件的鋼琴智能學(xué)習(xí)設(shè)備,其通用性較好,能夠安裝適用于多種品牌型號(hào)的鋼琴,應(yīng)用靈活,節(jié)約成本,然而,雖然大多數(shù)型號(hào)品牌的鋼琴都有通用的尺寸標(biāo)準(zhǔn),但其鍵位設(shè)置、樣式、結(jié)構(gòu)總是存在些許差異,導(dǎo)致智能鋼琴學(xué)習(xí)機(jī)作為附件安裝使用時(shí),人眼、人手由于光信號(hào)提示位置偏差,將導(dǎo)致響應(yīng)準(zhǔn)確性下降,從而影響智能鋼琴學(xué)習(xí)機(jī)控制的精準(zhǔn)性。如何緩和智能鋼琴學(xué)習(xí)機(jī)通用性和控制精準(zhǔn)性的矛盾,成為不易被察覺(jué),且影響學(xué)習(xí)機(jī)技術(shù)效果的亟待解決的問(wèn)題之一。
同時(shí),現(xiàn)有的智能鋼琴教學(xué)和學(xué)習(xí)設(shè)備,在工作過(guò)程中采用傳感器對(duì)琴鍵位置狀態(tài)進(jìn)行監(jiān)測(cè),用來(lái)監(jiān)測(cè)判斷琴鍵是否被正確的彈奏,然后將琴鍵狀態(tài)信息傳送給控制單元上位機(jī)進(jìn)行決策。然而,在操作實(shí)踐中,現(xiàn)有的鋼琴智能教學(xué)設(shè)備容易發(fā)生提示誤報(bào)的情況。深入分析原因,發(fā)現(xiàn)在鋼琴的演奏中,指法速度有時(shí)要求非??欤瑯?lè)譜的間隙有時(shí)非常短,多個(gè)鍵位信息會(huì)形成高速的變化態(tài)勢(shì)。這樣,多個(gè)串列的鋼琴鍵位信息就需要被同時(shí)采集傳輸,而且需要同時(shí)進(jìn)行判斷、決策處理,驅(qū)動(dòng)led點(diǎn)亮或熄滅。這樣,控制單元上位機(jī)對(duì)傳感信號(hào)的解耦和分析有時(shí)容易產(chǎn)生滯后延遲,甚至導(dǎo)致主控單元產(chǎn)生錯(cuò)誤驅(qū)動(dòng)、決策信息,形成led提示信息的誤報(bào)。因此,上述缺陷將將影響智能鋼琴學(xué)習(xí)機(jī)的操作控制效果,也是亟待解決的問(wèn)題之一。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明解決的技術(shù)問(wèn)題是:克服現(xiàn)有技術(shù)的上述不足,提供一種通用的、控制精準(zhǔn)、響應(yīng)迅速可靠的智能鋼琴學(xué)習(xí)機(jī),以及該智能鋼琴學(xué)習(xí)機(jī)的控制方法。
本發(fā)明采用上位機(jī)向led燈條發(fā)送曲譜所顯示需要彈奏按鍵的信息,根據(jù)信息點(diǎn)亮燈條所對(duì)應(yīng)的led指示燈,按下相應(yīng)琴鍵,通過(guò)燈條的紅外傳感器捕捉琴鍵運(yùn)動(dòng)狀態(tài)并將信息上傳至上位機(jī)以完成跟燈彈奏。
為了防止鋼琴高速變化的琴鍵狀態(tài)信息的采集分析出現(xiàn)誤報(bào),本發(fā)明首先采用多個(gè)控制芯片作為分布式并行采集及驅(qū)動(dòng)控制子單元,用多個(gè)硬件的高速響應(yīng)特性彌補(bǔ)、克服單一硬件、僅通過(guò)軟件實(shí)現(xiàn)采集分析、驅(qū)動(dòng)控制時(shí)速度緩慢的缺陷。同時(shí),用移動(dòng)端app代替?zhèn)鹘y(tǒng)單片機(jī)控制單元作為決策控制單元,充分利用移動(dòng)端設(shè)備強(qiáng)大的軟硬件處理性能,此外移動(dòng)端app在樂(lè)曲曲譜管理,人機(jī)交互以及設(shè)備通用性上具有顯著優(yōu)勢(shì)。這樣,通過(guò)分布式的主板和子板的采集驅(qū)動(dòng)控制功能,以及移動(dòng)端app的結(jié)合設(shè)置,提高了智能鋼琴學(xué)習(xí)機(jī)的控制精準(zhǔn)性,解決了誤報(bào)問(wèn)題。
本發(fā)明提供一種智能鋼琴學(xué)習(xí)機(jī),包括:主板(1),對(duì)應(yīng)部分鋼琴按鍵,多個(gè)子板(2~5),對(duì)應(yīng)另一部分鋼琴按鍵;燈條led(9),其與鋼琴琴鍵對(duì)應(yīng)設(shè)置;反射型光電傳感器(7)與對(duì)射型光電傳感器(8),其分別采集并發(fā)送鋼琴琴鍵傳感信號(hào)至該按鍵對(duì)應(yīng)的主板(1)或子板(2~5),若子板獲得傳感信信號(hào),則子板(2~5)與主板(1)間進(jìn)行通信,將從對(duì)應(yīng)鋼琴琴鍵傳感信號(hào)獲取的琴鍵狀態(tài)信息發(fā)送至主板(1);移動(dòng)端app(6),與主板(1)獲取各琴鍵狀態(tài)信息通信;其中,主板(1)驅(qū)動(dòng)琴鍵所對(duì)應(yīng)設(shè)置的燈條led(9),同時(shí)主板(1)與子板(2~5)進(jìn)行通信,由子板(2~5)驅(qū)動(dòng)琴鍵所對(duì)應(yīng)設(shè)置的燈條led(9);主板(1)與子板(2~5)分別對(duì)應(yīng)分配一定數(shù)量的琴鍵,用于采集對(duì)應(yīng)琴鍵的狀態(tài)信息,以及驅(qū)動(dòng)對(duì)應(yīng)琴鍵設(shè)置的燈條led(9)。
優(yōu)選的,所述子板設(shè)置為4塊;所述主板(1)分配3琴鍵,(2~4)塊子板分配24個(gè)琴鍵,(5)子板分配13個(gè)琴鍵;所述移動(dòng)端設(shè)備為pad或phone,通過(guò)usb與主板進(jìn)行通信。
優(yōu)選的,主板由stm32f301c8作為主控芯片,通過(guò)兩種紅外光電傳感器進(jìn)行信號(hào)采集來(lái)判別是否有琴鍵按下,同時(shí)還要與子板通過(guò)uart進(jìn)行通信,把所有琴鍵狀態(tài)發(fā)送到移動(dòng)端app,根據(jù)所述移動(dòng)端app發(fā)來(lái)的數(shù)據(jù)通過(guò)gpio口輸出高低電平來(lái)點(diǎn)亮對(duì)應(yīng)琴鍵的燈條led;子板由stm32f030c8作為控制芯片,通過(guò)兩種紅外光電傳感器進(jìn)行信號(hào)采集來(lái)判別是否有琴鍵按下,同時(shí)還要與主板通過(guò)uart進(jìn)行通信,把所有琴鍵狀態(tài)通過(guò)uart發(fā)送到主板,通過(guò)主板的命令使gpio口輸出高低電平來(lái)點(diǎn)亮對(duì)應(yīng)琴鍵的燈條led。
優(yōu)選的,鋼琴琴鍵黑鍵的檢測(cè)主要是通過(guò)對(duì)射型光電傳感器實(shí)現(xiàn),對(duì)射型光電傳感器為ir908-7和pt908-7c的組合;白鍵的檢測(cè)主要是通過(guò)反射型光電傳感器實(shí)現(xiàn),反射型光電傳感器為紅外漫反射型光電傳感器itr20001/t。
該智能鋼琴學(xué)習(xí)機(jī),通過(guò)圓形led指示燈提示用戶平板設(shè)備app端琴譜所對(duì)應(yīng)彈奏的琴鍵,采用一條長(zhǎng)金屬氧化外觀支架橫穿整個(gè)燈條。此外,本發(fā)明還提供一種基于該智能鋼琴學(xué)習(xí)機(jī)的控制方法,包括如下步驟:
(1)移動(dòng)端app根據(jù)樂(lè)譜信息,向主板發(fā)送led燈點(diǎn)亮序列信號(hào);
(2)主板根據(jù)led燈點(diǎn)亮序列信號(hào),通過(guò)gpio接口驅(qū)動(dòng)主板對(duì)應(yīng)led燈,同時(shí)與子板進(jìn)行通信,將所述序列信號(hào)傳輸至子板;
(3)子板根據(jù)接收的led燈點(diǎn)亮序列信號(hào),通過(guò)gpio接口驅(qū)動(dòng)子板對(duì)應(yīng)的led;
(4)按下琴鍵,紅外光電傳感器捕捉到琴鍵黑鍵或白鍵被按下的傳感信號(hào),將所述捕捉到的傳感信號(hào)發(fā)送至對(duì)應(yīng)的主板或子板;
(5)主板根據(jù)傳感信號(hào)判斷對(duì)應(yīng)琴鍵狀態(tài)信息;子板根據(jù)傳感信號(hào)判斷對(duì)應(yīng)琴鍵狀態(tài)信息,將琴鍵狀態(tài)信息通過(guò)uart傳輸至主板;
(6)主板根據(jù)各琴鍵狀態(tài)信息,判斷用戶彈奏是否正確;若不正確,則led繼續(xù)保持點(diǎn)亮;若正確,則對(duì)應(yīng)琴鍵led指示燈熄滅,
(7)主板將步驟(6)的判斷結(jié)果發(fā)送至移動(dòng)端appp,移動(dòng)端app進(jìn)行決策,若用戶彈奏不正確,保持樂(lè)曲曲譜不動(dòng);若用戶彈奏正確,則執(zhí)行步驟(1),發(fā)送下一組led燈點(diǎn)亮序列信號(hào),用以通過(guò)led點(diǎn)亮顯示下一組曲譜所對(duì)應(yīng)彈奏的琴鍵。
本發(fā)明的技術(shù)效果如下:
1、本發(fā)明的智能鋼琴學(xué)習(xí)機(jī),并行設(shè)置主板和多個(gè)子板的控制結(jié)構(gòu),能夠大大提高系統(tǒng)數(shù)據(jù)采集和響應(yīng)決策的速度,與高性能移動(dòng)端設(shè)備結(jié)合,控制精準(zhǔn),靈活可靠,解決了誤報(bào)問(wèn)題。燈條上電即進(jìn)入自檢模式,此時(shí)led燈全部點(diǎn)亮,主板、子板的單片機(jī)ad控制器分別開始采集琴鍵信息,通過(guò)單片機(jī)內(nèi)部算法處理得到一個(gè)穩(wěn)定的標(biāo)定閾值,然后熄滅對(duì)應(yīng)的led燈。注意在這個(gè)過(guò)程中不能按下琴鍵或者移動(dòng)燈條,否則會(huì)使閾值不準(zhǔn)確。自檢結(jié)束后燈條上亮燈為紅藍(lán)色的led表示當(dāng)前板子的id號(hào)值。自檢結(jié)束后,如果不連接app,此時(shí)如果有按下琴鍵,則對(duì)應(yīng)的led燈會(huì)點(diǎn)亮。如果連接到app,此時(shí)按鍵就不在亮燈,而是按照app的指令來(lái)亮燈。
2、產(chǎn)品品設(shè)計(jì)可兼容各種不同的88鍵鍵盤樂(lè)器(包括不同品牌的電鋼琴、原聲鋼琴或midi鍵盤)
附圖說(shuō)明
圖1是本發(fā)明的智能鋼琴學(xué)習(xí)機(jī)的硬件總體框圖;
圖2是本發(fā)明的主板硬件框圖;
圖3是本發(fā)明的子板硬件框圖;
圖4是本發(fā)明的燈條安裝結(jié)構(gòu)圖。
具體實(shí)施方式
實(shí)施例1
本發(fā)明的智能鋼琴學(xué)習(xí)機(jī)硬件總體框圖如附圖1所示,該智能鋼琴學(xué)習(xí)機(jī)適用通用88鍵鍵盤樂(lè)器,包括主板1,若干子板2~5,移動(dòng)端app6,與鋼琴琴鍵數(shù)量相等的反射型光電傳感器7,對(duì)射型光電傳感器8,以及燈條led9,該燈條led優(yōu)選為高亮雙色led。
其中,主板1和子板2~5間通過(guò)uart串口進(jìn)行通信,各子板間uart接口通過(guò)二極管進(jìn)行隔離,避免干擾,主板和移動(dòng)端app6中的應(yīng)用程式通過(guò)usb進(jìn)行通信,反射型光電傳感器7信號(hào)通過(guò)單片機(jī)gpio進(jìn)行ad采集,對(duì)射型光電傳感器8信號(hào)通過(guò)單片機(jī)gpio接口進(jìn)行輸入捕獲,將兩種光電傳感器采集的鋼琴琴鍵傳感信息傳輸至主板1和子板2~8;主板1接收上述傳感器信息,以及子板2~5的信息,判斷琴鍵狀態(tài)信息,與app移動(dòng)端設(shè)備6通信,app移動(dòng)端設(shè)備6根據(jù)樂(lè)譜信息和琴鍵狀態(tài)信息進(jìn)行決策,將決策信號(hào)發(fā)送至主板1,最后主板1驅(qū)動(dòng)所對(duì)應(yīng)led燈,同時(shí),主板1與子板2~5進(jìn)行通信,由子板2~5驅(qū)動(dòng)對(duì)應(yīng)led燈。
在實(shí)際應(yīng)用中,主板1可設(shè)置為1塊,子板2~5可設(shè)置為4塊,通用88鍵盤鋼琴的鍵盤的信號(hào)采集端口以及對(duì)應(yīng)高亮雙色led驅(qū)動(dòng)端口,可以根據(jù)情況分配給主板1和子板2~5。例如,每塊主板或子板分配11個(gè)按鍵。
主板1硬件框圖如圖2所示,主板是由stm32f301c8作為主控芯片,通過(guò)兩種紅外光電傳感器進(jìn)行信號(hào)采集來(lái)判別是否有琴鍵按下,同時(shí)還要與子板進(jìn)行通信,把所有琴鍵狀態(tài)通過(guò)usb發(fā)送到移動(dòng)端app6應(yīng)用程序,通過(guò)移動(dòng)端設(shè)備6發(fā)來(lái)的數(shù)據(jù)通過(guò)gpio口輸出高低電平來(lái)點(diǎn)亮對(duì)應(yīng)琴鍵的led。
子板硬件框圖如圖3所示,子板是由stm32f030c8作為控制芯片,通過(guò)兩種紅外光電傳感器進(jìn)行信號(hào)采集來(lái)判別是否有琴鍵按下,同時(shí)還要與主板1通過(guò)uart進(jìn)行通信,把所有琴鍵狀態(tài)通過(guò)uart發(fā)送到主板,通過(guò)主板1的命令使gpio口輸出高低電平來(lái)點(diǎn)亮對(duì)應(yīng)琴鍵的led。
移動(dòng)端app6為pad或phone等。移動(dòng)端app6通過(guò)usb與主板1進(jìn)行通信,獲取鋼琴鍵盤狀態(tài)信息,判斷琴鍵狀態(tài),進(jìn)行決策控制。
鋼琴黑鍵和白鍵的狀態(tài)檢測(cè)信息由紅外光電傳感器7,8獲取。黑鍵的檢測(cè)主要是通過(guò)ir908-7和pt908-7c組合來(lái)實(shí)現(xiàn)。ir908-7c是940nm峰值波長(zhǎng)的紅外發(fā)射二極管,pt908-7c是一個(gè)pnp型光敏三極管,紅外發(fā)射管發(fā)出的紅外光線可控制光敏三極管的感應(yīng)的光電流,通過(guò)串聯(lián)在pnp三極管上的電阻來(lái)改變其電壓降,以期作為高低電位0和1的變化,可利用此來(lái)作為光電感應(yīng)開關(guān)。把此輸出信號(hào)接到單片機(jī)的gpio口,同時(shí)把gpio設(shè)置為輸入模式,來(lái)檢測(cè)此信號(hào)進(jìn)而判別黑鍵是否被按下。
a)當(dāng)黑鍵被按下時(shí),即有光線通過(guò)時(shí),光敏管感應(yīng)到紅外光,產(chǎn)生光電流ic,此時(shí)vout為低電位;
b)當(dāng)黑鍵沒(méi)有被按下時(shí),即遮斷住發(fā)射管的光線,光敏管幾乎感應(yīng)不到紅外光,只是很小的暗電流(一般為0.1ua),此時(shí)vout為高電位。
白鍵的檢測(cè)主要是通過(guò)紅外漫反射型光電傳感器itr20001/t,tr20001/t傳感器是一種集發(fā)射與接收于一體的光電傳感器,主要用于黑白線檢測(cè)。這款黑白線傳感器受可見(jiàn)光干擾小,輸出信號(hào)為開關(guān)量,信號(hào)處理簡(jiǎn)單,使用非常方便。此模塊不需外部電路,我們加入一個(gè)10k和100歐姆的上拉電阻便可使其工作正常。
a)當(dāng)白鍵按下時(shí),此時(shí)光線不完全反射到接收器,vout輸出為較高電壓值;
b)當(dāng)白鍵沒(méi)有按下時(shí),此時(shí)光線可以完全反射到接收器,vout輸出為較低電壓值。
然后通過(guò)主板或子板單片機(jī)進(jìn)行ad采集,通過(guò)多次測(cè)量,算出閾值,然后根據(jù)閾值判斷是否有白鍵按下。
實(shí)施例2
本發(fā)明的智能鋼琴學(xué)習(xí)機(jī)的實(shí)施例2的硬件框圖與實(shí)施例1相同。在此基礎(chǔ)上,其led燈條結(jié)構(gòu)如圖4所示,通過(guò)圓形led指示燈提示用戶平板設(shè)備app端琴譜所對(duì)應(yīng)彈奏的琴鍵,其led燈條寬度足夠小,放置在樂(lè)器上不影響正常彈奏;采用一條長(zhǎng)金屬氧化外觀支架橫穿整個(gè)燈條,在保證整個(gè)燈條的形狀不易發(fā)生形變,避免放置琴鍵時(shí)每個(gè)按鍵應(yīng)力不均勻;金屬條上覆蓋pvc面板,增加外觀的整體性以及美觀程度,保證透光度的同時(shí)增強(qiáng)了金屬表面所不能達(dá)到的細(xì)膩。其相對(duì)現(xiàn)有技術(shù)的改進(jìn)在于。這樣,燈條上led燈位置可以根據(jù)不同型號(hào)品牌鋼琴的琴鍵位置進(jìn)行彈性調(diào)整或者伸縮調(diào)整,或者簡(jiǎn)單更換不同尺寸的金屬氧化物支架即可調(diào)整led燈的位置。鋸齒狀卡槽用于放置紅外傳感器,且能與琴鍵很好的契合。
實(shí)施例3
本發(fā)明的智能鋼琴學(xué)習(xí)機(jī)的實(shí)施例3的硬件框圖與實(shí)施例1相同,燈條結(jié)構(gòu)與實(shí)施例2相同。在此基礎(chǔ)上,提供一種根據(jù)智能鋼琴學(xué)習(xí)機(jī)的控制方法,包括如下步驟:
(1)移動(dòng)端app6根據(jù)樂(lè)譜信息,向主板1發(fā)送led燈點(diǎn)亮序列信號(hào);
(2)主板1根據(jù)led燈點(diǎn)亮序列信號(hào),通過(guò)gpio接口驅(qū)動(dòng)主板對(duì)應(yīng)led燈,同時(shí)與子板2~5進(jìn)行通信,將所述序列信號(hào)傳輸至子板2~5;
(3)子板根據(jù)接收的led燈點(diǎn)亮序列信號(hào),通過(guò)gpio接口驅(qū)動(dòng)子板對(duì)應(yīng)的led;
(4)按下琴鍵,紅外光電傳感器捕捉到琴鍵黑鍵或白鍵被按下的傳感信號(hào),將所述捕捉到的傳感信號(hào)發(fā)送至對(duì)應(yīng)的主板1或子板2~5;
(5)主板根據(jù)傳感信號(hào)判斷對(duì)應(yīng)琴鍵狀態(tài)信息;子板根據(jù)傳感信號(hào)判斷對(duì)應(yīng)琴鍵狀態(tài)信息,將琴鍵狀態(tài)信息通過(guò)uart傳輸至主板;
(6)主板根據(jù)各琴鍵狀態(tài)信息,判斷用戶彈奏是否正確;若不正確,則led繼續(xù)保持點(diǎn)亮;若正確,則對(duì)應(yīng)琴鍵led指示燈熄滅,
(7)主板將步驟(6)的判斷結(jié)果發(fā)送至移動(dòng)端app,移動(dòng)端app進(jìn)行決策,若用戶彈奏不正確,保持樂(lè)曲曲譜不動(dòng);若用戶彈奏正確,則執(zhí)行步驟(1),發(fā)送下一組led燈點(diǎn)亮序列信號(hào),用以通過(guò)led點(diǎn)亮顯示下一組曲譜所對(duì)應(yīng)彈奏的琴鍵。
本領(lǐng)域的技術(shù)人員在不脫離權(quán)利要求書確定的本發(fā)明的精神和范圍的條件下,還可以對(duì)以上內(nèi)容進(jìn)行各種各樣的修改。因此本發(fā)明的范圍并不僅限于以上的說(shuō)明,而是由權(quán)利要求書的范圍來(lái)確定的。