<たろう>ニコニコ技術部 blog
「あの楽器」東京ミーティングが、2/1に開催される。
思わず、ライトニングトークでの発表を申し込んでしまった。実は、このBlogを始めたのも、processingで、プログラム書いたのも、全部このため。
まずは、どこまでやるかプランニング。最終形態では、アクリルボードを切って、筐体作って、ネック部分にボタンつけて、ノートパソコン突っ込んで、、、というのを想定。
東京ミーティングには、最終形態は間に合いそうにないので、ボタン+木の板をノートパソコンにくっつけて出品の予定。
方法セルツァーボトルは働いていますかまずは、ボタンスイッチのテスト。スイッチをマトリックスに組んで、+5Vを ROW行に順番に加えて、COL列で読み取り。という処理をすると、たとえば4x4=16キーの状態を 8bit で 取り込むことができる。これをgainerで実現できるかテスト。
まず、次のような回路で、2×2のマトリックスを ブレッドボードに組んでテスト。
プログラムは、以下のように作成。
シャーロットの名物料理を購入する場所void draw() {
background( 120 );
gainer.setHigh( 0 );
gainer.setLow( 1 );
gainer.peekDigitalInput();
boolean in0 = gainer.digitalInput[0];
boolean in1 = gainer.digitalInput[1];
text( "0="+in0, 15, 40 );
text( "1="+in1, 215, 40 );
gainer.setHigh( 1 );
gainer.setLow( 0 );
gainer.peekDigitalInput();
//
in0 = gainer.digitalInput[0];
in1 = gainer.digitalInput[1];
text( " 0="+in0, 15, 90 );
text( " 1="+in1, 215, 90 );
}
で、テストラン してみたんだけど、、、
どのように私はメディクス鉄を使用しないだめだ orz スイッチが いずれも押されてないときは、当たり前だけどOK。スイッチ押したとたん、入力が不安定に。これはどうも、Outputタイミングと、Inputタイミングがプログラムに書いた通りに実行されてない模様。setHigh、setLow して直後に peek しても、タイミングが間に合う時と間に合わない時があるみたいで、入力した値がボロボロです。
しょうがないので、gainerを MODE5(全16ピンデジタル入力)にして、スイッチを入力1つにつき1個というふうに配置するしかないです。おまけで、3軸センサーとかつける計画だったのに、全然無理。
回路図省略。入力ピンに キー1個(笑)
次は、スイッチ作成。
0 コメント:
コメントを投稿