ここは、H19年に龍田山公民館が主催した工作教室
「わたしのオルゴールをつくろう」
で製作した電子オルゴールについて説明するホームページです。
ラジコン研究部(当時)がこの工作教室の指導を行ってました。私は工作の説明と進行、説明書作り、Excelでのマクロ作成をやりました。
マイコンにはPIC12F675を使用し、音楽データの作成にはMicrosoftのExcelを使います。講座の対象が小学生だったこともあり、マイコンのプログラミングなんてややこしい事はしなくて済む様にしました。
それでいて、自分で自分の好きな音楽を打ち込む当作業が心地よいらしく、大変好評でした。
![]() ![]() |
図1 龍田山公民館での実習風景(八代高専WEBより…撮影したのは私とシーラだったかな…) |
メールを当方に対して頂ければ、PICのEEPROMに書き込む音楽データを差し上げることができますので遠慮なくお問い合わせください。
なお、本サイトを利用した工作教室を開かれても特に連絡の必要はありません。
ですが、ご一報頂けるとモチベーションが上がります。^v^)/
三重県立桑名工業高等学校様により2011/10開催の三重県産業教育フェアにおいて本ページで紹介している電子オルゴールを利用した電子工作教室が開かれました。 電子工作教室は終日盛況だったとのことです。 熊本から発信している本情報が他県の技術教育の役にたてるなどうれしい限りです。
PICに限らず、マイコンで音楽を演奏する例は枚挙に暇がありません。
ここで紹介する電子オルゴールはビブラートはもちろんピアノ風の音表現も出来ません。
では何が良いのかと言えば、回路を作り上げるのが簡単であるということと好きな音楽を簡単に入力できるという点です。
Excelを使って音符を入力し、マクロがPICのEEPROMに書き込むデータを自動生成することで初心者には難しい部分を省いています。
日本において音楽関係の著作権はJASRACによって完全に管理されており、趣味としての電子工作も例外ではありません。 個人で楽しむレベルであれば良いらしいのですが、インターネットの様な公共の情報空間へ公開してしまうことは音符だろうが、マイコンの奏でた音楽だろうがソースコードだろうが違法です。 という訳で、著作権切れの音楽を例にして説明していきたいと思います。
ちなみに、人を集めて工作教室をする際には如何なるお金を集めてもいけません。
子供が相手の場合、やけどや気分が悪くなる子供がいることがしばしばなので保険をかけるのですが、これもいかんのだそうです。
もし集金した場合は赤字の如何に関わらずJASRACに著作料を支払う義務が発生します。
…お気を付け下さい。
しかし、電子技術セミナーでは現実的に難しい問題ですので何とかして欲しいものです。
日本の未来のために何とかしてくれ!!
[2011/11/7 追記]
三重県立桑名工業高等学校様が主催された工作教室でJASRACに対して支払った著作権料は1曲3 4円(恐らく一人当たり)だそうですから予算上の問題はほとんど無いようです。
大抵の音楽を演奏できますが、リズム的に分かり辛いものがあるのも確かです。 下のリストはこれまでに演奏できた曲の一覧です。 たぶん口笛で吹ければ演奏可能です。 参考に、Youtubeに上がっていた音楽へのリンクを掲載しました。
図2 完成した回路です |
八代高専(当時)の入江先生がここで紹介する電子オルゴールの回路とマイコンのプログラムを開発されました。 回路は見ての通り、えらい簡単です。 省電力になる工夫がなされており、私の手元に有るサンプルは2年前に貰った奴ですが今でも演奏できます。 一度電池を入れると恐らく、電池が腐るまで動くのではないでしょうか。
図3 電子オルゴールの回路図 |
回路図を上に示します。 この通り配線すれば大丈夫。 簡単そうでしょ?
この回路をブレッドボード上で組んでも良いでしょうし、エッチングで作っても良いと思います。 という訳で、エッチングパターンを以下からダウンロオード出来るようにしました。 たしかトップビューで書いていたはずです。
リリース日 | パッケージ | 更新内容 |
2010/6/19 | 下のファイルで合っていると思っていたら、全く違うファイルでした。 …今探してみたら無い様ですorz。 | |
2010/6/6 | music_box2007a.pcb |
初公開。超簡単・エッチング用PCB CADの
PCBE
を使って設計された回路パターンです。 設計者は八代高専(当時)の入江先生です。 |
以下のプログラムをダウンロードして、書き込めば万事OKです。
リリース日 | プログラムパッケージ | 更新内容 |
2010/6/6 | oc2008a.asm |
初公開。この回路を動かすための生ソースコード(アセンブラ言語)です。 プログラムの設計と製作は八代高専(当時)の入江先生が行っています。 [2014/2/22 追記] このプログラムはPIC12F675向けに設計されており、無改造では他のマイコンで動作しません。 |
基本的に、図2を参考に部品を実装してもらえればOKです。 部品は背丈の低いものから順につけて行きます。 PICを搭載するソケット・LED・バッテリの向きに気を付けて下さい。 組み立て方の参考として、一世代前の組み立て説明書が参考になると思います。
図4 部品です。LEDカバーが一つと、PICマイコンが無くなってますw。 | 図5 半田面です。こんな感じで半田付けします。 |
楽譜から、音符の音階と音の長さを読み取り、図5.1に示すエクセルの表へ入力します。 図5.2に示す楽譜を例に、データの入力方法を説明したいと思います。
図5.1 Excelを使った音符の入力画面 |
データの入力手順は、次の通りです。
(2021-02-11追記)書き込み用データについて、su50さんからチェックサムが誤っているのでエミュレーターで動作しないとのご指摘を頂きました。たしかに、実機に書き込むと動くので気にしていませんでしたがチェックサムはテキトーです。エミュレーターでの動作が必要な方は、su50のページ( ここをクリック)からサンプルデータ「oc2008a用データ.zip」をダウンロードして下さい。ご指摘ありがとうございました!
リリース日 | プログラムパッケージ | 更新内容 |
2014/2/22 | MusicBoxforWEBver2014.2.xls.zip | WAVEファイルを作成する際に休符に対応できていなかったバグを修正しました。 |
2010/6/6 | MusicBoxforWEBver2010rev1.xls |
初公開。プログラムには2008年8月に「YNCTミュージッククリエーター」という名前を付けてました。 たった今まで忘れていましたww。 |
2010/6/6 | kirakira_bosi.hex | 初公開。「きらきら星」の書き込み用データです。 |
2010/6/6 | koinobori.hex | 初公開。「こいのぼり」の書き込み用データです。 |
2010/6/6 | ookina_hurudokei.hex | 初公開。「大きな古時計」の書き込み用データです。 |
では、作ったHEXファイルをPICマイコンへ書き込んでみましょう。
作ったHEXファイルをPICのEEPROMへ書き込んだら、さっそく動かしてみましょう。
![]() |
図7.1 上で紹介した回路のひとつ前のバージョンの写真ですが、基本動作は同じです。 |
今回、スピーカから音楽を流してみましたが、一体どうやって音が出るのでしょうか? そもそも音とは、空気の蜜と疎が連続して空間を伝わる振動です。 言い換えれば、かなりの速度で気圧が高くなったり、低くなる状態が伝わっているのです。 太鼓を叩けば、太鼓の皮の部分が震えて空気を押したり引いたりします。 それが空気中に気圧の振動を引き起こし、空間を伝わって私たちの耳にある鼓膜を震わせます。スピーカが音を出す時にも同じ現象が起こっています。 図8.1は普通のスピーカが音を出す原理を示しています。 普通のスピーカは、電磁石が磁石と引き合ったり反発する性質を利用しています。 電磁石がスピーカの膜に取り付けてあるために電磁石の振動は容易に空気中に伝わっていきます。 このように磁石を用いたスピーカは色々な音を出せます。
今回の工作に使用したのは圧電スピーカという物です。 図8.2に動作原理を示します。 これは圧電素子の性質を利用しています。 圧電素子とは電圧をかけると変形する性質があります。 時計に使われている水晶発振子も圧電素子の一種です。 この変形によって空気を振動させて音が出ます。 複雑な音は苦手ですが消費電流が少ない点で優れています。
PICマイコンは圧電スピーカに図8.3の様に電圧を加えています。 初めは0Vですが、ある時間になると電圧が急に上がり、一定の電圧になります。 また、一定時間が経(た)つと0Vになる・・・と言う事を繰り返します。 この様な電圧の形を方形波(ほうけいは)又は矩形波(くけいは)と言います。 方形波は図8.4に示す様に幾(いく)つもの単純な波が重なって出来ています。 圧電スピーカは幾つかの波の内で最も大きな波の音を出しています。
air variable | MPLABのインストール方法について解説されています。 |
Robot Watch | プロジェクト作成からコンパイルまでの下りが短く紹介されていて参考になります。 |