« 2006年12月 | トップページ | 2007年3月 »

2007年1月17日 (水)

PIC打楽器演奏工作・プログラム

ブログランキング・にほんブログ村へ

P1010001_54

「演奏プログラムのテキストファイル」をダウンロード

回路が小さいのでPICを基板に取り付けて実験してもいいのですが、製作物が大きい時などは、ブレッドボード上で動作を確認できるようにしておくとパソコン机の上でPICの確認できるので便利です。

今回はLEDでON-OFFの確認をしましが、LEDのかわりに、その音階の出るブザーを接続すると演奏している感じも出ます。

プログラムは、音階データをCALL-RETLWで読みこみ、それをポートBから出力してモータを回し、ウエイトルーチンで一定の時間音を出した後、次のデータを読みこむ事を繰り返して演奏しています。

データはCOUNT変数をINC命令で+1づつカウントしていき、それをWレジスタに移してCALL-RETLWでデータを順次呼び出し、データ「FF」が入ると終了するようにしています。

ウエイトルーチンは、繰り返しループを使い、命令の実行時間の合計で作っています。

PICはパイプライン方式で1サイクル命令4クロックなので、計算を簡単にする為、クロックは4MHzの水晶を使い、1命令=1usecにして、これから基本となるループを作り、約1msec、100msecを作り出しています。

1つの音の長さは、500msecを基準にしていますが、同じ音を続けて鳴らすと、前の音とつながってしまうので、モータを回転させる時間(300msec)と、停止する時間(200msec)に分けています。

今回8ビットデータをそのまま出力していますが、データを工夫すれば、例えば「aaabbccc」などに分け、それぞれに意味を持たせて、aaaは音の長さ、bbはオクターブ(00は休符)、cccはド~ドなどの意味付けをし、デコードすれば、プログラムは複雑になりますが、もっと幅広い演奏が出来るとおもいます。

| | コメント (2) | トラックバック (0)

2007年1月10日 (水)

PIC打楽器演奏工作・制御部組立て

ブログランキング・にほんブログ村へ

P1010001_52 P1010002_46 P1010003_32 Pic_ensou

前回、ワンカップのガラスコップで「ド~ソ」までしか出なかったので、他に良い音源は無いか探してみました。

叩く力が結構強いので、叩かれても割れない丈夫な物を探さなければなりません。

100円均一で、音が出て丈夫な物をいろいろ探しましたところ、「ラ」の音が出る湯のみを見つけました。

今までのガラスコップに、この湯のみを足して、「ド~ラ」で演奏出来る曲を試してみる事にしました。

駆動回路に、PIC(16F84A)をつないで演奏してみました。

「キラキラ星」をダウンロード

少し音の高さがあっていないようですが、一応演奏しています。

また、モーターの回転が少し速すぎるのか、叩く音が強く感じられたり、糸が軸に絡まったりします。

モーター制御は、トランジスタよりON抵抗の小さいFETの方が都合が良いのですが、今回の場合回転が速い事がネックになっているので、あまり増幅度のないトランジスタを使ってベース電流を抵抗で加減しながら調整した方が上手く行くかもしれません。

| | コメント (2) | トラックバック (0)

2007年1月 4日 (木)

PIC打楽器演奏工作・駆動部組立て

ブログランキング・にほんブログ村へ

P1010001_51 P1010002_45 P1010003_31 P1010004_19 P1010005_11

モーター駆動には、ON抵抗が小さく、D-S間に逆方向にダイオードの入っているFET2SK612を使うことにしました。

マイコンからの信号(5-6V)をFETのゲートで受け、ドレイン、ソースをONにして、モーター(1.5V)を回します。

マイコンにつなぐ前に動作をするか確かめる為、手動で制御出来るようにFETのゲートにスイッチを付けて試してみました。

ここで音源となるワンカップのガラスコップに水を入れ、ハシで叩きながら音の高さを確かめ、中に入っている水の量を調整していきます。

水をイッパイ入れると、「ド」の音がでました。

それから少しづつ水を減らしていき、「レ」、「ミ」、「ファ」、「ソ」までは音をつくる事ができましたが、それ以上高い音はコップを空にしても出ません。

取り合えず「ド~ソ」まで出た音のコップだけ並べて音を鳴らしてみる事にしました。

電源をつなぎ、スイッチを順番に押していくと、

「手動ドレミファソ」をダウンロード

モーターが回り、プラスチックの玉がコップを叩き、ドレミファソと聞こえました。

