欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 兒童玩具電鋼琴改裝成拉弦電子琴(日記) [打印本頁]

作者: dalaoshi    時間: 2023-9-5 17:40
標題: 兒童玩具電鋼琴改裝成拉弦電子琴(日記)
      一個月前在某一個寶看到一臺兒童電鋼琴,37鍵,是2.2M標準鋼琴琴鍵,很便宜,于是買了一臺打算改進成拉弦電子琴,我的第一款拉弦電子琴已經制作成功,還搬上舞臺表演,并申請了中國專利,已經收到受理通知書,原本打算再買一批來改裝,但廠家倒了,買不到,只好再買一款,從頭做起,并打算把改裝過程在論壇與大家分享,也歡迎大家來提意見。



拆開后:



芯片大頭照:



打算把主控芯片換掉,用STC8代替,完成掃描后輸出MIDI碼,待續(xù)。。



作者: dalaoshi    時間: 2023-9-6 03:57
電路分析:此琴用三顆電池供電,電壓為4.5V,通過兩個硝基二級管降壓,并防止電池反接,總共有8X5條掃描線,A0-A7隔著二極管與B3-B7連接,A端接二極管正極,B端接二極管負極,掃描時讓B口的每一位輪流輸出低電位,并檢查A端的8位數(shù)據,該位若為0則表示相應的按鍵被按下,經查表可得到該鍵的排列號碼。

選用STC8作為掃描芯片,這是畫好的板,打樣回來后就可編程了。





作者: 龍小白    時間: 2023-9-6 11:57
占個沙發(fā),關注樓主后續(xù)
作者: dalaoshi    時間: 2023-9-6 15:37
龍小白 發(fā)表于 2023-9-6 11:57
占個沙發(fā),關注樓主后續(xù)

歡迎一起來玩,我這臺也一定能成功改造完成,將來到國內推行電子琴弦樂隊也用這一款。
作者: dalaoshi    時間: 2023-9-6 16:22
拆除主控芯片:芯片用黑膠封住,什么都看不到,應該是很成熟的方案,除了掃描線輸入,還有四條DATA線,但不知道是什么功能,如果是輸出MIDI碼,那就好辦,不必搞自己的掃描版,這臺機到我家還不到一小時就被拆了,連一個音都沒有聽到,我想如果再來一臺,可以用邏輯分析儀去看看到底是什么來的,也許只是輸入端,總之自己掌握了鍵盤掃描技術就能用一粒MCU直搗龍門,與按鍵直連,不必廠家提供資料,什么琴都能改裝成功。

用銅箔覆蓋芯片四周,用350攝氏度的熱風器吹,讓主控芯片板與琴骨肉分離,讓新板入住。






也可以用恒溫臺來拆,但要把整片板與塑料支架分離,必須拆8顆螺絲,很累,就用吹算了。如果能找到平面很小的恒溫臺就好了。



作者: dalaoshi    時間: 2023-9-29 18:26
終于把板子給焊上了,之所以會這么久是因為做好的PCB還必須集運才送來,得十天八天,影響開發(fā)速度,軟件方面就容易得多,因為我之前已經做了兩款掃描電子琴琴鍵的軟件,有88鍵的,包含力度感應,相當復雜,當初幸好有網友yzwzfyz指點一番,不然還真做不出來。

現(xiàn)在這個就非常簡單了,只用到8條X線,5條Y線,可檢測40個鍵,所以把舊軟件簡化,用了兩晚就解決了,編程思路如下:

1. 向某一條Y線送出0, 其他保持1,讀取X線的值(8位),這8位有某個按鍵被按下,該位是0。
2. 由于8位連接的按鍵會同時被按下,所以得用移位逐個檢測每個位,并結合Y的值算出是琴上的那個鍵被按下。
3. 確定被按下的鍵必須在記憶區(qū)相應的位置設定標記1,然后送出NOTEON的MIDI碼。
4. 沒有按下的鍵也必須在其記憶區(qū)相應的位置檢查標記,若為1表示之前已經送出NOTEON,所以必須送出NOTEOFF的MIDI碼,再把標記設為0.
5. 按鍵不必有防抖程序,因為每一次掃描會有間隔,不會出現(xiàn)連續(xù)開關的情況,經過測試的確如此。

注:Y線是連接二極管的負極,X線是連接二極管的正極。


SCANNER:               ;鍵盤掃描主程序
;LCALL DELAY3        ;這個試驗時可開,但正式使用要關。

