55.MP3サウンドデコーダV6 N18 走行音スケッチ
1.概要 |
MP3サウンドデコーダV6 N18 を使用して、MP3ファイルでスロットルの速度値をもとに
MP3ファイル化された走行音を再生させる機能について補足説明します。
機能はスロットルの値0~255の範囲での値の変化で、加速・定速・減速・ブレーキ音を再生させます。
専用のスケッチを MP3サウンドデコーダV6 N18へ書き込んで必要な走行音をMP3ファイルにセットするだけで走行音を楽しむことができます。
下記はスロットル動作時の走行音再生のフローです。
ソースはブレーキー音のロジックがあるルーチンに組み込んでいます。
該当ソース箇所
// MP3V6 加速・定速・減速・ブレーキ音制御
if( (millis() - gPreviousL6) >= 100)
{
if((gCV48_SoundState & 0x02) != 0) //170805 fujigaya2
{
//gSpeedCmd_vvvfは255最大
if ( gSpeedCmd_vvvf > gCV66_BRAKE_Th ) // ブレーキ音発生イベント検出
{
dec_speed_state = 1;
}
if ( gSpeedCmd_vvvf <= gCV66_BRAKE_Th && dec_speed_state ==
1)
{
dec_speed_state = 2;
mp3_set_volume (gCV58_MP3_Vol);
delay (WAIT_VOLMP3);
mp3_play (304); // ブレーキ音
}
if ( gSpeedCmd_vvvf == 0)
{
acc_speed_state = 1; //スピードが0になったら加速音可とする
}
//加速音
if ( gSpeedCmd_vvvf >= gCV67_START_Th && acc_speed_state ==
1) // 加速音開始条件
{
acc_speed_state = 2;
mp3_set_volume (gCV58_MP3_Vol);
delay (WAIT_VOLMP3);
mp3_play (301); // 加速音
}
if ((gSpeedCmd_vvvf >= gCV68_CONST_Th) && ((acc_speed_state
== 2) || (acc_speed_state == 3 )) ) // 定速音開始条件
{
acc_speed_state = 4;
mp3_set_volume (gCV58_MP3_Vol);
delay (WAIT_VOLMP3);
mp3_play (302); // 定速音
delay (200);
mp3_single_loop (true);
}
if ( gSpeedCmd_vvvf >= gCV69_Deceleration_Th && acc_speed_state
== 2) // 減速開始条件(定速なし)
{
acc_speed_state =3;
}
if (( gSpeedCmd_vvvf < gCV69_Deceleration_Th ) && ((acc_speed_state
== 3) || (acc_speed_state == 4 ))) // 減速音開始条件
{
acc_speed_state =2;
mp3_set_volume (gCV58_MP3_Vol);
delay (WAIT_VOLMP3);
mp3_play (303); // 減速音
}
}
//Reset task
gPreviousL6 = millis();
}
2.操作説明 |
スケッチは3.スケッチ記載を参照して、スケッチをMP3サウンドデコーダV6 N18に書き込んでください。
書き込み後はCV8のリセットに1を書き込んでデコーダリセットしてお使いください。
MP3ファイルは5.MicroSDカードへのMP3ファイルの書き込みを参照してMicroSDに書き込んでください。
1.スロットルをゆっくり動かし加速させます。加速音開始閾値を超えると加速音が出力されるので音に合わせて加速させます。 | 2.加速音の範囲は定速音開始閾値(デフォルト値)の場合80のあたりです。 | 3.定速音開始閾値(デフォルト値)の場合80を超えると定速音になります。 |
4.定速音を戻しても減速音開始閾値(デフォルトで60)ぐらいまでは音は定速のままです。 | 5.減速音開始閾値(デフォルトで60)より下がると減速音の開始です。減速音の時間(音で)スロットルを調整します。 | 6.最後に停車時nブレーキ音はブレーキー音開始閾値以下でブレーキ音が再生されます。 |
3.スケッチ |
頒布品については最新のスケッチを書き込んだ状態で動作確認して出荷しておりますので書き込み不要です。
自己責任で改変は自由ですが、自分で解決できる人、Arduinoが分かる人以外はスマイルライターで書き込まないようお願いします。
スケッチは、N18シリーズ専用です。
スケッチはこちらのページを参照ください
スケッチ付属の走行音についてはDesktopstation様、ともん一刻様のご厚意でサンプルに納めさせていただいて
おります。音源の基本的な考え方については OPEN SOUND DATA - 頒布の趣旨と注意事項 に準じます。
基板厚が0.8mmのため従来のSmileWriterのコネクタが1.6mm用であるため使用できません。
対応したSmileWriterはSmiler様のSmileWriter COMBO-Aが対応します。
スケッチ書き込み後の初期設定
アドレス設定
初期アドレス03で動作を確認いただいてからアドレスを変更することをお勧めします。
任意のアドレスを設定してください。アドレスは2,4桁双方での動作を確認しております。
CVの読み書きは、DesktopStation製のCV Read & Writer DSblueboxをお勧めします。
4.CV設定 |
カテゴリ | CV No | CV name | 範囲 | デフォルト | 説明 |
共通 | 1 | ショートアドレス | 0~127 | 3 | 127まで |
モータ | 2 | 開始電圧 | 0~255 | 32 | |
モータ | 3 | 加速率 | 0~16 | 8 | モータの加速度合いを決めます。指令速度のLPF。 |
モータ | 4 | 減速率 | 0~16 | 8 | モータの減速度合いを決めます。指令速度のLPF。 |
モータ | 5 | 最高速度調整 | 0~255 | 200 | |
共通 | 7 | バージョン番号 | 0~255 | - | スケッチのバージョン番号が読み出せます。 |
共通 | 8 | 製造者ID(読み込み) リセット(1を書き込み) |
108 | 1を書くと初期値に戻せます。 読み出すと、製造者ID(108:nagoden)が読み出せます。 |
|
共通 | 17 | ロングアドレス(Low) | 0~255 | 0 | |
共通 | 18 | ロングアドレス(High) | 0~255 | 0 | |
共通 | 29 | 設定 | 2 | 正転/反転 Direction、LongAddress有効無効 | |
モータ | 30 | デコーダモード | 0-1 | 0 | 1でモータ制御なし *1 |
走行音 | 47 | サウンド種別 *1 | 0-7 | 4 | 0:吊掛音1, 1:吊掛音2, 2:吊掛音3, 3:吊掛音4 4:吊掛音5, 5:京急ドレミファ, 6: E231(墜落インバータ), 7:抵抗制御車, 8:東洋VVVF系, 9:E231系(旧) |
走行音 | 48 | レール継ぎ目音 | 0-3 | 2 | 0:継ぎ目音なし、MP3走行音なし 1:継ぎ目音あり、MP3走行音なし 2:継ぎ目音なし、MP3走行音あり 3:継ぎ目音あり、MP3走行音あり レール継ぎ目音は 0101.mp3~0110.mp3再生 |
走行音 | 49 | ノッチオフモード | 0-2 | 0 | 0:ノッチオフ常時なし,1:自動ノッチオフ, 2:手動ノッチオフ(F3でON/OFF ELスケッチのみ) |
走行音 | 50 | 走行音音量ボリューム | 0-8 | 0 | ボリューム 0-8 |
走行音 | 51 | レール継ぎ目音速度 | 0-100 | 100 | |
走行音 | 52 | エンジン音変化タイミング | 1-40 | 8 | 1(エンジン音変化遅い) 40(エンジン音変化速い) DLスケッチ専用 |
モータ | 54 | BEMF速度係数 | 0~127 | 64 | |
モータ | 55 | PI制御 比例項P | 0~255 | 18 | PI調節器の応答性調整用。 |
モータ | 56 | PI制御 積分項I | 0~255 | 96 | PI調節器の平滑調整用。 |
モータ | 57 | BEMFオプション | 0 : OFF 1~Cutoff速度 |
0 | 0のときBEMF無効。カットオフ速度を指定。 |
MP3 | 58 | MP3音量ボリューム | 0-30 | 22 | ボリューム 0-30 大きくしすぎるとスピーカコイルを焼損する可能性があるので注意 |
走行音 | 66 | ブレーキー音開始閾値 | 24 | 指定したスピード値以下になるとブレーキ音0304.mp3を再生 | |
走行音 | 67 | 加速音開始閾値 | 15 | 指定したスピード値以上になると加速音0301.mp3を再生 | |
走行音 | 68 | 定速音開始閾値 | 210 | 指定したスピード値以上になると定速音0302.mp3を再生 | |
走行音 | 69 | 減速音開始閾値 | 170 | 指定したスピード値以下になると減速音0303.mp3を再生 | |
Function | 110 | F0 機能割当 | 0-12 | 1 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 111 | F1 機能割当 | 0-12 | 2 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 112 | F2 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 113 | F3 機能割当 | 0-12 | 10 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 114 | F4 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 115 | F5 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 116 | F6 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 117 | F7 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 118 | F8 機能割当 | 0-12 | 10 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 119 | F9 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 120 | F10 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 121 | F11 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 122 | F12 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 123 | F13 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 124 | F14 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 125 | F15 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 126 | F16 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 127 | F17 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 128 | F18 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 129 | F19 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 130 | F20 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 131 | F21 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 132 | F22 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 133 | F23 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 134 | F24 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 135 | F25 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 136 | F26 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 137 | F27 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
Function | 138 | F28 機能割当 | 0-12 | 0 | 0:OFF 1:F0 2:AUX1 3:AUX2 4:AUX3 5:AUX4 6:未使用 7:未使用 8:未使用(拡張用) 9:未使用(拡張用) 10:MP3 ON/ON 11:MP3 ON/OFF 12:MP3 リピート |
*1 デコーダモード
1を設定することで、走行時のモータ出力を停止します。
1に設定してもCV読み書きのACKでモータ出力はされます。
モータを使わずファンクションのみ使用する場合にCV値の読み書きを可能にするため
抵抗をモータ端子に固定設置可能にするモードです。(この場合は100Ω1/2Wほどの抵抗を設置してください)
CV110~CV138の機能割当で8,9は、ユーザで拡張できるように設けている項目でデフォルトスケッチでは機能しません。
スケッチを修正することで自由に使用できます。
CV110~CV138で同じ機能を複数のファンクションに割り当てた場合、ファンクションのON/OFFで正しく機能しない場合があります。
5. |
Windowsの場合マルチメディア用のドライブもしくはUSBアダプタを使います。
MicroSDの入ったドライブ(この場合リムーバブルディスク)を指定してフォーマットを選びます。
ファイルシステムはFATを選んでフォーマットしてください
2GBより大きく32GB以下の場合はFAT32でのフォーマットが必要です。
複数のフォルダを作成すると正しく動作しません。
作成したフォルダの中に走行音のファイルを置いてください。(ファイル名は固定です)
0301.mp3 加速音
0302.mp3 定速音
0303.mp3 減速音
0304.mp3 ブレーキ音
書き込み順は関係ありません。
お願い
頒布品については、営業を目的とした販売とは位置づけが異なり、お互いの協力や紳士協定で行うことを前提としております。
基板・スケッチの変更・改造を自由に行っていただいてかまいませんが、保障はありませんことご了承ください。
ご質問等はお手数ですが、Desktopstationのフォーラム のスレッド Nagoden(名古屋電鉄) に投稿ください。
(Desktopstation様のご厚意によりDesktopstationフォーラムを使わせていただいております)
掲載内容に基づき作成または改造を行った結果、万一損害が生じても、リンク先のサイトならびに名古屋電鉄では責任を
負いませんので、ご自身の責任の範囲でお願いします。
名古屋電鉄 ホームページ http://www007.upp.so-net.ne.jp/nagoden/
ブログ http://nagoden-diary.blog.so-net.ne.jp/