上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top

鍵盤読取りがほぼできるようになりました。今回改善したのはチャタリング対策です。





これまでは手を抜いてADC読み取り値の移動平均を取るだけでお茶を濁していたのですが、タッチ時のデータを見ていてそれではだめだと気付きました。(そりゃそうですね。普通のスイッチと一緒ですね。)





今回平均計算をしている所で、ADC値の変動が±25を超えたら棄却するようにしてようやくほぼ安定しました。(±25は観測の結果1キー分の差文です。)





ほぼというのは、まだごくたまに1キーずれることがあるからです。。。。これはノイズ原因かな。。。。




「スポンサードリンク」

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





とりあえずちょっと地味ですがドレミの音に合わせた口パクモードを入れ込みました。





分かりにくいと思いますが、画面の下にあるアスタリスクが鍵盤のタッチ位置を示しています。



いままでの動画でも動いていたのですが、ふらふらしていたのがようやく直りました。






鍵盤スタイラスADC読み取り値も安定したので、タッチ位置とADC値(つまり電圧値)の相関を取ってみました。



Graph



横軸が鍵盤タッチ位置です。左側が0番として26番まであります。縦軸がAD変換された電圧の値です。PIC内蔵ADCをVCCレファレンスで使っていますので、1023が3.3Vとなります。



まあリニアと言ってよいのではないかと思います。なお、手前・半音・奥のリボンで値にほとんど違いは見られませんでした。





「ほぼ」の分はおいておくと、とりあえずやりたかったことはできたので、



次に何やろうか考え中です。



例えば:



 ・音声出力の方をAD変換して連動表示(しかし何を?)



 ・キー操作(今IOを入力にして見ていますが、出力にしてしまえば逆に操作もできるはず。)



 ・鍵盤操作(今ADCで見ていますが、逆にDACを付ければ多分操作できるはず。



        しかしそれは普通の自動演奏であって手間の割におもしろくなさそう。)



 ・MIDI操作(できるかな?)





それではまたです。




2014.04.22 Tue l PICマイコン l コメント (2) トラックバック (0) l top

コメント

No title
ningyotoge様。こんにちは。
キーのずれですが、声を聞いている限りではポケミクさんは正しく認識していて、私のソフトが読んだ値だけがずれるので私のソフト問題なのは間違いないです (>_<)
ただキャリブレーションで閾値か電圧が良い方に変わる可能性はありますので試してみようかと思います。 
 
URLありがとうございます。いまのところUSB-MIDIをPICから制御する方法が分かっていないのですが、いずれはマイコンでMIDIの方も動かしてみたいと思います。
(いつになるか?ですが。。)
2014.04.26 Sat l 見習職人. URL l 編集
No title
>ごくたまに1キーずれる
キャリブレーションとかは関係ないでしょうか?
あと Web MIDI API で鍵盤の音とりしてる例です
http://hot-spot.appspot.com/WebMIDI/index.html
2014.04.26 Sat l ningyotoge. URL l 編集

コメントの投稿












トラックバック

トラックバック URL
http://diyelec.blog.fc2.com/tb.php/124-1f765bd7
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。