SCANP1:                 ;輸出到P1,其中一列是0,然后從P2讀入,8位代表列,如某行有按下則為0,否則為1,8行都有可能同時按下。
MOV 35H, #0          ;THIS WILL ADD TO ROW TO MAKE 0-7
MOV 32H, #5          ;8 BITS TO SHIFT
MOV 50H, #11111111B  ;THIS BYTE FOR SHIFT AND OUTPUT TO P1
MOV P1, #11111111B   ;CLEAR P1 AFTER EVERY BIT SCAN
LCALL DELAY1   
CLR C                    ;PUSH A ZERO INTO 50H AT FIRST ROTATE
SCANP1A:
MOV A, 50H
RLC A                    ;改用左移,第一次(C=0)被推入,變成11111110,而C變成1,第二次移0被左移,變成11111101
MOV 50H, A           ;保留進50H,下次再用
MOV P1, A             ;輸出到P1
;MOV P1, #11101111B   ;第一步:這個用來檢測每一根輸出線(逐個放0,只有5根線BIT0-BIT4)

LCALL DELAY0          ;稍等   

MOV A, P2            ;READ FROM P2

;LCALL SENTONEBYTE1

LCALL EACHDATA

SETB C                        ;BEFORE LOOP SET C FOR SHIFT ONE TO 50H
MOV P1, #11111111B   ;CLEAR P1 AFTER EVERY BIT SCAN
LCALL DELAY1
;LCALL DELAY3

DJNZ 32H, SCANP1A     ;5 TIME LOOP

JMP SCANNER


EACHDATA:            ;32H 從8逐漸減到1,代表是那一列被設為0,與監(jiān)測到0的行相乘就得到掃描號碼。      
PUSH PSW
MOV 34H, #8         ;8行檢測
MOV 33H, A           ;A 是由P2 讀來的8BIT,每個BIT代表一個掃描線與P1那個被設定為0之間的按鍵是否有按下,按下則為零。

EACHDATA1:           ;8次重復由34H控制
MOV A, 33H
LCALL COUNTPOSITION  ;先算出當前鍵的位置
MOV 3EH, A                  ;回來后A是按鍵數(shù)目

LCALL KEYMAP              ;查表得到該按鍵在鍵盤上的排列號碼

MOV 3AH, A                 ;保存鍵盤號碼到3AH

MOV A, 33H           
RLC A                         ;向左移,檢查C看是1還是0
MOV 33H, A               ;SAVE BACK FOR NEXT ROTATE

JNC DOKEY1              ;CONTACT POINT NOT CONTACT GO NOTEOFF SUBROTINE
LCALL NOTEOFFLAH    ;NOTE OFF SUBROUTINE
JMP DOKEY2
DOKEY1:
MOV A, 3AH                 ;按鍵碼  
;LCALL SENTONEBYTE1
LCALL NOTEONLAH       ;保存區(qū)相應位置放1
DOKEY2:

DJNZ 34H, EACHDATA1   ;8 LOOP NEEDED
DOKEYEXIT:
POP PSW
RET

NOTEOFFLAH:
MOV DPH, #0
MOV DPL, 3AH
MOVX A, @DPTR     ;READ OLD DATA
JZ NOTEOFFX
MOV A, #0
MOVX @DPTR, A        ;標志為1
LCALL SENTNOTEOFF ;送出NOTEOFF,只限一次
NOTEOFFX:
RET


NOTEONLAH:
MOV DPH, #0
MOV DPL, 3AH
MOVX A, @DPTR        ;READ OLD DATA
JNZ NOTEONX
MOV A, #1
MOVX @DPTR, A        ;標志為1
LCALL SENTNOTEON  ;送出NOTEON,只限一次
NOTEONX:
RET

SENTNOTEOFF:
MOV A, #10000000B   ;MIDI NOTEOFF CHANNEL1
LCALL SENTONEBYTE1
LCALL SENTONEBYTE2
MOV A, 3AH
LCALL SENTONEBYTE1
LCALL SENTONEBYTE2
MOV A, #0
LCALL SENTONEBYTE1
LCALL SENTONEBYTE2
RET

SENTNOTEON:
MOV A, #10010000B    ;MIDI NOTEON CHANNEL1
LCALL SENTONEBYTE1
LCALL SENTONEBYTE2
MOV A, 3AH
ANL A, #01111111B    ;MASKING BIT7 音符  
LCALL SENTONEBYTE1
LCALL SENTONEBYTE2
MOV A, #7FH           ;力度
LCALL SENTONEBYTE1
LCALL SENTONEBYTE2
RET


COUNTPOSITION:    ;這個算法不一般
PUSH PSW
MOV A, 32H        ;列ROW POSITION 1-8
MOV B, #8         ;8 CONTACT POINT FOR EACH ROW
MUL AB            ;得到的數(shù)字是 8,16,24,32,40.......128
CLR C
SUBB A, #8        ;MAKE A 0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120
ADD A, 34H        ;加上34H 1-8 行COLUME
POP PSW
RET

