下にあるコードでコントローラのページにあるソースコードの一部を書き換えるとE231系近郊型の音パターンでNゲージを走らせることが出来ます。書き換える場所は下にある二つのコードの間です。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 音の変更はこの枠より下を書き換え
// 音タイプ公開中:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 音の変更はこの枠より上を書き換え
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
上の二つのコードの間を書き換えるのは次のコードになります。
int startf1=2093;
int endf1= 1397;
int startf2=1397;
int endf2=2349;
int startf3=660;
int endf3=1000;
if(val>=0&&val<=9){
// モード指定
duty=1.6*duty;
frq=2093;
}
if(val>9&&val<=110){
duty=duty+0.2;
frq=2093;
// TOP値指定
}
if(val>110&&val<=250){
duty=duty+0.15;
frq =-(float)val*4.97+2639.85;
}
if(val>250&&val<=300){
duty=duty+0.1;
frq = -(float)val*(startf2-endf2)/50+(30*startf2-25*endf2)/5;
}
if(val>300&&val<=850){
frq=-(float)val*(startf3-endf3)/550+(85*startf3-30*endf3)/55;
}
if(val>850&&val<=1024){
frq=1175;
}
OCR1A = (unsigned int)(1000000 / frq);
OCR1B = (unsigned int)(1000000 / frq * duty);
}



