HOME > ものづくり(電子工作) > 私だけの電子オルゴール
2005.3.7 -

私だけの電子オルゴール ♪ MyMelo2 ♪
[音声メッセージ付 電子オルゴール MyMelo2 PLUS] [音声メッセージプレイヤー MyVoice]

小山智史

(更新履歴)


目次
1. 概要
2. ソフトウェアの準備
3. 楽譜データの作成
4. 電子オルゴールの組み立て
5. プログラムの書き込み
6. 使い方
7. 製作例
8. ものづくり教室などでの活用例
(付録1) 音の工夫
(付録2) 製作のTips

1. 概要

 子どもからおとなまで楽しめる電子オルゴール教材です。趣味のものづくり、夏休みものづくり教室、総合的な学習、卒業記念制作で校歌のオルゴールづくり、理工系教育の導入教材などに活用できます。

 電子オルゴールは市販もされているものもありますし、プログラミングの練習でも取り上げられたりしますが、ここで作る電子オルゴールは次の特徴があります。

  1. 楽譜データを入力してオリジナルの電子オルゴールを作れます。
  2. 単音だけでなく、2和音や3和音など伴奏付の電子オルゴールを作れます。
  3. 単調なブザー音ではなく、ピアノの音に似たきれいな音色です(音色は3種類)。
    電子オルゴールの音
    (オルゴールからLINE端子に接続して録音しました)
    波形(音色)
    減衰矩形波 減衰正弦波 減衰正弦波
    (伴奏は三角波)
    2和音
    2和音ステレオ
    3和音
    3和音ステレオ
    校歌1
    校歌2
    校歌3
    とうほくで...
    2和音
    2和音ステレオ
    3和音
    3和音ステレオ
    校歌1
    校歌2
    校歌3
    とうほくで...
    2和音
    2和音ステレオ
    3和音
    3和音ステレオ
    校歌1
    校歌2
    校歌3
    とうほくで...
  4. 複数の曲を登録し、ボタン操作で再生する曲を選択できます。
  5. ArduinoUNO/NANO, Digispark, ATtiny45/85, ATtiny2313(A)/4313, ATmega328Pなどで動作します(下表)。
    マイコン 電池で動作 波形(音色)と発音デバイス 備考
    減衰矩形波 減衰正弦波
    (ピアノ音)
    減衰正弦波
    (伴奏は三角波)
    ArduinoUNO/NANO 〇 スピーカー
    〇 圧電サウンダ
    〇 スピーカー 
    △ 圧電サウンダ
    ※ 圧電サウンダは低い周波数の音がほとんど聞こえません。
     圧電サウンダを使う場合は大き目のもの(30mmφ程度)を選び
     高めの音階で楽譜を作るとうまくいきます。
    fPWM=62.5kHz(T=16us), fs=31.25kHz(T=32us)
    Digispark fPWM=250kHz(T=4us), fs=31.25kHz(T=32us)
    ATtiny45/85 fPWM=250kHz(T=4us), fs=31.25kHz(T=32us)
    ATtiny2313(A)/4313 fPWM=31.25kHz(T=32us), fs=15.625kHz(T=64us)
    ATmega328P fPWM=31.25kHz(T=32us), fs=15.625kHz(T=64us)
    fPWM, fs は高速なほど音が多少良い(ノイズが少ない)ようです。

 下の写真は小学校での卒業制作の例で、子どもたちは好きな曲を楽譜から入力し、ブレッドボードで作りました。


小学校での卒業制作の例(CDラックとの組合せ)

 製作の手順は概ね次のとおりです。

  1. サクラあるいはメモ帳で「ドドソソララソー」のように楽譜を作成します。伴奏を付けることもできます。

    サクラで作成

    メモ帳で作成

    サクラで作成(2和音の楽譜)

    メモ帳で作成(2和音の楽譜)
  2. マイコンやスピーカーなど数点の部品を接続し、組み立てます。
  3. マイコンに上記の楽譜を書き込むと完成です。
  4. こんな音」や「こんな音」のオルゴールができあがります。2和音の場合は「こんな音」や「こんな音」になります。


2. ソフトウェアの準備

(1) 電子オルゴールソフト Mymelo2(ダウンロード)(旧版はこちら)

 ダウンロードしたファイルを解凍し、「mymelo2.wsf.txt」のファイル名を「mymelo2.wsf」に変更します。ファイル名を変更する際は、エクスプローラの[フォルダオプション][表示]で「登録されている拡張子は表示しない」のチェックをはずしておくことをお勧めします。