KEYMAP:           ;由于此款排列順序,無需查表,直接運算
MOV A, #50H       ;從小變大!
CLR C
SUBB A, 3EH
RET



作者: dalaoshi    時間: 2023-10-5 22:56
原來的琴沒有功放,于是采用了TDA7297功放模塊,想起很多年前我還在用2N3055/2n2955做功放,現(xiàn)在實在太方便了,實測結果聲音很大,不過靜態(tài)電流也很大,電池很快就會耗盡,打算改用數(shù)字功放,靜態(tài)電流20MA,由于我的音源模塊是立體聲的,必須有兩個喇叭,要在底座開多一個喇叭孔就麻煩了,暫時就這么用,掃描板的串口輸出直接接上一個藍牙模塊,用PC版的藍牙接收模塊,就可以彈進電腦了。





作者: Ppp0011010    時間: 2023-10-6 09:06
匯編大師,單片機匯編全還給老師了
作者: msold5    時間: 2023-10-6 11:19
這么改會不會麻煩了些?為什么不直接用MIDI模塊來做呢?
作者: dalaoshi    時間: 2023-10-6 15:48
msold5 發(fā)表于 2023-10-6 11:19
這么改會不會麻煩了些?為什么不直接用MIDI模塊來做呢?

沒找到適用的器材,得自己做,單單MIDI模塊也做不了這事的。
作者: msold5    時間: 2023-10-6 16:02
dalaoshi 發(fā)表于 2023-10-6 15:48
沒找到適用的器材,得自己做,單單MIDI模塊也做不了這事的。

沒明白你說的不適合是什么意思,單片機發(fā)送指令到MIDI,直接調用MIDI里的彎音滑音功能不是更適合制作弦類樂器嗎?
作者: 量子工業(yè)    時間: 2023-10-6 18:34
不錯的思路,成品玩具琴很好買,可以做多種改裝啊
作者: dalaoshi    時間: 2023-10-6 22:26
本帖最后由 dalaoshi 于 2023-10-7 20:12 編輯

msold5 發(fā)表于 2023-10-6 16:02
沒明白你說的不適合是什么意思,單片機發(fā)送指令到MIDI,直接調用MIDI里的彎音滑音功能不是更適合制作弦類 ...

要做的是一臺能現(xiàn)場演奏的弦樂電子琴,用四人組成樂隊來表演,用普通電子琴無法表現(xiàn)弦樂的拉弓技巧,所以必須改裝。



51hei.jpeg (359.05 KB, 下載次數(shù): 109)

51hei.jpeg

作者: dalaoshi    時間: 2023-10-6 22:31
量子工業(yè) 發(fā)表于 2023-10-6 18:34
不錯的思路,成品玩具琴很好買,可以做多種改裝啊

改裝是最可行之道,那些琴鍵必須廠家投資才能生產的,電路板就可以自己做,這就是會玩電子的人的好處。
作者: msold5    時間: 2023-10-14 22:54
dalaoshi 發(fā)表于 2023-10-6 22:26
要做的是一臺能現(xiàn)場演奏的弦樂電子琴,用四人組成樂隊來表演,用普通電子琴無法表現(xiàn)弦樂的拉弓技巧,所 ...

你改得很好,我不是說用電子琴有問題,我是說用電子琴不如直接用MIDI芯片直接,電子琴里不也是調用的MIDI功能嗎?
作者: dalaoshi    時間: 2023-10-15 02:05
msold5 發(fā)表于 2023-10-14 22:54
你改得很好,我不是說用電子琴有問題,我是說用電子琴不如直接用MIDI芯片直接,電子琴里不也是調用的MIDI ...

你是說在琴里面放MIDI芯片,也就是音源芯片SAM2695, VS1053B?這些的音質都太差了,所以要將MIDI信號輸出外接高檔音源才行,我還無法找到好的音源SOC呢。
作者: dalaoshi    時間: 2023-10-16 22:53
這是琴的主控板,從以前比較復雜的板簡化而來,廢除不少按鍵,只剩5個,可用32腳的STC8G2K32S4,比較容易焊,之所以采用S4是因為又想做其他實驗,比如用兩個音源來產生合奏效果,我曾經用了4個不同牌子的音源同時演奏一個聲道,出來的效果和用一個音源一樣,因為這些音源的采樣都是一樣的,演奏也都很準確,而真樂器合奏時,會有時間點誤差,音量變化誤差,音調準確度誤差,頻率響應誤差,而且都是隨機的,這樣才有合奏效果,用S4就能夠同時控制3個音源,哈!充滿幻想,如果一人吹喇叭就有3支喇叭合奏的結果,就可以搞電子銅樂隊了。