録音された音は割れていて余りよくないですが、実際の音はもっと綺麗で目覚まし時計のような音に聞こえました。

1オクターブでも演奏できる曲は少ないのに、出る音がドレミファソの5音では演奏できる曲は限られるので、音源は考える必要がありそうです。

| | コメント (4) | トラックバック (0)

2007年1月 2日 (火)

PIC打楽器演奏工作・メカ部組立て

ブログランキング・にほんブログ村へ

P1010001_50P1010004_18

P1010002_44P1010003_30

P1010006_5P1010005_10P1010007_3

P1010008_5P1010009_2自動演奏のメカ部を製作します。

まず、モーターを固定するフレームを組みたてます。

フレームは、100円均一で買ってきた、木材を使いました。

910x21x10の棒を2本と、少し厚い910x24x24の棒を1本です。

まず、910x21x10の棒を2本を4等分づつして、910x24x24の棒の上にアンテナのように左右対称で等間隔に並べます。

並べたら、1.5mmの木ネジで固定します。

次に、棒の先に結束バンドでモーターを固定し、スリットの入ったプラスチックをモーターの軸にはめ込み、プラチックの玉を釣り糸に通して輪にした物を作り、モーターの軸のプラスチックのスリットに挟み、セロハンテープで仮止めします。

この状態でモーターに電池をつないでプラスチックの玉を回して、プラスチックの玉がガラスのコップに上手くあたって音が出るように、糸の長さやモーターを固定する場所を調整します。

同じようにドレミファソラシドの8音分のモーターを取り付けます。

(写真は拡張を考えて、反対側にも取り付けています。)

取り付けが終わったら、モーターから出ている赤か青のビニール線をどちらかを共通にして全て接続し、反対側のビニール線を順番がわかるように抵抗のカラーコード(茶・赤・橙・黄・緑・青・紫・灰)のように色分けして、制御する基板に接続できるようにします。

共通にしたビニール線を電池の片側につなぎ、反対側のビニール線を、茶・赤・橙・黄・緑・青・紫・灰と順番につないでモーターが回るか確かめるて、メカ部は完成です。

| | コメント (0) | トラックバック (0)

2007年1月 1日 (月)

PIC打楽器演奏工作

ブログランキング・にほんブログ村へ

P1010001_48

P1010002_42

P1010003_29 P1010004_17

P1010005_9 P1010009_1 P1010010

P1010011_1 P1010012_1 P1010013 P1010014

クリスマスの時期になると、人形が鐘や打楽器を自動で叩いて演奏する物をよく見かけます。

以前からマイコン制御の打楽器の自動演奏をやってみたいと思っていました。

マイコン制御の本などでは、ソレノイドという電気を加えると電磁石をが動く物を使って打楽器を演奏する物は見かけましたが、ソレノイドは簡単には手に入りません。

そこで、模型用のモーターを使う方法を考えました。

モーターの先にプラスチックの玉の付いた釣り糸を付けて、それを回して、音源と鳴る物を叩く方法を考えました。

釣り糸をモーターの軸をつないでいる物は、模型などの関節を使われるスリットの入った物を利用しました。

写真の物は、山崎教育システムで買ったロボコン向けの部品ですが、同じ用途の物が、長さは短いですがタミヤからも出ています。

これをモータの軸に挿しこみ、スリットに釣り糸にプラスチックの玉(100円均一で買ったビーズセットのワレにくそうなプラスチックの玉)を通した物を挟み、回転しても抜けないように、仮止めでセロハンテープで止めました。丁度良い糸の長さが決まったら、ボンドを使ったり、熱で溶かしたりして、糸が抜けないようにします。糸は、太過ぎず、逆に細過ぎてよじれ無い程度の物を選びます。(写真の物はビーズ用の物を使っています。)

モーターは、今回模型店で購入しましたが、100円均一でモーターの使われているネイル用のFANなどから、分解して調足するとモーターを買うより安価に済みます。

音源は、手頃な物が無いか探しましたが、ある程度音階が得られて、叩いても壊れない強度がある物として、ワンカップ酒の入れ物を利用する事にしました。

金属のパイプが手に入れば、それを切って叩けば、広い音階が得られると思います。

写真のように、ワンカップ酒の容器に水を入れて音階を作ります。

ドレミファソラシドで最低8個は必要ですので、8杯は酒を飲む口実が出来ます。

また、モーターは動かないように、100円均一で買った木材に、同じく100円均一で買った結束バンドで固定しました。

| | コメント (3) | トラックバック (0)

« 2006年12月 | トップページ | 2007年3月 »