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で正しく機能しない場合があります。


・CVの書き込み・読み取りはダイレクトモードで可能です。
 Pageモードでも書き込みは可能ですが、ダイレクトモードを推奨します。
・モータの端子に負荷を接続しないと読込みがうまくいかない場合があります。

5.MicroSDカードへのMP3ファイルの書き込み

 MicroSDカードは32GB以下のものを使用してください。 

    MicroSDカードのフォーマット

  Windowsの場合マルチメディア用のドライブもしくはUSBアダプタを使います。
     MicroSDの入ったドライブ(この場合リムーバブルディスク)を指定してフォーマットを選びます。

    

   ファイルシステムはFATを選んでフォーマットしてください (2GB)以下の場合
      2GBより大きく32GB以下の場合はFAT32でのフォーマットが必要です。

              

      フォーマットを行った後は、PCからMP3というディレクトリ(フォルダ)を作成します。
      複数のフォルダを作成すると正しく動作しません。

     

     作成したフォルダの中に走行音のファイルを置いてください。(ファイル名は固定です)
      0301.mp3 加速音
      0302.mp3 定速音
      0303.mp3 減速音
      0304.mp3 ブレーキ音
     書き込み順は関係ありません。

      ※通常のファンクションによるMP3サウンドもCV112~CV138の設定で再生することは可能ですが、走行音と同時に再生することはできません。


   お願い
      頒布品については、営業を目的とした販売とは位置づけが異なり、お互いの協力や紳士協定で行うことを前提としております。
      基板・スケッチの変更・改造を自由に行っていただいてかまいませんが、保障はありませんことご了承ください。

      ご質問等はお手数ですが、Desktopstationのフォーラム のスレッド Nagoden(名古屋電鉄) に投稿ください。
      (Desktopstation様のご厚意によりDesktopstationフォーラムを使わせていただいております)

      掲載内容に基づき作成または改造を行った結果、万一損害が生じても、リンク先のサイトならびに名古屋電鉄では責任を
      負いませんので、ご自身の責任の範囲でお願いします。


     名古屋電鉄  ホームページ http://www007.upp.so-net.ne.jp/nagoden/
                  ブログ  http://nagoden-diary.blog.so-net.ne.jp/


Copyright (c) 名古屋電鉄 http://nagoden.la.coocan.jp/