PICで12和音のオルゴール!


この記事は、紹介記事です。オリジナル記事への補足や、製作例、参考になる情報として掲載しております。
当方からのサポートは行いません。またご質問にも一切応じられませんので予めご了承ください。


世の中にはすごい人が居るもので、PIC+シリアルROM+アンプで12和音も出してしまうという、驚愕のページを偶然にも発見してしまった。PIC12F683の大きな特徴とも言えるPWM機能を利用して多重和音のオルゴールを作っている人が居るのを知り、私も早速作ってみた。 おいおい、マジですか???

作り終えて、いろいろトラブルはあったものの、何とか音を出す所までこぎ着けた。試聴してみると、これは!こんなハードで和音でちゃいます!という余りにもシンプルなのに音が分厚いのである。
驚くのは、まだ早い!このシステムの目玉はmidiファイルをコンバートしてPICで鳴らす事が出来るのである。
私は趣味でMIDIも作っていたりしているのだが、いつかは自分のオリジナル曲を和音で鳴らせるのが欲しかった。まさに願ったり叶ったりである。

回路図


※この回路はオリジナルの回路のSCL,SDAの接続違いとピン番号誤記の為回路を修正した物である。

電源は今回電池3本で4.5Vとしたが、IC1,IC3のVCCを5Vにして、IC2のアンプのVCCを12Vにすれば更に大きな音を出せる。
R1,C4はローパスフィルターを形成している。オリジナルではC4に0.01uFを使用しているが、部品の種類を減らしたかった事と、0.1uFの方が耳に優しい音になったので定数を変えた。本来フィルター回路はマイラーコンデンサなどを使う方が良いがホビー用途で聞ければ良いと言う考えからパスコンと同じ積層セラミックコンデンサを使用した。C7は厳密には10Ωと0.047uFを直列に入れるのが望ましい。IC3は容量に応じたデバイスを選定する。手持ちに24C256があったので今回はそれを使った。


部品について

個数 リファレンス 部品 詳細 購入先 単価
1 1 BT1 BATTERY
1.5V X 3
単3電池ボックスのスイッチつき 千石電商等 \250 \250
2 5 C1,C2,C4,C6,C7 0.1uF 一般的な積層セラミックコンデンサ \20 \100
3 1 C3 10uF/16V アルミ電解コンデンサ耐圧6.3V以上 \20 \20
4 1 C5 100uF/16V アルミ電解コンデンサ耐圧6.3V以上
高音質を求めるなら220uF以上の容量を
\50 \50
5 1 IC1 PIC12F683 PICマイコン(8ピン) 12F683 秋月電子 \180 \180
6 1 IC2 LM386 アンプ 新日本無線のNJM386も同じ 秋月電子 \80 \80
7 1 IC3 AT24C512 シリアルイーイーピーロム
256,512,1024どれでも(値段と相談)
秋月電子 \300 \300
8 1 LS1 SPEAKER 携帯電話から取り外した
8〜32Ωのダイナミックタイプ
高音質を望むなら大きなスピーカーで。
\300 \300
9 3 R1,R2,R3 1KΩ 普通のカーボン抵抗。安いので良い \2 \6
10 1 S1 SW 電池ボックスに付属
11 1 VR1 10K(A) 半固定でよい。
回路ではAカーブであるが一般的なBカーブでも可
\50 \50
12 1 Y1 20MHz セラロック(3本足) 秋月電子 \40 \40
13 1 基板 47x72mm程度のフェノール基板等 \150 \150
14 4 ゴム貼り付けが簡単 \10 \40
15 3 ICソケット DIP8ピン \40 \120

※金額は参考価格です。
これ以外に配線材、ハンダなどが必要になります。


組み立て配線

ジャンパーをしない配線をするように挑戦したが、SCLとSDAが入れ子という事が後で分かったので、ジャンパーが1個所飛んでいる。それでも綺麗に出来上がったほうだと自負している。
後ろに実装されている抵抗は、PICのMCLRプルアップ用で、テストに付けているだけのものである。
また、配線の都合上、ボリウムが時計回しで最小になっている。



ソフトウェア

kwhr0さんのホームページより「12和音PICオルゴール」をクリックし、一番下のページにある

 download(pic_orgel.tar.gz)

をダウンロードして解凍ソフトで解凍し(Explzh等)、中にあるファイルのorgelフォルダー内のorgel.hexはPIC12F683、romホルダー内のサンプル曲のhexファイルはシリアルROMに書き込むと動作確認をする事が出来る。きっと感動するであろう。
書き込みツールは、秋月のPICライターでPICもシリアルEEPROMも書き込める。

MIDIからのコンバート

作者はMACで開発した関係で、windowsを使って操作する場合、linixやcygwinなどを駆使してgcc環境を作る必要がある。またmacとwindowsは、そのデータの扱いが違う(ビックエンディアン、リトルエンディアン)ので、コンバートソフトを変更するか、2バイト毎に入れ替えるソフトhexplorer(オリジナルのリンクがなくなる場合があるので、そのミラー)などで更にデータ変換する必要がある。それをまた更にhexにするツールも使用する必要がある。ちなみに、このソフトは、いろいろなデータフォーマット(e.g. intel hex <-> mot, bin etc.)を相互にコンバートする最強フリーソフトである。


謝辞

今回、この掲載にあたり許諾してくださいましたkwhr0さんに御礼申し上げます。大変素晴らしいシステムを紹介できたことを光栄に思います。


2005/7/3
2006/7/9 一部加筆

ホーム