2005.3.7 - 2024.4.30
小山智史
(更新履歴)
2024.03.25 複数曲の場合の曲の選択方法を改善しました。
2023.07.04 Key(数値)で半音単位で移調できるようになりました。
2023.06.16 「音声メッセージ付 電子オルゴール MyMelo2 PLUS」を別ページに掲載しました
2023.06.16 ArduinoUNO/NANOやATtiny2313でもきれいな音が出るようになりました
2023.06.16 最大5曲までのメロディーを選択して再生できるようになりました
2023.06.06 小山小学校(長野県須坂市)で電子オルゴール製作(水野真様)
2023.02.13 プログラムを更新しました(音の改善)
2021.02.24~ 明安小学校(山形県) 卒業制作
2021.01.06 サーバを引越しました。
2020.12 春日井高等特別支援学校(愛知県) 紙器との組み合わせ製作
2020.04.24 Arduino版に移行しました。
2017.08.02~03 夏休み電子工作教室(東京都港区内小学校)
2017.03.12 電子オルゴール講習会(東京都港区)
2017.03.09 Digisparkに対応
2016.08.06 玉川大学夏休み小学生理科教室
2015.07.18~2015.11.28 鳥取県中部ものづくり道場
2014.03.14 ~音階2ラ#の低い音が正しく出なかったので修正
2014.03.06 Mymelo2にリニューアル
2013.11.02 (株)プロアシスト 社内研修
2013.04.01 浅田寿展氏(兵庫県三田市)らが64bitおよびインストール不要に対応(こちら)
2012.05.19~20 放送大学面接授業
2012.03.12~15 豊中市立東泉丘小学校(大阪府) 小4 図工製作
2011.04.04 写真立ての制作メモを掲載
2010.10.22~24 弘前大学祭技術科展示
2009.01.26~2009.3.11 弘前大学教育学部附属特別支援学校(青森県) 卒業製作
2009.01.26~ 小和森小学校(青森県) 卒業製作
2008.08.20 鶴岡工業高校(山形県)で小学生向け公開講座
2008.11.04~ 青森中央学院大学で音の出る絵本を製作
2008.02.16 「ものづくり体験フェスタ」(於 新川文化ホール 北陸職業能力開発大学校 出展)<
2007.10.20~21 「親子ものづくり挑戦コーナー」(於 魚津産業フェア 北陸職業能力開発大学校 出展)
2007.10.10~ 玉名工業高校(熊本県)の課題研究で制作
2007.07.28~29 「楽しい電子工作」(於 秋田県産業技術総合研究センター)
2006.12.22 篠山産業高校(兵庫県)で小学生電子工作教室
2006.10.13~ 国東農業工業高校(大分県)で制作
2006.10.11~2007.3.15 大滝小学校(山形県)で制作
2006.09.30 青森県師範学校校歌の電子オルゴールを50台製作(弘前大学教育学部創立130周年記念)
2006.08.08 「私だけの電子オルゴール」製作教室(於 弘前大学)
2006.06.21~2007.2 碧南工業高校(愛知県) 課題制作
2005.10.19~2006.1.31 出水工業高校(鹿児島県) 課題制作
2005.12.09~2006.2.23 小和森小学校(青森県) 卒業制作
2005.11.19「第2回おもしろ教室」(於 京都府)
2005.10.22「第1回おもしろ教室」(於 京都府
2005.07.08 「私だけの電子オルゴール」製作教室(於 弘前大学)
2005.03.07 Webで公開
1. 概要
子どもからおとなまで楽しめる電子オルゴール教材です。趣味のものづくり、夏休みものづくり教室、総合的な学習、卒業記念制作で校歌のオルゴールづくり、理工系教育の導入教材などに活用できます。
電子オルゴールは市販もされているものもありますし、プログラミングの練習でも取り上げられたりしますが、ここで作る電子オルゴールは次の特徴があります。
- 楽譜データを入力してオリジナルの電子オルゴールを作れます。
- 単音だけでなく、2和音や3和音など伴奏付の電子オルゴールを作れます。
- 単調なブザー音ではなく、ピアノの音に似たきれいな音色です(音色は3種類)。
- 複数の曲を登録し、ボタン操作で再生する曲を選択できます。
- 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ラックとの組合せ) 製作の手順は概ね次のとおりです。
- サクラあるいはメモ帳で「ドドソソララソー」のように楽譜を作成します。伴奏を付けることもできます。
サクラで作成 | メモ帳で作成 |
サクラで作成(2和音の楽譜) | メモ帳で作成(2和音の楽譜) |
- マイコンやスピーカーなど数点の部品を接続し、組み立てます。
- マイコンに上記の楽譜を書き込むと完成です。
- 「こんな音」や「こんな音」のオルゴールができあがります。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]の右端のボタンを押し、
http://digistump.com/package_digistump_index.json
を追加した後、[ツール][ボード][ボードマネージャ]で「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]の右端のボタンを押し、
http://drazzy.com/package_drazzy.com_index.json
を追加した後、[ツール][ボード][ボードマネージャ]で「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, l8 | 1,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機能追加) |
// | | 以後、行末までコメント |
- 音階は「""ラ#」~「````シ」および休符の87個から最大31種類利用できます。これを超えるとその音は出なくなります(和音の場合などは気づかないかもしれません)。キーの違う複数の曲を続けて演奏させようとすると、オーバーしがちです。
- 音符は付点を含む32分音符(L32)~符点全音符(L1)の11個から最大8種類利用できます。これを超えると、その音が現れた時にそのトラックの演奏を中止します。全体としてはトラック1の演奏が可能な限り演奏を続けます。
- マイコン内蔵のクロックを使っているので、音程はあまり正確ではありません。
- 収録できる曲の長さは音符の総数で決まりますが、手作業で入力して容量オーバーになることはまずないでしょう。
- 小節毎にタブやスペースや改行で区切ると後で修正する時に楽です。特に、和音オルゴールの楽譜を作る時は、トラック1~3の対応がわかりやすいように工夫するといいでしょう。
- マイコンは何度でも書き直しできるので、複雑な楽譜を一度に入力せずに、少し入力したらオルゴールに書き込んでみてください。
- 「音符4.ド」のように音符に付点音符を指定することはできません。「音符4ド.」のようにしてください。
- かつて着メロの楽譜で使われていた「パート(トラック)」「●(ん)」「ド▲(`ド)」「ド▼("ド)」などの書き方も受け付けるようにしています。
|
(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 の場合
- Arduino IDEを起動し、[ファイル][開く]で上で mymelo2フォルダの mymelo2.ino を開きます。
- [ツール][マイコンボード]と[ツール][シリアルポート]を適切に選び、マイコンボードに書き込みます。書き込みは、ボタンを押します。
(2) Digisparkの場合
- Arduino IDEを起動し、[ファイル][開く]で上で mymelo2フォルダの mymelo2.ino を開きます。
- [ツール][ボード]で「Digispark(Default-16.5mhz)」を、[ツール][書き込み装置]で「Micronucleus」を選び、マイコンボードに書き込みます。書き込みは、Digisparkを抜いた状態でボタンを押し、Running Digispark Uploader... Plug in device now...の表示が現れたら、Digisparkを差し込みます。
(3) 部品を組み立てて作る場合(マイコンはATtiny45/85, ATtiny2313(A)/4313, ATmega328P)
- ArduinoIDEを起動し、[ファイル][開く]で上で mymelo2フォルダの mymelo2.ino を開きます。
- 使うマイコンに応じて[ツール]で「ボード」と「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」にします。 - パソコンに書き込み装置(AVRライター)を接続し、[ツール][ポート]を適切に選んだ後、[ツール][書き込み装置]で、[Arduino as ISP]や[Arduino Leo/Micro as ISP(ATmega32U4)]など使用する書き込み装置を指定します。
- 書き込み装置(AVRライター)をマイコンに接続し、回路の電源をいれます。
- 初めて書き込むマイコンチップは、一度だけ[ツール][ブートローダを書き込む]の操作をします(これにより3の設定がマイコンのHuseビットに書き込まれます)。
- プログラムの書き込みは、[スケッチ][書き込み装置を使って書き込む]の操作で行います(ボタンの操作では書き込みできません)。
書き込み装置とArduinoIDEの操作については、こちらのページをご覧ください。
6. 使い方
電源を投入すると、(1曲目の)メロディーが再生されます。
押しボタンスイッチをつなぐと、スイッチを押したときに再生されます。再生中にスイッチを押すと停止します。
複数の曲を登録した場合、スイッチをトントンと2回押すと2曲目、3回押すと3曲目が再生されます(2024.03.25)。長押しで曲を選ぶこともできます。
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で作りました。
□ 写真立ての製作例
「電子オルゴール付きの写真立て」を今まで数種類作りました。
以下は、2011年3月に特別支援学校を卒業する高等部の生徒さんにプレゼントした時のもので、7台作りました。スピーカーは生徒達が作業学習で解体した家電機器からはずしたものを使いました。
その後も同様のものを10数台作りました。
以下は、2024年に作ったものです。1台は山口岩男さんの「山刀伐峠」「ちょすなず」の2曲入り、もう1台は「乾杯」「さくらさくら」「山刀伐峠」「鳥海山の歌」の4曲入りで、それぞれプレゼント用です。
上記の写真立ての部分の作り方は「シンプルな写真立て」をご覧ください。
以下は、木板を使わずに100均のフォトフレーム(ダイソー 38-1)で作ったものです(2023年5月)。
いずれの場合も、電子オルゴール本体は100均のクリアケースに入れています。
材料・部品名称 | 規格等 |
---|
クリアケース | ダイソー ミニスタンド A-63, 1 Cube Case, 1 Tall など | マイコン | ATtiny85 | スピーカーまたは 圧電サウンダ | 秋月 5cmφ(スピーカー) SPT15(圧電サウンダ)など | スイッチ | サンワ OBSF-24 など | 電池・電池ボックス | 単4または単3×2本 | 抵抗 | 68Ω 1/6W | 積層セラミックコンデンサ | 1μF | | ケースの加工 (ミニスタンド A-63 の場合) |
---|
回路図
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組)
写真は谷岡政宏先生に送っていただきました。
「音楽に合わせてLEDが光るようにし、LEDは赤、青、黄、緑の4色から2色を選べるようにしました。外箱は色つきの工作用紙(赤、青、黄、黄緑、オレンジの5色から選べる)を使い見本の型紙を見ながら、自分で切って作り、外箱にシールを貼るようにしました。」
とのことで、いろいろ工夫をされていたようです。
□ ものづくり体験フェスタ(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つの正弦波形データの位相をずらして加算することにより作っています。三角関数の和積の公式からなので、位相をずらして加算すると振幅はになります(下図)。
ただし、この方法で減衰三角波を作ることはできないので、減衰とともに音色が変化します。
(3) 直流分の抑圧
圧電サウンダの場合はその必要はないのですが、スピーカーを使った際に少しでも省電力となるように直流分を抑える工夫をしています(下図)。
(4) ビブラート効果
2つの正弦波の周波数を少しだけずらして加え合わせると、「うなり(振幅の変化)」を生じます。単音および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