上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
ichigojamと繋いでプログラム動作させてみました。
全体像はこんな感じです。


配線は以下のように。



100円ピアノのGND(電池のマイナス)と8個のキーパッドをichigojamのGND,OUT1~6、8,9に繋ぎます。
キーはドレミファソラシドの順でOUT1~6、8,9とします。

動きは動画でご覧ください。


「スポンサードリンク」

style="display:block"
data-ad-client="ca-pub-0620260288102702"
data-ad-slot="9773401572"
data-ad-format="auto">


プログラムは以下の通りです。コマンドとして以下が有ります。

  ”Pキー” :普通の演奏モードです。1~8キーでドレミファソラシドの演奏。スペースでモードから抜けます。
  ”Rキー” :演奏記録モードです。1~8キーでドレミファソラシドの演奏。スペースでモードから抜けます。
          または最大50音符で抜けます。
  ”Mキー” :メモり演奏モードです。演奏記録モードで演奏した内容をリピートします。

2016/6/19AM9 510行、820行を修正しました。

15 t=0:p=0
20 CLS
40 ?"***** 100yen piano *****
60 lc1,5:?"DO RE MI FA SO RA SI DO"
70 OUT1,0:OUT2,0:OUT3,0:OUT4,0:OUT5,0:OUT6,0:OUT8,0:OUT9,0
90 LC1,8:?"Play Rec MemPlay"
100 K=INKEY()
110 IF K=112 OR K=80 GOTO 200
120 IF K=114 OR K=82 GOTO 500
125 IF K=109 OR K=77 GOTO 800
130 GOTO 100
200 '***** PLAYING *****
210 LC1,10:?"PLAYING"
220 GOSUB900
230 IF K=32 GOTO 20
300 GOTO 220
500 LC1,10:?"RECORDING"
510 P=0:T=0
520 GOSUB 900
530 LC1,12:?"TONE:";K;"TIME:";T;" "
540 IF K=32 GOTO 700
550 [P*2]=T:[P*2+1]=K:T=0
560 P=P+1:IF P>=50 GOTO 700
600 GOTO 520
700 LC1,14:?"ENDED"
710 WAIT 60:GOTO 20
800 I=0
805 IF I>=P GOTO 20
806 LC1,12:?I
810 FORJ=0TO[I*2]*2:NEXT
820 K=[I*2+1]+#30:GOSUB943
830 I=I+1:GOTO805
900 K=INKEY():IF K<>0 GOTO 930
910 IF T<10000 T=T+1
920 GOTO 900
930 IF K=32 RTN
940 IF K<#31 OR K>#38 RTN
943 LC1,6:?" ";
945 LC1+(K-#31)*3,6:?"^^^";
950 K=K-#30
960 IF K<7 THEN OUT K,1:WAIT10:OUT K,0:RTN
970 OUT K+1,1:WAIT10:OUT K+1,0
980 RTN


これで普通演奏、録音、再生ができます。
プログラムを工夫すればオルゴールや、ichigojamの演奏機能を合奏なども出来ると思います。




※ご注意:電池3Vで動いているおもちゃですし何か問題が有るとは思えませんが、特にデータシート等が有るわけではないので申し訳ないですが保証はできないです。同じことを実験される場合は一応自己責任でお願いいたします。
2016.06.18 Sat l 未分類 l コメント (0) l top

コメント

コメントの投稿












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。