(2) 「テキスト音楽サクラ」(http://oto.chu.jp)

 楽譜はメモ帳などで作ってもよいのですが、「サクラ」を使うと演奏させて確かめながら作ることができます。

(3) ArduinoIDE(現在はver-2.3.2 Windows, ZIP fileをダウンロード)

 ダウンロードしたファイルを解凍し、C:\Arduinoフォルダに移します。C:\Arduino\arduino-ide_2.3.2_Windows_64bit\Arduino%20IDE.exeのショートカットをデスクトップにArduino-2.3.2として作ります。

(4)Arduino UNO/NANO の場合

 ArduinoIDEを起動し、[ツール][ボード]でArduino UNOまたはNANOを選び、[ツール][ポート]でポートを選択します。

(5)Digisparkの場合

 ドライバをダウンロードし、DPinst(32bit Windows用)またはDPinst64(64bit Windows用)をインストールします。その後、ArduinoIDEを起動し、[ファイル][環境設定]の[追加のボードマネージャのURL]の右端のボタンを押し、

を追加した後、[ツール][ボード][ボードマネージャ]で「Digistump AVR Boards」をインストールします。

 [ツール][ボード]で「Digispark(Default-16.5mhz)」を選び、[ツール][書き込み装置]で「Micronucleus」を選びます。Digisparkの詳細はここに、Digispark用Arduinoについてはここにあります。

(6) 部品を組み立てて作る場合(マイコンはATtiny45/85, ATtiny2313(A)/4313, ATmega328P)

 書き込み装置(AVRライター)が必要となります。書き込み装置については、こちらのページをご覧ください。

 ATTiny45/85/2313(A)/4313の場合は、ArduinoIDEで[ファイル][環境設定]の[追加のボードマネージャのURL]の右端のボタンを押し、

を追加した後、[ツール][ボード][ボードマネージャ]で「ATTinyCore」をインストールします。

 ATmega328Pの場合は、ボードマネージャで Barebones ATmega Chips(no bootloader) をインストールします。


3. 楽譜データの作成

(1) 楽譜の作成

 冒頭の図のように楽譜を作ります(日本語コードはシフトJIS)。「ドレミ」で楽譜を表現できるので、(私のように)5線符が苦手な方も大丈夫です。

 このような楽譜は「MML形式」と呼ばれます。電子オルゴールでは、下の表の命令を使うことができます。解釈できない命令はなるべく無視するようにしましたが、サクラで演奏できる楽譜がすべてオルゴールにできるわけではありませんのでご注意ください。サクラのsampleの中ではsakura2.mmlだけがオルゴールにすることができます。

書き方説明
ド, ど, cド8, c16, ド.(「.」は付点音符)ドの音。「ド8」のように音符と組み合わせます。音符を省略すると「音符(またはl)」で指定した値となります。
レ, れ, d レの音
ミ, み, e ミの音
ファ, ふぁ, f ファの音
ソ, そ, g ソの音
ラ, ら, a ラの音
シ, し, b シの音
ッ, ン, っ, ん, rドーーッ, レッレー, ッー休符
ー, ^ドードレミーー音を伸ばします。「ド.ー」のように付点音符は伸ばせません。
連符, Div連符{ドドド}, Div{ccc}3連符のみ。また「12分音符」は使えません。連符内での音階の変更はできません。
「...」, '...'「ドレミ」, 'cde'本来は和音ですが、最初の音(この例ではド)のみが使われます。既存の楽譜でエラーにならないようにしただけなので、積極的に使う意味はありません。
【...】, [...]
【...:...】, [... : ...]
【ミミソー】, [eeg^]【...】の中を2回繰り返して演奏します。「:」があると、2度目はそこで終わります。回数を指定する場合は【4...】のようにします。
#, +ド#8., a+半音上げ。
♭, -レ♭8., b-半音下げ。
上, ↑, > 音階を1つ上げます
下, ↓, < 音階を1つ下げます
``ド, ``ド次の音の音階を1つ上げます
""シ, ""シ次の音の音階を1つ下げます
音階, o音階5, o5音階(オクターブ)を指定します。省略時は4。
音符, l音符8, l81,2,4,8,16,32の中から省略時の音符を指定します。省略時は4(4分音符)。
テンポ, Tempoテンポ120, Tempo=120テンポ(毎分の4分音符の拍数)を設定します。省略時は120。曲の途中でテンポを変更することはできません。
調, System.KeyFlag調#(ドファソ), System.KeyFlag+=(cfg)調(キー)を設定します
トラック, Track, TR, NowTrackトラック3, Track=3伴奏付きの楽譜でトラックの始まりを表します。トラック1~3で、トラック1を主旋律とします。単音の曲は記載不要。
Key(数値)Key(-3)半音単位で移調します。複数書いた場合は最初のひとつが有効となり、全体に適用されます。(20230704機能追加)
// 以後、行末までコメント
  1. 音階は「""ラ#」~「````シ」および休符の87個から最大31種類利用できます。これを超えるとその音は出なくなります(和音の場合などは気づかないかもしれません)。キーの違う複数の曲を続けて演奏させようとすると、オーバーしがちです。
  2. 音符は付点を含む32分音符(L32)~符点全音符(L1)の11個から最大8種類利用できます。これを超えると、その音が現れた時にそのトラックの演奏を中止します。全体としてはトラック1の演奏が可能な限り演奏を続けます。
  3. マイコン内蔵のクロックを使っているので、音程はあまり正確ではありません。
  4. 収録できる曲の長さは音符の総数で決まりますが、手作業で入力して容量オーバーになることはまずないでしょう。
  5. 小節毎にタブやスペースや改行で区切ると後で修正する時に楽です。特に、和音オルゴールの楽譜を作る時は、トラック1~3の対応がわかりやすいように工夫するといいでしょう。
  6. マイコンは何度でも書き直しできるので、複雑な楽譜を一度に入力せずに、少し入力したらオルゴールに書き込んでみてください
  7. 「音符4.ド」のように音符に付点音符を指定することはできません。「音符4ド.」のようにしてください。
  8. かつて着メロの楽譜で使われていた「パート(トラック)」「●(ん)」「ド▲(`ド)」「ド▼("ド)」などの書き方も受け付けるようにしています。

(2) データの初期化

 はじめに mymelo2.wsf をダブルクリックして楽譜データを初期化します。その際、下図のようなダイアログボックスが現れるので、矩形波、正弦波、正弦波(伴奏は三角波)のいずれかを選択します。ボタンの名称がわかりにくいので注意してください。楽譜データファイル(mymelo2フォルダのmymelo2.h)が初期化されます。

波形(音色)とボタン操作
波形(音色) 減衰矩形波 減衰正弦波 減衰正弦波
(伴奏は三角波)
ボタン操作

(3) 楽譜データへの変換

 楽譜ファイル(〇〇.mml)を mymelo2.wsf にドラッグ&ドロップすると、楽譜データファイルに楽譜データが記録されます。

 引き続き別の楽譜ファイル(〇〇.mml)をmymelo2.wsfにドラッグ&ドロップすると、楽譜データファイルに2曲目、3曲目、...が追加されます。

 楽譜データを変更する場合は、(2)の初期化からやり直してください。


4. 電子オルゴールの組み立て

... 選択してください

(1) Arduino UNO で作る

 圧電サウンダまたはスピーカーを接続すれば、すぐに試してみることができます。電源を入れた時にメロディーが1回再生されます。スピーカーの場合は抵抗を直列に入れますが、無くても大丈夫です。ピアノ音(減衰正弦波)の音を出したい場合は、圧電サウンダではなくスピーカーを接続してください。

(圧電サウンダ)(スピーカー)

 押しボタンスイッチを接続すると、ボタンを押すとメロディーが再生されます。

(圧電サウンダ)(スピーカー)

 2個の押しボタンスイッチを接続すると、2つのボタンでそれぞれ別の曲を再生できます。

(2曲電子オルゴール)

 2個のスピーカーを接続すると、主旋律(トラック1)と伴奏(トラック2・トラック3)がそれぞれ別のスピーカーから再生され、ステレオ電子オルゴールになります。

(ステレオ電子オルゴール)

(2) Arduino NANO で作る

 圧電サウンダまたはスピーカーを接続すれば、すぐに試してみることができます。電源を入れた時にメロディーが1回再生されます。スピーカーの場合は抵抗を直列に入れますが、無くても大丈夫です。ピアノ音(減衰正弦波)の音を出したい場合は、圧電サウンダではなくスピーカーを接続してください。

(圧電サウンダ)(スピーカー)

 押しボタンスイッチを接続すると、ボタンを押すとメロディーが再生されます。

(圧電サウンダ)(スピーカー)

 2個の押しボタンスイッチを接続すると、2つのボタンでそれぞれ別の曲を再生できます。

(2曲電子オルゴール)

 2個のスピーカーを接続すると、主旋律(トラック1)と伴奏(トラック2・トラック3)がそれぞれ別のスピーカーから再生され、ステレオ電子オルゴールになります。

(ステレオ電子オルゴール)

(3) Digispark で作る

 圧電サウンダまたはスピーカーを接続すれば、すぐに試してみることができます。電源を入れた時にメロディーが1回再生されます。スピーカーの場合は抵抗を直列に入れますが、無くても大丈夫です。ピアノ音(減衰正弦波)の音を出したい場合は、圧電サウンダではなくスピーカーを接続してください。

(圧電サウンダ)(スピーカー)

 以下は小型のスピーカー(UGSM23A)を接続する様子で、スピーカーのピンをペンチで折り曲げておくと、差すだけでOKです。

 押しボタンスイッチを接続すると、ボタンを押すとメロディーが再生されます。

(圧電サウンダ)(スピーカー)

 2個の押しボタンスイッチを接続すると、2つのボタンでそれぞれ別の曲を再生できます。

(2曲電子オルゴール)

 2個のスピーカーを接続すると、主旋律(トラック1)と伴奏(トラック2・トラック3)がそれぞれ別のスピーカーから再生され、ステレオ電子オルゴールになります。

(ステレオ電子オルゴール)

(4) ATtiny45/85 で作る

 圧電サウンダまたはスピーカーを接続すれば、すぐに試してみることができます。電源を入れた時にメロディーが1回再生されます。スピーカーの場合は抵抗を直列に入れますが、無くても大丈夫です。ピアノ音(減衰正弦波)の音を出したい場合は、圧電サウンダではなくスピーカーを接続してください。

(圧電サウンダ)(スピーカー)

 押しボタンスイッチを接続すると、ボタンを押すとメロディーが再生されます。

(圧電サウンダ)(スピーカー)

 2個の押しボタンスイッチを接続すると、2つのボタンでそれぞれ別の曲を再生できます。

(2曲電子オルゴール)

 2個のスピーカーを接続すると、主旋律(トラック1)と伴奏(トラック2・トラック3)がそれぞれ別のスピーカーから再生され、ステレオ電子オルゴールになります。

(ステレオ電子オルゴール)

(5) ATtiny2313(A)/4313 で作る

 圧電サウンダまたはスピーカーを接続すれば、すぐに試してみることができます。電源を入れた時にメロディーが1回再生されます。スピーカーの場合は抵抗を直列に入れますが、無くても大丈夫です。ピアノ音(減衰正弦波)の音を出したい場合は、圧電サウンダではなくスピーカーを接続してください。

(圧電サウンダ)(スピーカー)

 下図はブレッドボードを使わずに半田付けで組み立てた様子です。板状の圧電サウンダは、紙コップや缶に両面テープで張り付けます(7章の製作例を参考にしてください)。

 押しボタンスイッチを接続すると、ボタンを押すとメロディーが再生されます。

(圧電サウンダ)(スピーカー)

 2個の押しボタンスイッチを接続すると、2つのボタンでそれぞれ別の曲を再生できます。

(2曲電子オルゴール)

 2個のスピーカーを接続すると、主旋律(トラック1)と伴奏(トラック2・トラック3)がそれぞれ別のスピーカーから再生され、ステレオ電子オルゴールになります。

(ステレオ電子オルゴール)

(6) ATmega328P で作る

 圧電サウンダまたはスピーカーを接続すれば、すぐに試してみることができます。電源を入れた時にメロディーが1回再生されます。スピーカーの場合は抵抗を直列に入れますが、無くても大丈夫です。ピアノ音(減衰正弦波)の音を出したい場合は、圧電サウンダではなくスピーカーを接続してください。

(圧電サウンダ)(スピーカー)

 押しボタンスイッチを接続すると、ボタンを押すとメロディーが再生されます。

(圧電サウンダ)(スピーカー)

 2個の押しボタンスイッチを接続すると、2つのボタンでそれぞれ別の曲を再生できます。

(2曲電子オルゴール)

 2個のスピーカーを接続すると、主旋律(トラック1)と伴奏(トラック2・トラック3)がそれぞれ別のスピーカーから再生され、ステレオ電子オルゴールになります。

(ステレオ電子オルゴール)

5. プログラムの書き込み(何度でも書き直しできます)

(1) Arduino UNO/NANO の場合

  1. Arduino IDEを起動し、[ファイル][開く]で上で mymelo2フォルダの mymelo2.ino を開きます。
  2. [ツール][マイコンボード]と[ツール][シリアルポート]を適切に選び、マイコンボードに書き込みます。書き込みは、ボタンを押します。

(2) Digisparkの場合

  1. Arduino IDEを起動し、[ファイル][開く]で上で mymelo2フォルダの mymelo2.ino を開きます。
  2. [ツール][ボード]で「Digispark(Default-16.5mhz)」を、[ツール][書き込み装置]で「Micronucleus」を選び、マイコンボードに書き込みます。書き込みは、Digisparkを抜いた状態でボタンを押し、 Running Digispark Uploader... Plug in device now... の表示が現れたら、Digisparkを差し込みます。

(3) 部品を組み立てて作る場合(マイコンはATtiny45/85, ATtiny2313(A)/4313, ATmega328P)

  1. ArduinoIDEを起動し、[ファイル][開く]で上で mymelo2フォルダの mymelo2.ino を開きます。
  2. 使うマイコンに応じて[ツール]で「ボード」と「Chip」と「Clock Source」を適切に選びます。
    (ATtiny45/85の場合)
     「ボード」を[ATTinyCore][ATtiny25/45/85(No bootloader)]にし、「Chip」を[ATtiny85]にします。「Clock」は「16MHz(PLL)」とします。
    (ATtiny2313(A)/4313の場合)
     「ボード」を[ATTinyCore][ATtiny2313(a)/4313(No bootloader)]にし、「Chip」を使用するマイコンによって[ATtiny4313]または[ATtiny2313/ATtiny2313A]とします。「Clock Source」は「8MHz(internal)」にします。
    (ATmega328Pの場合)
     「ボード」を[Bareborns ATmega Chips(No bootloader)][ATmega328/328P]にし、「Processor」を[ATmega328P]にします。「Clock」は「internal 8MHz」にします。
  3. パソコンに書き込み装置(AVRライター)を接続し、[ツール][ポート]を適切に選んだ後、[ツール][書き込み装置]で、[Arduino as ISP]や[Arduino Leo/Micro as ISP(ATmega32U4)]など使用する書き込み装置を指定します。
  4. 書き込み装置(AVRライター)をマイコンに接続し、回路の電源をいれます。
  5. 初めて書き込むマイコンチップは、一度だけ[ツール][ブートローダを書き込む]の操作をします(これにより3の設定がマイコンのHuseビットに書き込まれます)。
  6. プログラムの書き込みは、[スケッチ][書き込み装置を使って書き込む]の操作で行います(ボタンの操作では書き込みできません)。

    書き込み装置とArduinoIDEの操作については、こちらのページをご覧ください。


6. 使い方

 電源を投入すると、(1曲目の)メロディーが再生されます。

 押しボタンスイッチをつなぐと、スイッチを押したときに再生されます。再生中にスイッチを押すと停止します。

 複数の曲を登録した場合、スイッチをトントンと2回押すと2曲目、3回押すと3曲目が再生されます。長押しで曲を選ぶこともできます。

 2曲の場合は、押しボタンスイッチを2つつなぐと、一方を押すと1曲目、もう一方を押すと2曲目が再生されます。


7. 製作例

 実装に一工夫すると、とっても楽しくなります。以下はその一例です。

□ たのしいものづくり

 美術教育講座の佐藤光輝先生にお願いしたところ、学生さんが紙コップを使ってかわいい作品を作ってくれました。

紙コップのクラフト

□ 卒業制作

 附属特別支援学校の卒業制作で作りました。

卒業制作

□ 机の上に置ける小物入れ

 板状の圧電サウンダを身近なものに貼り付けるとスピーカーに早変わりします。

ペン立て ペン立て

□ 校歌のオルゴール付き写真立て

 いくつか作りましたが大変好評です。...校歌1(ブザースピーカー)・校歌2(ブザースピーカー)・校歌3(ブザースピーカー)

校歌の写真立て 写真立ての裏側

□ オルゴール付きカップ

 マグカップやケーキカップに付けてみました。マグカップは手に持って丁度親指の箇所にスイッチを付けました。曲は「乾杯」。また、ケーキカップは蓋を開けると音が出るようにしました。

マグカップ ケーキカップ

□ 空き缶や100円ショップで見つけたケースに入れてみました。

ブレッドボード使用 さまざまな実装

□ 100円スピーカーを使ったオルゴール

 100円ショップで購入したスピーカーを接続すると、音色も音量も格段に改善されます。抵抗が必要ですが無くても動作します。下図はブレッドボードを使った組み立て例と半田づけによる組み立て例です。事前にスピーカーの準備をしておけば、製作教室でも利用できます。

下図は2Lサイズの写真立てにスピーカーを付けた例です。

写真立て

□ ステレオ電子オルゴール

 スピーカーを2つつなぐとステレオ電子オルゴールになります。スピーカーの接続方法が違うだけで、オルゴールのプログラムは一緒です。楽譜が2トラックからなる場合は、一方のスピーカーからトラック1の音が、もう一方のスピーカーからトラック1とトラック2の音が出ます。また、3トラックからなる場合は、一方のスピーカーからトラック1の音が、もう一方のスピーカーからトラック2とトラック3の音が出ます。試しに作ってみるのも楽しいと思います。


□ 押しボタンスイッチで操作する電子オルゴール

 電池(単5)とマイコンを100円スピーカーの中に入れ、押しボタンスイッチで操作するようにしてみました。スピーカーの加工や部品の取り付けに少し手間がかかるので、製作教室には不向きかもしれません。なお、押しボタンスイッチの有無にかかわらず、オルゴールのプログラムは一緒です。スイッチを押すと1回演奏して停止します。また、演奏中にスイッチを押すと演奏を停止します。

 下の写真は、弘前大学教育学部創立130周年記念行事(2006.9.30)で師範学校校歌の電子オルゴールを50台製作し、師範学校OBの方々に差し上げた時のものです。(音はこんな感じです。)


□ イルミネーションオブジェとの組み合わせ

 オルゴール部分はDigisparkで作り、フルカラーLED NeoPixelを用いたイルミネーションオブジェと組み合わせてみました。電子オルゴールの音に合わせてイルミネーションが変化します。オブジェの作り方はngo-tecさんのページを参考にしました。プログラムはtinyBasicで作りました。


□ 写真立ての製作メモ その1 (2011.3)

 写真立てと電子オルゴールの組み合わせは今まで何種類か作りましたが、以下の方法がシンプルで上品な感じに仕上がりましたので、製作メモとして紹介します。2011年3月に7台作り、特別支援学校を卒業する高等部の生徒さんにプレゼントしました。スピーカーは生徒達が作業学習で解体した家電機器からはずしたものを使いました。その後もこの方法で10台ぐらい作りました。

 2024年、約10年ぶりに2台作りました。1台は山口岩男さんの「山刀伐峠」「ちょすなず」の2曲入りで、もう1台は「乾杯」「さくらさくら」「山刀伐峠」「鳥海山の歌」の4曲入りで結婚式のプレゼントです。


山刀伐峠」「ちょすなず

乾杯」「さくらさくら」「山刀伐峠」「鳥海山の歌
  1. 20mm厚程度の木板を200×145mmに切断し、表面および側面を紙ヤスリできれいに磨きます。私の場合は、廃棄されていた木製物品棚の棚板を再利用しました。
  2. 木板の表面および側面をニスまたはクリヤーラッカーで塗装します(2度塗り)。
  3. PET樹脂板を190×135mmに切断し、エッジをヤスリで仕上げます。PET樹脂板は裁断機できれいに切断できます。今ですと、コロナの感染対策で使われた透明アクリル板が、身近にたくさんあると思うので、再利用するといいのではないでしょうか。
  4. 木板およびPET樹脂板の穴加工をします(下図)。
  5. ケースの穴加工をします(下図)。この時使ったケースは今は100均には置いていないようなので、「製作メモその2」のクリアケースを使うといいかもしれません。
  6. ケースにスイッチを取り付け、部品を組み立て、完成したら木板に固定します。
  7. 木板中央にハガキサイズの写真を両面テープで固定し、PET樹脂板をトラスタッピングネジで留めて♪ 完成 ♪です。


木板の加工PET樹脂板の加工
材料・部品
名称 規格等
木板 廃材利用(200×145mm 20mm厚)
PET樹脂板 アクリサンデー 透明1mm厚(190×135)
ネジ トラスタッピングネジ 4×10 黒
ケース ダイソー ミニスタンド A-63
マイコン ATtiny85
スピーカーまたは
圧電サウンダ
秋月 5cmφ(スピーカー)
SPT15(圧電サウンダ)など
スイッチ サンワ OBSF-24 など
電池・電池ボックス 単4×2本
抵抗 68Ω 1/6W
積層セラミックコンデンサ1μF
ケースの加工

□ 写真立ての製作メモ その2 (2023.5)

 100均のフォトフレームとクリアボックスを使った製作例です。


材料・部品
名称 規格等
フォトフレーム ダイソー 38-1 など
ケース ダイソー 1 Cube Case, 1 Tall,
セリア Cube Half など
マイコン ATtiny85
スピーカーまたは
圧電サウンダ
秋月 5cmφ(スピーカー)
SPT15(圧電サウンダ)など
スイッチ サンワ OBSF-24 など
電池・電池ボックス 単4×2本
抵抗 68Ω 1/6W
積層セラミックコンデンサ1μF

回路図

□ 写真立ての製作メモ その3 (2024.3)

 製作例その1の20mm厚の木板(廃材)と、100均のフォトフレームを組み合わせた製作例で、その1のPET樹脂板の加工を省略できます。

材料・部品
名称 規格等
木板 廃材利用(200×145mm 20mm厚)
フォトフレーム ダイソー PF-6-2
ネジ トラスタッピングネジ 4×10 黒
ケース ダイソー 1 Cube Case, 1 Tall,
セリア Cube Half など
マイコン ATtiny85
スピーカーまたは
圧電サウンダ
秋月 5cmφ(スピーカー)
SPT15(圧電サウンダ)など
スイッチ サンワ OBSF-24 など
電池・電池ボックス 単4×2本
抵抗 68Ω 1/6W
積層セラミックコンデンサ1μF

回路図

8. ものづくり教室などでの活用例

□ 「私だけの電子オルゴール」製作教室(2005.7.8 於弘前大学)


□ 第1回おもしろ教室(2005.10.22 於京都府木津川台小学校 参加者:小学生約20人) [配布資料]
□ 第2回おもしろ教室(2005.11.19 於京都府木津川台小学校 参加者:小学生約20人) [配布資料]

 写真や資料は内田直樹様に送っていただきました。



□ 課題制作(2005.10.14~ 鹿児島県立出水工業高校電子機械科)

 写真は吉満浩昭先生に送っていただきました。




□ 卒業制作(2005.12.9~2006.2.23 平賀町立小和森小学校 6年生58人) [配布資料]

 秋谷啓児先生、安藤先生ありがとうございました。


サクラを使って楽譜入力
「好きな曲を...」と言うと子ども達は結構難しい曲を準備してきます


オルゴールの組み立て
間違わないようマイコンやブザーの結線位置にマジックで目印が付けてありました


先生が楽譜の書き込み
楽譜の入力ミスなどは臨機応変に修正が必要です






電子オルゴール付きのオリジナルCDラックが完成!!
CDラックを組み立てて、思い思いのデザインに。
オルゴールの取り付け位置もそれぞれに。
学校に来るのはあと10日あまりとなり、どれも小学校の思い出がたっぷり詰まったオルゴールでした。

□ 「私だけの電子オルゴール」製作教室(2006.8.8 於弘前大学 参加者:中学生4名) [配布資料]


□ 小学生電子工作教室(2006.12.22 於兵庫県立篠山産業高校 参加者:小学生8名) [配布資料]

 写真や資料は北村和義先生に送っていただきました。



□ 卒業制作(2006.10.11~2007.3.15 真室川町立大滝小学校(2007.3閉校))

 写真は石川周先生に送っていただきました。


□ 課題制作(2006.6.21~2007.2 愛知県立碧南工業高校 50セット製作) [オルゴールの音を聴く]

 写真やオルゴールの音は黒部義男先生に送っていただきました。


□ 楽しい電子工作(2007.7.28~29 於秋田県産業技術総合研究センター 参加者:一般160人)

 写真は佐々木信也様に送っていただきました。1時間単位で1日5回、2日で計10回、160人が訪れ盛況だったそうです。


(作曲とオルゴール組み立てコーナー)


(作曲支援コーナー)

(作曲データ変換コーナー)

(オルゴールマイコン作成コーナー)

□ 課題研究(2007.10.10~ 熊本県立玉名工業高校)

 倉崎剛先生にご連絡いただきました。


□ 親子ものづくり挑戦コーナー(2007.10.20~21 於魚津産業フェア 北陸職業能力開発大学校出展 参加者:親子約80組)

 写真は谷岡政宏先生に送っていただきました。

とのことで、いろいろ工夫をされていたようです。


□ ものづくり体験フェスタ(2008.02.16 於新川文化ホール 北陸職業能力開発大学校出展) [配布資料]

 写真は秋山等先生に送っていただきました。「学生が製作した金型を用いて、射出成形したハート型容器を使用した」とのことでした。



(オリジナルのケースでLEDが点滅するところがステキです)

□ 夏休み小学生理科教室(2016.8.6 於玉川大学)

 水野真先生にご報告いただきました。「スピーカーも作った」とのことでした。


□ 小学生向け公開講座(2008.08.20 於 鶴岡工業高校 参加者:小学生20名)

 写真は五十嵐誠先生に送っていただきました。


□ 卒業制作(2009.1.26~ 青森県小和森小学校 6年生54人)

 秋谷啓児先生 ありがとうございました。


□ 卒業制作(2009.1.26~2009.03.11 弘前大学教育学部附属特別支援学校 高等部8名)

 写真は梁川道輔先生に送っていただきました。




□ 図工製作(2012.3.12~15 大阪府豊中市立東泉丘小学校 4年生124人)[オルゴールの音を聴く] [配布資料]

 写真や資料は長谷川博是先生に送っていただきました。



□ 社内研修(2013.11.2 (株)プロアシスト 社員4人)

 写真は山神啓志様に送っていただきました。


□ 第1回鳥取県中部ものづくり道場(2015.7.18 於倉吉市ファボラとっとり 参加者:7名)
□ 第2回鳥取県中部ものづくり道場(2015.8.4 於倉吉市関金総合文化センター 参加者:9名)
□ 第3回鳥取県中部ものづくり道場(2015.8.7 於倉吉市上北条黄門館 参加者:6名)
□ 第4回鳥取県中部ものづくり道場(2015.8.23 於倉吉市伯耆しあわせの郷 参加者:10名)
□ 第5回鳥取県中部ものづくり道場(2015.9.19 於倉吉市伯耆しあわせの郷 参加者:6名)
□ 第6回鳥取県中部ものづくり道場(2015.11.28 於米子市米子児童文化センター 参加者:12名)

 写真は賀戸哲也様に送っていただきました。


□ 電子オルゴール講習会(2017.3.12 参加者:大人6人 子供3人)
□ 夏休み電子工作教室(2017.8.2~3 東京都港区内小学校 参加者:4~6年生125名) [配布資料]

 写真は野口誠之様に送っていただきました。ATtiny85を使い、曲は「エリーゼのために」。2日間で4回に分けて実施されたそうです。半田づけも楽しそうです。



□ 紙器との組み合わせ製作(2020.12 愛知県立春日井高等特別支援学校)

 写真は鈴木孝明先生に送っていただきました。


オルゴール付 三段ミニボックス

オルゴール付 写真立て

オルゴール付 ミニボックス

□ 卒業制作(2021.2.24~3.2 金山町立明安小学校 6年生7名) [手順書]

 写真や資料は石川周先生に送っていただきました。


(参考資料)

[1] DTMF Generator, ATMEL Application Note AVR314, https://ww1.microchip.com/downloads/en/Appnotes/doc1982.pdf, 1982.


(付録1) 音の工夫

A1.1 PWMによるアナログ波形

 電子オルゴールの波形はPWM(パルス幅変調)という方法で作っています。PWM波形の1周期は、8MHzの内蔵クロックを用いる ATtiny2313(A)/4313, ATmega328P の場合32μs(下図)、16MHzの水晶クロックを用いるArduinoUNO/NANOでは16μs、64MHzのPLLクロックを用いるDigispark, ATtiny45/85では4μsとなります。高い電圧(3V)の時間を0/256~255/256の256段階で調整することにより(黒線の波形)、「平均的に」0V~3Vの電圧を作っています(赤線の波形)。なお、5Vで動作するArduinoUNO/NANOやDigisparkでは、0V~5Vの電圧で、より大きな音になります。

 一方、マイコンからの値の指示は上記のPWM周期(4~32μs)ほど高速に行われるわけではありません。その時間(サンプリング周期)は、ArduinoUNO/NANO, Digispark, ATtiny45/85では32μs、ATtiny2313(A)/4313, ATmega328Pでは64μsです。

A1.2 減衰矩形波と和音

 減衰矩形波の信号は、PWMのデューティ比を変えることにより下図のように作っています。図はラ(440Hz)の音の例で、矩形波の周期は2.27msです。図には表現しきれていませんが、実際には480μs毎に振幅(デューティ比)が255/256になるようにしています。

 下図右は和音波形が作られる様子です(ラとドの合成波形)。

A1.3 減衰正弦波

(1) 波形テーブルと音程(周波数)

 正弦波と三角波それぞれ1周期分256個の波形データを用意しています。このデータをサンプリング周期32μsごとに出力すると、122Hzの信号が出力されます。「ラ」の880Hzの信号を出力する時は、波形データを7個に1個の割合いで出力します(下図)。ただし、実際にはPWM波形です。この方法は[1]を参考にしました。

(2) 減衰波形

 減衰波形は、乗算を使わずに、2つの正弦波形データの位相をずらして加算することにより作っています。三角関数の和積の公式から \[\cos 2\pi f t + \cos(2\pi f t + \phi) = 2\cos(2\pi f t + \cfrac{\phi}{2})\cos\cfrac{\phi}{2}\] なので、位相を\(\phi\)ずらして加算すると振幅は\(2 \cos \cfrac{\phi}{2}\)になります(下図)。

 ただし、この方法で減衰三角波を作ることはできないので、減衰とともに音色が変化します。

(3) 直流分の抑圧

 圧電サウンダの場合はその必要はないのですが、スピーカーを使った際に少しでも省電力となるように直流分を抑える工夫をしています(下図)。

(4) ビブラート効果

 2つの正弦波の周波数を少しだけずらして加え合わせると、「うなり(振幅の変化)」を生じます。 \[\cos 2\pi(f+\Delta f) t + \cos 2\pi(f-\Delta f) t = 2 \cos 2\pi f t \cos 2 \pi (2 \Delta f) t\] 単音および2和音では、この方法で疑似的にビブラート効果を加えています(下図上)。

(5) アタックタイム

 これまで音の出だしが固くクリック音のような感じがありました。これは波形の立ち上がりが急峻であったためですが、アタックタイム(約4ms)を設けることで改善しました(下図下)(2023.2.1)。


880Hzの減衰正弦波の波形

(6) 音色の変更

 正弦波や三角波の波形データを変えると、音色が大きく変わります(mymelo.inoの冒頭部分のWs[]の箇所を変更)。波形データを工夫することにより、音色に変化をつけることができるので、興味のある方は試してみてください。

(7) 和音の音量配分

 減衰正弦波の和音では、トラック2やトラック3の音量はトラック1の半分にしています。主旋律はトラック1、伴奏はトラック2やトラック3に書きましょう。

 楽譜で音量を調整することはできません。


(付録2) 製作のTips

A2.1 電源のコンデンサ

 ATtiny45/85, ATtiny2313(A)/4313, ATmega328PなどマイコンICを使って作る場合、4章ではコンデンサを入れていませんが、電池が消耗してきた時などにも安定して動作するよう、以下のようにコンデンサを入れた方がいいです。Arduinoを使う場合はその必要はありません。

A2.2 スピーカーの直列抵抗

 スピーカーを使う場合、4章では68Ωの抵抗を直列に入れていますが、とりあえず動作確認をする際は無くても動作します(大きな音がします)。音量を小さくしたい場合は、この値を大きくします。

A2.3 プリント基板

 以下は、ATtiny85用に作った片面プリント基板のレイアウトです。GND端子はもうひとつ付けた方がよかったですね。


koyama88@cameo.plala.or.jp