24.ブルーライナーのミュージックホーンを作ってみました(試作編)
Webのサイトを巡っていると、bitメカ工房というサイトにPICマイコンでメロディを鳴らすと言うサイト
記事がありました。PICマイコンを使用してプログラムの中で、音程と長さを入力すると音楽が鳴ら
せるのです。
これはもしかして?と思い早速チャレンジしてみました。
サンプルのプログラムを使用してまずは簡単なパノラマカーミュージックホーンを作ろうとソースをダ
ウンロードして、MPLABIDEでロードしました。 しかし、プログラムはエラーだらけ。。。。実はこの
ソースTechToolsのCVASM16だったのです。少し覚えかけたMPASMが全く役にたたない。移植しようか。。
それも無理。。。 結局 CVASM16をダウンロードしてコンパイルできるように自分のPCにセットアッ
プしました。
bitメカ工房さんのサイト内にある、電子工作の中の「PICでメロディ」の中のページの真ん中あたり
にPICkit2使用によるISP(ユーザー基板に割り込んで書き込み) という記事があり、まずは、そこに
ある方法でテスト基板を作りました。(たまたま、FLデコーダがPIC12F683を使用していたので安
易にこちらに決めました) コレぐらいなら至って簡単。
テスト基板を作ってサンプルプログラムをそのまま実行。。 鳴った!!!
やっとの思いでミュージックホーンを打ち込み。
ミ・ド#・ラ・・・・・
なってくれました。なんかいい感じ。 キーホルダのおもちゃと比べても。 うん!いけそー!!!
そこで思いついたのが↓この電車。
100周年のイベントとしてデザインを公募して登場したブルーライナー
たしか、この車輌、ちょっと違うミュージックホーンだったけど・・・
Youtubeで音付き画像がないか検索・・ みつかった
これこれ → ブルーライナー (YOUTUBEへリンク)
早速、子供のおもちゃのキーボード片手に・・・音作り開始、
音作りといっても音を聞きながら試行錯誤の繰り返しでした。
結果的に、ブルーライナーは レで始まるパターンと 半音下のド#で始まるものの2パターン
作り、パノラマカーのミュージックホーンも作りました。
音程 | 音長 | |
No1 |
;♪ ♪ ブルーライナー/M(テンポ=116 音符数:19) retw RE5,SIf4,DO5,RE5 retw DO5,RA4,SIf4,DO5 retw FA4,SO4,SIf4,SO4 retw RE5,DO5,SIf4,DO5,SIf4,KYU,KYU |
;♪ ブルーライナー/M retw L300,L050,L100,L250 retw L300,L050,L100,L250 retw L050,L100,L150,L050 retw L100,L100,L050,L050,L450,L050,L050 |
No2 |
;♪ ミュージックホーン/M(テンポ=070 音符数: 19) retw MI4,DOs5,RA4 retw MI4,DOs5,RA4 retw MI4,DOs5,MI4,RA4,KYU retw RA4,MI4,DOs5,RA4 retw MI4,DOs5,RA4,KYU |
;♪ ミュージックホーン/M retw L075,L075,L075 retw L075,L075,L075 retw L075,L075,L075,L250,L100 retw L075,L075,L075,L075 retw L075,L075,L250,L200 |
No3 |
;♪ブルーライナー半音低/M(テンポ=116 音符数:19) retw DOs5,RA4,SI4,DOs5 retw SI4,SOs4,RA4,SI4 retw MI4,FAs4,RA4,FAs4 retw DOs5,SI4,RA4,SI4,RA4,KYU,KYU |
;♪ブルーライナー/M retw L300,L050,L100,L250 retw L300,L050,L100,L250 retw L050,L100,L150,L050 retw L100,L100,L050,L050,L450,L050,L050 |
bitメカ工房さんのサイトにあるソースのサンプル(B4_ISP.src)のサンプルをダウンロードして修正します。
実際のソース修正・ビルド(コンパイル)は、同サイトの電子工作にある「解説1」に記載されているので
参考にしてください。
実際に、音が鳴って、・・・・・・ うん? なんか違和感が・・・・
音と音の間に微妙な隙間があり、ちょっと違う。。。
この隙間を取りたいが、何とかならないかと、試行錯誤でソースを見て 発見!!
下記にあるシンクロWAITの部分をコメントにすれば、音間の隙間が埋まるのでとりあえず
コメント化(今回はミュージックホーンだけのための対応です。ここをコメントするとテンポが
楽譜どおりにならないので他に使用するときは注意が必要です)
;ソースコメント箇所
;---シンクロWAIT(待ち)---
;rWAIT_0 cje tmr0,mT_256Z,rWAIT_0 ;
;rWAIT_1 cjne tmr0,mT_256Z,rWAIT_1 ;
; test mTMR_CZ ;
; jz rWAIT_E ;
; dec mTMR_CZ ;-1
; jmp rWAIT_0 ;
;rWAIT_E
とりあえず、ショートピン(PICの2番、3番ピン)の差し替えで3曲鳴ることを確認できました。
上記、曲とコメント対応し、ビルドしたHEXファイルは ここからダウンロード(PIC12F683用)
(右クリックで 対象をファイルに保存を選択してダウンロードしてください)
次に実装するための回路になります。
※回路図は、試作の後に作成したもので、後で記載する蓄電式のケースも含みます。
※尚、この回路は試作レベルです。万一問題があっても責任は負えませんのでご了承ください。
回路図はこちら・・(PDFファイル)(2010/01/24 修正)
どうやって、何処に実装しようか悩んだ挙句、天井にFLデコーダとサウンド回路を載せることにし
ました。パノラマカーの時に、集電不良から、走行中に勝手に鳴り出すことがあったので、同様に
FLデコーダからサウンド回路の間にCRのディレイ回路を設けました。
上の写真が試作した回路です。左がFLデコーダ、真ん中がディレイ回路、右がサウンド回路です。
5Vの電源に100μFのコンデンサを入れましたが、それでも集電不良が起こると、途中で音が
切れてしまいます。
スピーカは15mmで(ぎりぎり収まりま)す。 家電量販店で扱っているipod用の外部スピーカを
転用しています。
このため、現在、ぬっきぃさんのサイト(WebNucky)さんのサイトに掲載されている、蓄電式FL
デコーダの回路を参考にして、不良集電不良があっても内部的に回路をバックアップして音切れ
及び、ディレー回路省略によるスロットルのF2キーのレスポンス改善を試みています。
できれば、基板1枚ものにして他車にも転用したいところです。
サンプル音はこちら (Windows WMA形式)
走行時のサンプル画像は こちら その1 その2 (Windows WMV形式)
改良版ができ次第掲載します。
ご注意:各サイトの方のご厚意により応用例として掲載しております。(感謝いたします)
各サイトにてプログラムならびに回路の変更がある場合がございます。
デコーダについてはぬっきぃさんのサイト(WebNuckyさん)のFLデコーダを参照ください。
ミュージックホーン部分はbitメカ工房さんのPICでメロディを参照ください。
各サイトのコンテンツ、プログラム、回路図等は、各サイトで著作権がございます。
掲載内容に基づき作成または改造を行った結果、万一損害が生じてもリンク先のサイトならびに
当方では責任を負いませんので、ご自身の責任の範囲でお願いします。