作者: powerdruy    時間: 2023-10-25 12:49
大佬啊,居然直接上手匯編開發(fā),雖然我現(xiàn)在也還能看懂51匯編,但是要我動手寫已經不行了,用太久的C,匯編已經退化
作者: dalaoshi    時間: 2023-10-25 22:14
powerdruy 發(fā)表于 2023-10-25 12:49
大佬啊,居然直接上手匯編開發(fā),雖然我現(xiàn)在也還能看懂51匯編,但是要我動手寫已經不行了,用太久的C,匯編 ...

我是走投無路才呆在匯編的,當年第一次玩單片機時51C還不曾出現(xiàn),第二次玩單片機時已經是C的天下,反正做都是自己的項目,就不想學C了。
作者: dalaoshi    時間: 2023-10-31 02:15
這是電源供應板,功放板直接用12V,聽從論壇大佬的勸告,用78M05作為穩(wěn)壓,不要用LDO,避免過沖,由于擔心鋰電池沒有過放保護,所以設計了一個電壓檢測器,用PMOS作開關,HT7050做電壓檢測器,用四個發(fā)光二極管降壓,可檢測5V以上的電壓,當電壓過低時關斷PMOS,發(fā)光二極管可用不同的顏色組合以便獲得需要檢測的電壓,我用四顆紅LED可檢測11.2V電壓,3顆可檢測9.8V電壓。另外做了個混音放大器一混合兩個音源的輸出。

LED的電壓:通常所說的LED是正向電壓,就是說LED的正極接電源正極,負極接電源負極。電壓與顏色有關系,紅、黃、黃綠的電壓是1.8—2.4v之間。白、藍、翠綠的電壓是3.0—3.6v之間。







作者: dalaoshi    時間: 2023-11-3 01:14
這是焊好的主控板,輕觸開關用到24MM的柄,才能夠穿過厚后的木板,由于這個琴鍵沒有力度感應,必須用電阻式壓力傳感器,ADC后產生壓力參數(shù),控制電子琴音量的大小。

正面:



反面:




作者: dalaoshi    時間: 2023-11-15 00:43
     終于完成整機的組裝,比較困難的就是那個拉弦模擬器的外殼,必須把所有接線都隱藏在內,現(xiàn)在還有一個接頭外露,等下次改板再說把,另外經過測試,必須重新安排電阻壓力傳感器的位置,否則拉弦時要轉換為彈撥很難操作,接下來就是寫軟件了。

整機:



控制部分:



掃描MCU:





作者: dalaoshi    時間: 2024-5-27 02:24
第三款掃描板正反面。




作者: dalaoshi    時間: 2024-12-28 13:37
經過8年的網上學習和咱們的強大供應鏈,終于開始制作100臺拉弦電子琴了。

這是最后的控制板:








作者: ygxy3075030115    時間: 2025-1-22 17:14
我就是電子琴這個行業(yè)的,不過是負責打螺絲的
作者: dalaoshi    時間: 2025-2-13 21:38

好不容易找了個兒童來演示拉弦電子琴

成功學有一個經典故事:有個推銷員被派到非洲推銷鞋子,回來報告說:“非洲人是不穿鞋的,鞋子沒有市場",上司說:“非洲人還沒穿鞋?市場很大!”,問題在于;如何讓非洲人從不穿鞋變成穿鞋?一是砸錢搞吹銷穿鞋的好處,二是收買酋長命令必須穿鞋否則不準走路,三是用國際開發(fā)署的辦法發(fā)錢給專家寫研究報告說不穿鞋容易腳底生癌,得趕快穿鞋,如果這些辦法還是不能讓非洲人穿鞋,那就等天來幫忙,把地表溫度升高到不穿鞋就被燙到,非洲人就得穿鞋了,市場很大,發(fā)財了。
拉弦電子琴目前還處在“非洲人不穿鞋”的狀態(tài),琴是造出來了,卻還賣沒人要,因為正統(tǒng)藝術界是不用電子琴的,正如非洲人是不穿鞋的,要讓他們接受電子琴,還得努力。不過,得自我審核,究竟要推廣的東西是否有用?比如鞋子,的的確確能保護雙腳,那就值得推廣。拉弦電子琴有用嗎?用四個鍵盤手就能組成弦樂隊,替代幾十個提琴手組成的交響樂隊弦樂組,演奏技巧包含拉弓,強弓,顫弓,跳弓,撥弦等效果,還能一鍵轉調,肯定是有用的東西,因此值得推廣。




作者: gsr64    時間: 2025-2-14 09:56
這個嘗試非常難能可貴,做的非常好。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1