{"id":199,"date":"2020-05-24T14:56:52","date_gmt":"2020-05-24T05:56:52","guid":{"rendered":"https:\/\/pwm.sigris-rabo.work\/?page_id=199"},"modified":"2022-07-15T01:35:25","modified_gmt":"2022-07-14T16:35:25","slug":"master-controller%e5%b0%82%e7%94%a8%e3%83%91%e3%83%af%e3%83%bc%e3%83%91%e3%83%83%e3%82%af","status":"publish","type":"page","link":"https:\/\/pwm.sigris-rabo.work\/?page_id=199","title":{"rendered":"Master Controller1\u30fb2\u5c02\u7528\u30d1\u30ef\u30fc\u30d1\u30c3\u30af"},"content":{"rendered":"<p>Master Controller for Train Simulator\uff08\u30ef\u30f3\u30cf\u30f3\u30c9\u30eb\u306e\u3082\u306e\u3001\u4ee5\u4e0bTS\u30de\u30b9\u30b3\u30f3\uff09\u304a\u3088\u3073\u3001<\/p>\n<p>Master Controller for Train Simulator2\uff08\u30c4\u30fc\u30cf\u30f3\u30c9\u30eb\u306e\u3082\u306e\u3001\u4ee5\u4e0bTS\u30de\u30b9\u30b3\u30f32\uff09\u3092\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u3068\u3057\u3066\u5229\u7528\u3059\u308b\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u3092\u88fd\u4f5c\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u30ce\u30fc\u30de\u30eb\u306a\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u3068\u57fa\u672c\u7684\u306b\u56de\u8def\u306f\u540c\u4e00\u3067\u3059\u304c\u3001<span style=\"color: red;\">\u5f53\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u5358\u4f53\u3067\u306e\u904b\u8ee2\u306f\u3067\u304d\u307e\u305b\u3093<\/span>\u306e\u3067\u3054\u6ce8\u610f\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u307e\u305f\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u4e0b\u306b\u64cd\u4f5c\u65b9\u6cd5\u304a\u3088\u3073\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u63b2\u8f09\u3057\u3066\u304a\u308a\u307e\u3059\u306e\u3067\u3001\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<h2>\u56de\u8def\u56f3<\/h2>\n<p>\u753b\u50cf\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u62e1\u5927\u8868\u793a\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u6ce81\uff1a<\/p>\n<p><del>\u7dda\u8def\u51fa\u529b\u306e\u5236\u5fa1\u306b\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u56de\u8def\u56f3\u304a\u3088\u3073\u5b9f\u4f53\u914d\u7dda\u56f3\u3067\u306f\u7701\u7565\u3057\u3066\u3044\u307e\u3059\u3002<\/del><\/p>\n<p><del>\u4f7f\u7528\u3059\u308b\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u5408\u308f\u305b\u3001\u9069\u5b9c\u7d50\u7dda\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/del><\/p>\n<p>\uff1c2020\/09\/17\u3000\u8ffd\u8a18\uff1e<\/p>\n<p>\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u914d\u7dda\u56f3\uff08\u4f8b\uff09\u3092\u7528\u610f\u3057\u307e\u3057\u305f\u3002\u307e\u305f\u56de\u8def\u56f3\u306e\u7dda\u8def\u51fa\u529b\u90e8\u3092\u8a02\u6b63\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u56de\u8def\u56f3\u5185\u300c\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u300d\uff1d\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u914d\u7dda\u56f3\u5185\u300c\u51fa\u529b\u300d\u3067\u3059\u3002<\/p>\n<p>\uff1c2021\/07\/29\u3000\u8ffd\u8a18\uff1e<\/p>\n<p>\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u914d\u7dda\u56f3\u3068\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u5185\u5b9a\u6570\u306b\u3064\u3044\u3066\u3001\u6bcd\u7dda\u5236\u5fa1\u21d4P_BOSEN\u3001\u65b9\u5411\u5236\u5fa1\u21d4P_DIREC\u306b\u305d\u308c\u305e\u308c\u5bfe\u5fdc\u3057\u307e\u3059\u3002<\/p>\n<p>\u521d\u671f\u8a2d\u5b9a\u3067\u306fP_BOSEN\u306fD12\u30d4\u30f3\u3001P_DIREC\u306fD13\u30d4\u30f3\u306b\u8a2d\u5b9a\u3057\u3066\u3042\u308a\u307e\u3059\u3002\u4e0d\u90fd\u5408\u304c\u3042\u308b\u5834\u5408\u306f\u9069\u5b9c\u5909\u66f4\u3057\u3066\u4e0b\u3055\u3044\u3002<\/p>\n<p><a href=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/09\/2b072c3333646fde610951b1f2cba326.png\"><img loading=\"lazy\" class=\"aligncenter wp-image-221 size-full\" src=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/09\/2b072c3333646fde610951b1f2cba326.png\" alt=\"\" width=\"835\" height=\"801\" srcset=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/09\/2b072c3333646fde610951b1f2cba326.png 835w, https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/09\/2b072c3333646fde610951b1f2cba326-300x288.png 300w, https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/09\/2b072c3333646fde610951b1f2cba326-768x737.png 768w\" sizes=\"(max-width: 835px) 100vw, 835px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><del>\u8a66\u4f5c\u6642\u306b\u4f7f\u7528\u3057\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u3053\u3061\u3089\u3067\u3059\u3002\uff08Amazon\u306b\u98db\u3073\u307e\u3059\uff09<\/del><\/p>\n<p>\uff1c2020\/07\/04\u3000\u8ffd\u8a18\uff1e<\/p>\n<p>\u8a66\u4f5c\u6642\u306b\u4f7f\u7528\u3057\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8ca9\u58f2\u304c\u7d42\u4e86\u3057\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u4ee3\u66ff\u54c1\u3067\u3059\u304c\u30015V\u5236\u5fa1\u304b\u306412V 2A\u4ee5\u4e0a\u306e\u8010\u5727\u30674\u56de\u8def\u306e\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u63a8\u5968\u3057\u307e\u3059\u3002<\/p>\n<p>\uff08Amazon\u3067\u300c\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u300d\u3068\u691c\u7d22\u3059\u308b\u3068\u8272\u3005\u51fa\u3066\u304d\u307e\u3059\uff09<\/p>\n<p>\u203b\u5b9f\u969b\u306b\u4f7f\u7528\u3059\u308b\u306e\u306f3\u56de\u8def\u3060\u3051\u3067\u3059\u304c\u30013\u56de\u8def\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u7121\u3044\u306e\u30674\u56de\u8def\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u4ee3\u7528\u3057\u307e\u3059\u30021\u56de\u8def\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u8907\u6570\u4f7f\u3046\u306e\u3082\u624b\u3067\u3059\u304c\u3001\u96fb\u6e90\u30e9\u30a4\u30f3\u3092\u30e2\u30b8\u30e5\u30fc\u30eb\u6570\u3060\u3051\u7528\u610f\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001\u624b\u9593\u304c\u5897\u3048\u308b\u3060\u3051\u306a\u306e\u3067\u975e\u63a8\u5968\u5f53\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u306e\u30b3\u30fc\u30c9\u306f\u6b63\u8ad6\u7406\u30fb\u8ca0\u8ad6\u7406\u3069\u3061\u3089\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u3082\u5bfe\u5fdc\u3067\u304d\u308b\u3088\u3046\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3057\u3066\u3042\u308a\u307e\u3059\u306e\u3067\u3001\u4e0a\u8a18\u306e\u6761\u4ef6\u3092\u6e80\u305f\u3059\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3042\u308c\u3070\u4f55\u3067\u3082\u4f7f\u7528\u51fa\u6765\u307e\u3059\u3002<\/p>\n<p>\u306a\u306e\u3067\u3001\u691c\u7d22\u6642\u306b\u4e0a\u8a18\u306e\u6761\u4ef6\u3092\u6e80\u305f\u3059\u4e00\u756a\u5b89\u3044\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u4f7f\u3046\u306e\u304c\u826f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u306a\u304a\u3001\u30d1\u30ef\u30fc\u4e0d\u8db3\u306b\u3088\u308aArduino\u304b\u3089\u30ea\u30ec\u30fc\u306e\u76f4\u63a5\u99c6\u52d5\u306f\u4e0d\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<p>\u5fc5\u305a\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u4f7f\u3046\u3088\u3046\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u6ce82\uff1a<\/p>\n<p>RS232C\u5909\u63db\u57fa\u677f\u306f\u79cb\u6708\u96fb\u5b50\u3067\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308b<a href=\"https:\/\/akizukidenshi.com\/catalog\/g\/gK-06464\/\">\u3053\u3061\u3089<\/a>\u3092\u63a8\u5968\u3057\u307e\u3059\u3002\uff08\u90e8\u54c1\u4e00\u89a7\u306b\u3082\u8f09\u305b\u3066\u3044\u307e\u3059\uff09<\/p>\n<p>RS232\u306e\u63a5\u7d9a\u65b9\u6cd5\uff08TS\u30de\u30b9\u30b3\u30f3\u3068\u306e\u63a5\u7d9a\u65b9\u6cd5\uff09\u306f\u5927\u304d\u304f\u5206\u3051\u30662\u7a2e\u985e\u8003\u3048\u3089\u308c\u307e\u3059\u3002<\/p>\n<p>1.\u3000\u56de\u8def\u57fa\u677f\u30fcRS232\u5909\u63db\u57fa\u677f\u9593\uff085V\u7cfb\uff09\u3092\u30b7\u30fc\u30eb\u30c9\u7dda\u3067\u7d50\u7dda\u3057\u3001RS232\u5909\u63db\u57fa\u677f\uff08RS232\u30ec\u30d9\u30eb\uff09\u30fcD-sub 9Pin\u30e1\u30b9\u30b3\u30cd\u30af\u30bf\u3092\u76f4\u7d50\u3055\u305b\u308b\u3053\u3068\u3067\u3001\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u304b\u3089TS\u30de\u30b9\u30b3\u30f3\u306eRS232\uff08D-sub 9Pin\u30aa\u30b9\uff09\u306b\u76f4\u63a5\u63a5\u7d9a\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u65b9\u6cd5<\/p>\n<p>\u3053\u306e\u65b9\u6cd5\u306fRS232\u5909\u63db\u57fa\u677f\uff08RS232\u30ec\u30d9\u30eb\uff09\u30fcD-sub 9Pin\u30e1\u30b9\u30b3\u30cd\u30af\u30bf\u9593\u306eTXD\u3068RXD\u306b\u3064\u3044\u3066\u306f\u5909\u63db\u57fa\u677f\u306e\u30d1\u30bf\u30fc\u30f3\u3068\u30b3\u30cd\u30af\u30bf\u7aef\u5b50\u304c\u77ed\u7d61\u3057\u306a\u3044\u3088\u3046\u306b\u51e6\u7406\u306e\u4e0a\u3001\u5225\u9014\u5c0e\u7dda\u3067\u30af\u30ed\u30b9\u3055\u305b\u3066\u63a5\u7d9a\u3059\u308b\u7b49\u306e\u5bfe\u5fdc\u304c\u5fc5\u8981\u3067\u3059\u304c\u3001\u5909\u63db\u57fa\u677f\u53ca\u3073\u30b3\u30cd\u30af\u30bf\u3092\u30b7\u30a7\u30eb\u306b\u53ce\u3081\u308b\u3053\u3068\u304c\u51fa\u6765\u308b\u4ed6\u3001\u5b8c\u6210\u5f8c\u306e\u63a5\u7d9a\u30df\u30b9\u304c\u7121\u304f\u306a\u308b\u3001\u30b1\u30fc\u30d6\u30eb\u9577\u3092\u81ea\u5206\u3067\u8abf\u6574\u3067\u304d\u308b\u7b49\u306e\u5229\u70b9\u304c\u3042\u308b\u305f\u3081\u304a\u3059\u3059\u3081\u3067\u3059\u3002<\/p>\n<p>\u306a\u304a\u3001\u30b7\u30fc\u30eb\u30c9\u7dda\u306e\u9577\u3055\u306f\uff5e2m\u7a0b\u5ea6\u3092\u63a8\u5968\u3057\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>2.\u3000\u56de\u8def\u57fa\u677f\u30fcRS232\u5909\u63db\u57fa\u677f\u9593\uff085V\u7cfb\uff09\u306f\u30d4\u30f3\u30d8\u30c3\u30c0\u3084\u306f\u3093\u3060\u4ed8\u3051\u7b49\u3067\u56de\u8def\u57fa\u677f\u306b\u76f4\u63a5\u7d50\u7dda\u3057\u3001RS232\u5909\u63db\u57fa\u677f\uff08RS232\u30ec\u30d9\u30eb\uff09\u5074\u306fD-sub 9Pin\u30aa\u30b9\u30b3\u30cd\u30af\u30bf\u306b\u7d50\u7dda\u3059\u308b\u3053\u3068\u3067\u3001\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u30fcTS\u30de\u30b9\u30b3\u30f3\u306eRS232\uff08D-sub 9Pin\u30aa\u30b9\uff09\u9593\u306e\u63a5\u7d9a\u3092\u5e02\u8ca9\u306eRS232\u30b1\u30fc\u30d6\u30eb\u3067\u51fa\u6765\u308b\u3088\u3046\u306b\u3059\u308b\u65b9\u6cd5<\/p>\n<p>\u8981\u306f\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u5074\u3082\u30aa\u30b9\u30b3\u30cd\u30af\u30bf\u3068\u3057\u3066\u3001TS\u30de\u30b9\u30b3\u30f3\u3068\u306e\u63a5\u7d9a\u306b\u5e02\u8ca9\u306eRS232\u30b1\u30fc\u30d6\u30eb\u3092\u7528\u3044\u308b\u65b9\u6cd5\u3067\u3059\u3002\u7b50\u4f53\u304b\u3089\u30b1\u30fc\u30d6\u30eb\u304c\u51fa\u306a\u3044\u306e\u3067\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u81ea\u4f53\u306f\u30b9\u30de\u30fc\u30c8\u306a\u5916\u898b\u3068\u306a\u308a\u307e\u3059\u304c\u3001\u57fa\u677f\u30fc\u30aa\u30b9\u30b3\u30cd\u30af\u30bf\u306e\u7d50\u7dda\u65b9\u6cd5\u306b\u3088\u308a\u30b9\u30c8\u30ec\u30fc\u30c8\u30fb\u30af\u30ed\u30b9\u304c\u5909\u308f\u3063\u3066\u3057\u307e\u3046\uff08\u5fc5\u8981\u306aRS232\u30b1\u30fc\u30d6\u30eb\u306e\u7a2e\u985e\u304c\u5909\u308f\u3063\u3066\u3057\u307e\u3046\uff09\u3001\u30b3\u30cd\u30af\u30bf\u90e8\u306b\u8ca0\u8377\u304c\u304b\u304b\u308b\u305f\u3081\u5f37\u5ea6\u8a2d\u8a08\u3092\u3057\u3063\u304b\u308a\u3057\u3066\u304a\u304b\u306a\u3044\u3068\u5c06\u6765\u7684\u306b\u6545\u969c\u3092\u5f15\u304d\u8d77\u3053\u3059\u53ef\u80fd\u6027\u304c\u3042\u308b\u3068\u3044\u3046\u6b20\u70b9\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u57fa\u672c\u7684\u306b\u306f1.\u306e\u65b9\u6cd5\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002\u4e00\u5ea6\u5b8c\u6210\u3055\u305b\u308c\u3070\u3001\u305d\u306e\u5f8c\u306f\u63a5\u7d9a\u3067\u8ff7\u3046\u3053\u3068\u304c\u7121\u304f\u306a\u308b\u305f\u3081\u3067\u3059\u3002<\/p>\n<p>\u306a\u304a\u3001\u3069\u3061\u3089\u306e\u5834\u5408\u3067\u3082\u3001Arduino\u306e\u30b7\u30ea\u30a2\u30eb\u7aef\u5b50\u3068\u5909\u63db\u57fa\u677f\u3092\u76f4\u7d50\u3055\u305b\u308b\u3068PC\u30fcArduino\u9593\u306e\u901a\u4fe1\u304c\u963b\u5bb3\u3055\u308c\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u66f8\u304d\u63db\u3048\u6642\u306b\u6bce\u56deArduino\u3092\u56de\u8def\u304b\u3089\u53d6\u308a\u5916\u3055\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3068\u3044\u3046\u624b\u9593\u304c\u751f\u3058\u307e\u3059\u3002\u3053\u306e\u624b\u9593\u3092\u907f\u3051\u305f\u3044\u5834\u5408\u306f\u3001\u30c8\u30b0\u30eb\u30b9\u30a4\u30c3\u30c1\u7b49\u3067Arduino\u306e\u30b7\u30ea\u30a2\u30eb\u7aef\u5b50\u3068\u5909\u63db\u57fa\u677f\u9593\u306e\u63a5\u7d9a\u3092\u7269\u7406\u7684\u306b\u5207\u65ad\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3066\u304a\u304f\u3068\u826f\u3044\u304b\u3068\u601d\u3044\u307e\u3059\u3002\u307e\u3042\u901a\u4fe1\u8def\u306b\u7570\u7269\u304c\u5165\u308b\u4e8b\u306b\u306a\u308b\u306e\u3067\u3001\u901a\u4fe1\u30a8\u30e9\u30fc\u304c\u5897\u3048\u308b\u53ef\u80fd\u6027\u3082\u3042\u308a\u307e\u3059\u304c\u2026\u2026\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/09\/pp_TSMC_sircuit_re.png\"><img loading=\"lazy\" class=\"aligncenter wp-image-219 size-large\" src=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/09\/pp_TSMC_sircuit_re-1024x492.png\" alt=\"\" width=\"750\" height=\"360\" srcset=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/09\/pp_TSMC_sircuit_re-1024x492.png 1024w, https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/09\/pp_TSMC_sircuit_re-300x144.png 300w, https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/09\/pp_TSMC_sircuit_re-768x369.png 768w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u5b9f\u4f53\u914d\u7dda\u56f3\u306f\u3053\u3061\u3089\u3067\u3059\u3002<\/p>\n<p>\uff1c2021\/07\/19\u3000\u8ffd\u8a18\uff1e<\/p>\n<p>\u5b9f\u4f53\u914d\u7dda\u56f3\u306b\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u51fa\u529b\u90e8\u306e\u8868\u8a18\u304c\u7121\u304b\u3063\u305f\u305f\u3081\u4fee\u6b63\u3057\u307e\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2021\/07\/jittai_TS.png\"><img loading=\"lazy\" class=\"aligncenter wp-image-291 size-full\" src=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2021\/07\/jittai_TS.png\" alt=\"\" width=\"510\" height=\"374\" srcset=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2021\/07\/jittai_TS.png 510w, https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2021\/07\/jittai_TS-300x220.png 300w\" sizes=\"(max-width: 510px) 100vw, 510px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>\u90e8\u54c1\u4e00\u89a7<\/h2>\n<p>\u56de\u8def\u306b\u5fc5\u8981\u306a\u90e8\u54c1\u306e\u307f\u63b2\u8f09\u3057\u3066\u304a\u308a\u307e\u3059\u3002\u57fa\u677f\u3001\u30d4\u30f3\u30bd\u30b1\u30c3\u30c8\u3001\u7b50\u4f53\u7b49\u306f\u5225\u9014\u3054\u7528\u610f\u4e0b\u3055\u3044\u3002<\/p>\n<p>\u307e\u305f\u3001\u56de\u8def\u56f3\u30fb\u90e8\u54c1\u4e00\u89a7\u306b\u306f\u8a18\u8f09\u3057\u3066\u304a\u308a\u307e\u305b\u3093\u304c470pF\u306e\u30b3\u30f3\u30c7\u30f3\u30b5\u3092SB340LS\u3068\u4e26\u5217\u306b\u63a5\u7d9a\u3059\u308b\u4e8b\u3067\u3001\u5217\u8eca\u306e\u52d5\u304d\u304c\u591a\u5c11\u6ed1\u3089\u304b\u306b\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u5217\u8eca\u306e\u6319\u52d5\u306b\u5fdc\u3058\u3066\u4f7f\u7528\u3059\u308b\u304b\u5426\u304b\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u306a\u304a\u3001RS232C\u7528\u30b1\u30fc\u30d6\u30eb\u3067\u3059\u304c1m\u7a0b\u5ea6\u306a\u3089\u30b7\u30fc\u30eb\u30c9\u7dda\u3067\u306a\u304f\u3066\u3082\u554f\u984c\u306a\u3044\u3088\u3046\u3067\u3059\u3002\uff08\u6b63\u5e38\u306b\u901a\u4fe1\u3067\u304d\u307e\u3057\u305f\uff09<\/p>\n<p>\u5fc3\u914d\u306a\u65b9\u3084\u30b1\u30fc\u30d6\u30eb\u3092\u9577\u3081\u306b\u3059\u308b\u5834\u5408\u306f\u30b7\u30fc\u30eb\u30c9\u7dda\u306e\u65b9\u304c\u826f\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<p><a href=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/05\/d5e64de2f10c290caac6a59a32598f4f.png\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-202\" src=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/05\/d5e64de2f10c290caac6a59a32598f4f.png\" alt=\"\" width=\"961\" height=\"491\" srcset=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/05\/d5e64de2f10c290caac6a59a32598f4f.png 961w, https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/05\/d5e64de2f10c290caac6a59a32598f4f-300x153.png 300w, https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/05\/d5e64de2f10c290caac6a59a32598f4f-768x392.png 768w\" sizes=\"(max-width: 961px) 100vw, 961px\" \/><\/a><\/p>\n<h2>\u904b\u8ee2\u65b9\u6cd5<\/h2>\n<p>\u4ee5\u4e0b\u306b\u64cd\u4f5c\u65b9\u6cd5\u304a\u3088\u3073\u904b\u8ee2\u65b9\u6cd5\u3092\u8a18\u8f09\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\u64cd\u4f5c\u306f\u4e0a\u304b\u3089\u9806\u306b\u884c\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>\uff1c\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u8d77\u52d5\u524d\uff1e<\/h3>\n<h4>1.\u3000\u30ce\u30c3\u30c1\u6bb5\u6570\u306e\u8a2d\u5b9a<\/h4>\n<h5>1-A.\u3000TS\u30de\u30b9\u30b3\u30f3\u306e\u5834\u5408<\/h5>\n<p>TS\u30de\u30b9\u30b3\u30f3\u306e\u6bb5\u6570\u8a2d\u5b9a\uff08\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\uff09\u306b\u306fTYPE A\uff5eH\u306e8\u30bf\u30a4\u30d7\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>TS\u30de\u30b9\u30b3\u30f3\u88cf\u9762\u3067\u6bb5\u6570\u3092\u8a2d\u5b9a\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>&nbsp;<\/p>\n<h5>1-B.\u3000TS\u30de\u30b9\u30b3\u30f32\u306e\u5834\u5408<\/h5>\n<p>\u7b50\u4f53\u5de6\u53f3\u306e\u30cf\u30f3\u30c9\u30eb\u3067TS\u30de\u30b9\u30b3\u30f32\u306e\u30de\u30b9\u30b3\u30f3\u6bb5\u6570\u304a\u3088\u3073\u30d6\u30ec\u30fc\u30ad\u6bb5\u6570\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h4>2.\u3000\u30ad\u30e3\u30ea\u30d6\u30ec\u30fc\u30b7\u30e7\u30f3<\/h4>\n<p>TS\u30de\u30b9\u30b3\u30f3\u7b49\u306e\u96fb\u6e90\u3092\u5165\u308c\u305f\u5f8c\u3001\u6bb5\u6570\u3092N\u4f4d\u7f6e\u306b\u3057\u305f\u72b6\u614b\u3067A\u3001B\u3001C\u3001S\u30dc\u30bf\u30f3\uff08\u5168\u30dc\u30bf\u30f3\uff09\u3092\u540c\u6642\u62bc\u3057\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u64cd\u4f5c\u3067\u30de\u30b9\u30b3\u30f3\u306e\u4f4d\u7f6e\u3092\u30ad\u30e3\u30ea\u30d6\u30ec\u30fc\u30b7\u30e7\u30f3\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h4>3.\u3000\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u8d77\u52d5<\/h4>\n<p>\u5c02\u7528\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u3068TS\u30de\u30b9\u30b3\u30f3\u7b49\u3092\u63a5\u7d9a\u3057\u3001\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u306e\u96fb\u6e90\u3092\u5165\u308c\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>\uff1c\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u8d77\u52d5\u5f8c\uff1e<\/h3>\n<h4>1.\u3000\u4f7f\u7528\u30de\u30b9\u30b3\u30f3\u306e\u8a2d\u5b9a<\/h4>\n<p>TS\u30de\u30b9\u30b3\u30f3\u3068TS\u30de\u30b9\u30b3\u30f32\u306e\u3069\u3061\u3089\u3092\u4f7f\u7528\u3059\u308b\u304b\u9078\u629e\u3057\u307e\u3059\u3002<\/p>\n<p>TS\u30de\u30b9\u30b3\u30f3\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306f\u300c1Handle\u300d\u3092\u3001TS\u30de\u30b9\u30b3\u30f32\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306f\u300c2Handle\u300d\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>TS\u30de\u30b9\u30b3\u30f3\u7b49\u306eA\u3001C\u30dc\u30bf\u30f3\u3067\u9078\u629e\u3057\u3001S\u30dc\u30bf\u30f3\u3067\u6c7a\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>\uff08A\u3001C\u30dc\u30bf\u30f3\u3067\u300c\uff1e\u300d\u30ab\u30fc\u30bd\u30eb\u3092\u3069\u3061\u3089\u304b\u306b\u5408\u308f\u305b\u307e\u3059\uff09<\/p>\n<p>\u8a2d\u5b9a\u4f8b\uff1a<\/p>\n<p>TS\u30de\u30b9\u30b3\u30f3\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u00a0 \u300c\uff1e1Handle\u30002Handle\u300d\u3068\u8868\u793a\u3055\u308c\u305f\u72b6\u614b\u3067S\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u6c7a\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>TS\u30de\u30b9\u30b3\u30f32\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u300c\u30001Handle\uff1e2Handle\u300d\u3068\u8868\u793a\u3055\u308c\u305f\u72b6\u614b\u3067S\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u6c7a\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h4>2.\u3000\u30ce\u30c3\u30c1\u6bb5\u6570\u306e\u8a2d\u5b9a<\/h4>\n<h5>2-A.\u3000TS\u30de\u30b9\u30b3\u30f3\u306e\u5834\u5408<\/h5>\n<p>\u3042\u3089\u304b\u3058\u3081TS\u30de\u30b9\u30b3\u30f3\u3067\u8a2d\u5b9a\u3057\u305f\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\uff08TYPE A\uff5eH\uff09\u3092\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>TS\u30de\u30b9\u30b3\u30f3\u306eA\u3001C\u30dc\u30bf\u30f3\u3067A\uff5eH\u306e\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8\u3092\u9078\u629e\u3057\u3001S\u30dc\u30bf\u30f3\u3067\u6c7a\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>\u8a2d\u5b9a\u4f8b\uff1a<\/p>\n<p>TYPE C\u3092\u8a2d\u5b9a\u3059\u308b\u5834\u5408\u3001\u300cSET MASCONTYPE:C\u300d\u3068\u8868\u793a\u3055\u308c\u305f\u72b6\u614b\u3067S\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u6c7a\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h5>2-B.\u3000TS\u30de\u30b9\u30b3\u30f32\u306e\u5834\u5408<\/h5>\n<h6>2-B-1.\u3000\u30de\u30b9\u30b3\u30f3\u6bb5\u6570\u306e\u8a2d\u5b9a<\/h6>\n<p>TS\u30de\u30b9\u30b3\u30f32\u306eA\u3001C\u30dc\u30bf\u30f3\u3067P3\uff5eP6\u3092\u7b50\u4f53\u5de6\u306e\u30cf\u30f3\u30c9\u30eb\u306e\u6570\u5b57\u306b\u5408\u308f\u305b\u3066\u9078\u629e\u3057\u3001S\u30dc\u30bf\u30f3\u3067\u6c7a\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>\u8a2d\u5b9a\u4f8b\uff1a<\/p>\n<p>\u30de\u30b9\u30b3\u30f3\u6bb5\u6570\u30925\u6bb5\uff08\u7b50\u4f53\u5de6\u306e\u30cf\u30f3\u30c9\u30eb\u304c\u300c5\u300d\u3092\u6307\u3057\u3066\u3044\u308b\uff09\u306b\u8a2d\u5b9a\u3059\u308b\u5834\u5408\u3001\u300cMAX-NOTCH:P5\u300d\u3068\u8868\u793a\u3055\u308c\u305f\u72b6\u614b\u3067S\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u6c7a\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>\u203b\u300cEX\u300d\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u306f\u300cP6\u300d\u306b\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<h6>2-B-2.\u3000\u30d6\u30ec\u30fc\u30ad\u6bb5\u6570\u306e\u8a2d\u5b9a<\/h6>\n<p>TS\u30de\u30b9\u30b3\u30f32\u306eA\u3001C\u30dc\u30bf\u30f3\u3067B5\uff5eB8\u3092\u7b50\u4f53\u53f3\u306e\u30cf\u30f3\u30c9\u30eb\u306e\u6570\u5b57\u306b\u5408\u308f\u305b\u3066\u9078\u629e\u3057\u3001S\u30dc\u30bf\u30f3\u3067\u6c7a\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>\u8a2d\u5b9a\u4f8b\uff1a<\/p>\n<p>\u30d6\u30ec\u30fc\u30ad\u6bb5\u6570\u30927\u6bb5\uff08\u7b50\u4f53\u53f3\u306e\u30cf\u30f3\u30c9\u30eb\u304c\u300c7\u300d\u3092\u6307\u3057\u3066\u3044\u308b\uff09\u306b\u8a2d\u5b9a\u3059\u308b\u5834\u5408\u3001\u300cMAX-BRAKE:B7\u300d\u3068\u8868\u793a\u3055\u308c\u305f\u72b6\u614b\u3067S\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u6c7a\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>\u203b\u300cEX\u300d\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u306f\u300cB8\u300d\u306b\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<h4>2.\u3000\u8d70\u884c\u97f3\u8a2d\u5b9a<\/h4>\n<p>\u8d70\u884c\u97f3\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>TS\u30de\u30b9\u30b3\u30f3\u7b49\u306eA\u3001C\u30dc\u30bf\u30f3\u3067\u9078\u629e\u3057\u3001S\u30dc\u30bf\u30f3\u3067\u6c7a\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h4>3.\u3000\u904b\u8ee2<\/h4>\n<p>\u4ee5\u4e0a\u306e\u64cd\u4f5c\u3092\u3059\u3079\u3066\u7d42\u3048\u308b\u3068\u3001\u904b\u8ee2\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u5217\u8eca\u306e\u9032\u884c\u65b9\u5411\u306fTS\u30de\u30b9\u30b3\u30f3\u7b49\u306e\u30ec\u30d0\u30fc\u30b5\u3067\u5236\u5fa1\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<p>\u904b\u8ee2\u4e2d\u306f\u4ee5\u4e0b\u306e\u64cd\u4f5c\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u30fb\u30ec\u30d0\u30fc\u30b5\u2026\u2026\u9032\u884c\u65b9\u5411\u306e\u5236\u5fa1\uff08N\u4f4d\u7f6e\u3067\u306f\u7dda\u8def\u3078\u306e\u96fb\u6e90\u4f9b\u7d66\u304c\u6b62\u307e\u308a\u307e\u3059\uff09<\/p>\n<p>\u30fb\u30de\u30b9\u30b3\u30f3\/\u30d6\u30ec\u30fc\u30ad\u30cf\u30f3\u30c9\u30eb\u2026\u2026\u5217\u8eca\u5236\u5fa1\uff08\u73fe\u5728\u306e\u30ce\u30c3\u30c1\u6bb5\u6570\u304c\u5e38\u6642LCD\u306b\u8868\u793a\u3055\u308c\u307e\u3059\uff09<\/p>\n<p>\u30fbS\u30dc\u30bf\u30f3\u2026\u2026\u8d70\u884c\u97f3\u306e\u518d\u8a2d\u5b9a\uff08<span style=\"color: red;\">\u505c\u8eca\u4e2d\u306e\u307f\u52d5\u4f5c<\/span>\u3002\u8d70\u884c\u4e2d\u306fS\u30dc\u30bf\u30f3\u304c\u7121\u53cd\u5fdc\u306b\u306a\u308a\u307e\u3059\uff09<\/p>\n<p>\u30fbA\u30dc\u30bf\u30f3\u3001B\u30dc\u30bf\u30f3\u2026\u2026\u5272\u308a\u5f53\u3066\u306a\u3057<\/p>\n<p>\u30fb<span style=\"color: red;\">C\u30dc\u30bf\u30f3\u2026\u2026\u975e\u5e38\u505c\u6b62<\/span>\uff08\u7dda\u8def\u3078\u306e\u96fb\u6e90\u4f9b\u7d66\u304c\u6b62\u307e\u308a\u307e\u3059\uff09<\/p>\n<p>\u3082\u3046\u4e00\u5ea6C\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u5fa9\u5e30\u3057\u307e\u3059\u3002\u306a\u304a\u3001\u975e\u5e38\u505c\u6b62\u4e2d\u306f\u300cNOW STOPPING\u300d\u3068\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u307e\u305f\u3001V2.10\u3088\u308a\u8aa4\u767a\u9032\u9632\u6b62\u6a5f\u80fd\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u8d70\u884c\u97f3\u306e\u8a2d\u5b9a\u5f8c\u304a\u3088\u3073\u975e\u5e38\u505c\u6b62\u304b\u3089\u306e\u5fa9\u5e30\u5f8c\u306b\u300cPls Apply BRAKE.\u300d\u3068\u8868\u793a\u3055\u308c\u305f\u5834\u5408\u3001\u30ce\u30c3\u30c1\u3092\u30d6\u30ec\u30fc\u30ad\u4f4d\u7f6e\u306b\u5165\u308c\u308b\u3053\u3068\u3067\u904b\u8ee2\u304c\u53ef\u80fd\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h2>\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0<\/h2>\n<p>\u30fb\u96fb\u6e90\u304c\u4ed8\u304b\u306a\u3044<\/p>\n<p>\u2192AC\u30a2\u30c0\u30d7\u30bf\u304c\u523a\u3055\u3063\u3066\u3044\u308b\u304b\u3001\u96fb\u6e90\u30b9\u30a4\u30c3\u30c1\u3092\u5165\u306b\u3057\u3066\u3044\u308b\u304b\u3001\u56de\u8def\u304c\u6b63\u3057\u304f\u7d44\u3081\u3066\u3044\u308b\u304b\u3001\u306f\u3093\u3060\u4ed8\u3051\u304c\u9069\u5207\u306b\u884c\u308f\u308c\u3066\u3044\u308b\u304b\u3001\u65ad\u7dda\u306a\u3069\u306f\u306a\u3044\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u30fb\u6db2\u6676\uff08LCD\uff09\u304c\u8868\u793a\u3055\u308c\u306a\u3044<\/p>\n<p>\u2192LCD\u8f1d\u5ea6\u3092\u9069\u5207\u306b\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u8f1d\u5ea6\u3064\u307e\u307f\u3092\u56de\u3057\u3066\u3082\u8868\u793a\u3055\u308c\u306a\u3044\u5834\u5408\u306f\u56de\u8def\u304c\u6b63\u3057\u304f\u7d44\u3081\u3066\u3044\u308b\u304b\u3001\u306f\u3093\u3060\u4ed8\u3051\u304c\u9069\u5207\u306b\u884c\u308f\u308c\u3066\u3044\u308b\u304b\u3001\u65ad\u7dda\u306a\u3069\u306f\u306a\u3044\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u30fb\u6db2\u6676\uff08LCD\uff09\u306e\u8868\u793a\u304c\u304a\u304b\u3057\u3044<\/p>\n<p>\u2192\u96fb\u6e90\u3092\u5165\u308c\u306a\u304a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u96fb\u6e90\u3092\u4f55\u56de\u304b\u5165\u308c\u306a\u304a\u3057\u3066\u3082\u6539\u5584\u3055\u308c\u306a\u3044\u5834\u5408\u3001\u56de\u8def\u304c\u6b63\u3057\u304f\u7d44\u3081\u3066\u3044\u308b\u304b\u3001\u306f\u3093\u3060\u4ed8\u3051\u304c\u9069\u5207\u306b\u884c\u308f\u308c\u3066\u3044\u308b\u304b\u3001\u65ad\u7dda\u306a\u3069\u306f\u306a\u3044\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u30fbTS\u30de\u30b9\u30b3\u30f3\u7b49\u306e\u64cd\u4f5c\u304c\u53cd\u6620\u3055\u308c\u306a\u3044<\/p>\n<p>\u2192RS232C\u7aef\u5b50\u3092TS\u30de\u30b9\u30b3\u30f3\u7b49\u306b\u304d\u3061\u3093\u3068\u523a\u3057\u3066\u3044\u308b\u304b\u3001\u30e1\u30b9\u7aef\u5b50\u3068\u5909\u63db\u57fa\u677f\u307e\u3067\u306e\u914d\u7dda\u304a\u3088\u3073\u5909\u63db\u57fa\u677f\u304b\u3089\u56de\u8def\u57fa\u677f\u3078\u306e\u914d\u7dda\u304c\u6b63\u3057\u3044\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u56de\u8def\u57fa\u677f\u3068\u5909\u63db\u57fa\u677f\u306e\u914d\u7dda\u304c\u9577\u3059\u304e\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u30fb\u5217\u8eca\u304c\u52d5\u304b\u306a\u3044<\/p>\n<p>\u2192\u4fdd\u8b77\u30e9\u30f3\u30d7\u304c\u70b9\u706f\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u7dda\u8def\u304c\u77ed\u7d61\u3057\u3066\u3044\u306a\u3044\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u305d\u308c\u4ee5\u5916\u306e\u5834\u5408\u3001\u56de\u8def\u304c\u6b63\u3057\u304f\u7d44\u3081\u3066\u3044\u308b\u304b\u3001\u306f\u3093\u3060\u4ed8\u3051\u304c\u9069\u5207\u306b\u884c\u308f\u308c\u3066\u3044\u308b\u304b\u3001\u65ad\u7dda\u306a\u3069\u306f\u306a\u3044\u304b\u3001\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u914d\u7dda\u306f\u9069\u5207\u304b\u3001\u30ea\u30ec\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8ad6\u7406\u306b\u5408\u308f\u305b\u3066\u30b3\u30fc\u30c9\u304c\u6b63\u3057\u304f\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<h2>\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9<\/h2>\n<p>\u73fe\u5728\u306e\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306f3.20\u3067\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>\uff1c\u4ee5\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\uff1e<\/h3>\n<p><a title=\"Master Controller1\u30fb2\u5c02\u7528\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\uff08V3.10\uff09\" href=\"https:\/\/pwm.sigris-rabo.work\/?page_id=299\">V3.10<\/a>\u30fb\u30fb\u30fb\u30b9\u30d4\u30fc\u30c9\u30b9\u30b1\u30fc\u30eb\u8abf\u6574\u6a5f\u80fd\u3092\u5f37\u5316\u3002<\/p>\n<p><a href=\"https:\/\/pwm.sigris-rabo.work\/?page_id=279\">V3.00<\/a>\u30fb\u30fb\u30fb\u8d70\u884c\u6a5f\u80fd\u3092\u5237\u65b0\u3002<\/p>\n<p><a href=\"https:\/\/pwm.sigris-rabo.work\/?page_id=224\">V2.00\uff08\u5b89\u5b9a\u7248\uff09<\/a>\u30fb\u30fb\u30fb\u8aa4\u767a\u9032\u9632\u6b62\u6a5f\u80fd\u304c\u6b63\u5e38\u306b\u52d5\u4f5c\u3057\u306a\u3044\u5834\u5408\u306b\u3054\u5229\u7528\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>\uff1cV3.20\u306e\u66f4\u65b0\u5185\u5bb9\uff1e<\/h3>\n<p>\uff08V3.20\uff09<\/p>\n<p>\u30fb\u60f0\u884c\u6642\u30fb\u5404\u529b\u884c\u30ce\u30c3\u30c1\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0a\u6642\u306e\u6e1b\u901f\u7387\u8a08\u7b97\u65b9\u6cd5\u3092\u5909\u66f4\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u8aa4\u767a\u9032\u9632\u6b62\u6a5f\u80fd\u304c\u6b63\u5e38\u306b\u52d5\u4f5c\u3057\u306a\u3044\u5834\u5408\uff08\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u304c\u52d5\u4f5c\u3057\u306a\u304f\u306a\u308b\u7b49\u304c\u983b\u767a\u3059\u308b\u5834\u5408\uff09\u3001\u304a\u624b\u6570\u3067\u3059\u304c\u4e0a\u8a18\u306eV2.00\uff08\u5b89\u5b9a\u7248\uff09\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">\/*\r\n ***************************************************************************************\r\n  TS\u30de\u30b9\u30b3\u30f3\uff08master controller\uff09\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\r\n ***************************************************************************************\r\n  \u30fbPWM\u5236\u5fa1\u306b\u3088\u308b\u9244\u9053\u6a21\u578b\u7528\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3002\r\n  \u30fbTS\u30de\u30b9\u30b3\u30f3\uff08\u30ef\u30f3\u30cf\u30f3\u30c9\u30eb\u306e\u3084\u3064\uff09\u3092\u63a5\u7d9a\u3057\u3066\u904b\u8ee2\u3059\u308b\u3002\r\n  \u30fb\u6bb5\u6570\u306fTS\u30de\u30b9\u30b3\u30f3\u306e\u8a2d\u5b9a\uff08TYPE\uff09\u306b\u6e96\u3058\u3001TS\u30de\u30b9\u30b3\u30f3\u306e\u30dc\u30bf\u30f3\u64cd\u4f5c\u3067TYPE\u3092\u9078\u629e\u3059\u308b\u4ed5\u69d8\u3002\r\n  \u30fb\u5404\u7a2e\u72b6\u6cc1\u306f\u30ad\u30e3\u30e9\u30af\u30bfLCD(16\u6587\u5b57x2\u6bb5)\u3067\u8868\u793a\u3002\r\n  \u30fb\u529b\u884c\u5404\u6bb5\u306e\u6700\u9ad8\u901f\u5ea6\u3092\u8a2d\u5b9a\u53ef\u80fd\u3002\u8a2d\u5b9a\u306f\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u5185\u3067\u3042\u3089\u304b\u3058\u3081\u8a2d\u5b9a\u3002\r\n  \u30fb\u30ce\u30c3\u30c1\u306b\u3088\u308b\u52a0\u901f\u5ea6\u306e\u9055\u3044\u3092\u3064\u3044\u3067\u306b\u518d\u73fe\u3002\r\n  \u30fb\u901f\u5ea6\u306b\u5fdc\u3058\u305f\u52a0\u901f\u5ea6\u306e\u5909\u5316\u3082\u3060\u3044\u305f\u3044\u518d\u73fe\u3002\r\n  \u30fbPWM\u5468\u6ce2\u6570\u306e\u5909\u8abf\u306b\u3088\u308a\u3001VVVF\u306a\u3069\u5236\u5fa1\u6a5f\u5668\u306e\u97f3\u3092\u518d\u73fe\u3002\r\n  \u30fb\u5909\u8abf\u97f3\u306f\u6700\u5927255\u7a2e\u985e\u307e\u3067\u30d7\u30ed\u30b0\u30e9\u30e0\u53ef\u80fd\u3002\uff08\u30e1\u30e2\u30ea\u5bb9\u91cf\u306b\u3088\u3063\u3066\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u53ef\u80fd\u306a\u6700\u5927\u6570\u304c\u5c11\u306a\u304f\u306a\u308a\u307e\u3059\uff09\r\n  \u30fb\u52a0\u901f\u6642\u3068\u6e1b\u901f\u6642\u3067\u7570\u306a\u308b\u5909\u8abf\u97f3\u3092\u8a2d\u5b9a\u53ef\u80fd\u3002\r\n  \u30fb\u5909\u8abf\u97f3\u306e\u9078\u629e\u306fTS\u30de\u30b9\u30b3\u30f3\u306e\u30dc\u30bf\u30f3\u64cd\u4f5c\u3067\u884c\u3046\u3002\r\n ***************************************************************************************\r\n\u66f4\u65b0\u5c65\u6b74\r\n2020\/05\/22 V0.10 \u521d\u671f\u7248\u3002\u52d5\u4f5c\u78ba\u8a8d\u6e08\r\n2020\/05\/22 V1.00 \u6bb5\u6570\u8aad\u66ff\u8a2d\u5b9a\u8ffd\u52a0\r\n2020\/09\/17 V2.00 TS\u30de\u30b9\u30b3\u30f32\u306b\u5bfe\u5fdc\r\n2020\/09\/22 V2.10 \u8aa4\u767a\u9032\u9632\u6b62\u6a5f\u80fd\u8ffd\u52a0\u3001\u52a0\u901f\u5ea6\u8abf\u7bc0\u306e\u7d30\u5206\u5316\uff088\u6bb5\u968e\u219216\u6bb5\u968e\uff09\u3001RAM\u4f7f\u7528\u91cf\u306e\u524a\u6e1b\r\n2020\/11\/17 V3.00 PWM\u5468\u6ce2\u6570\u304a\u3088\u3073\u51fa\u529b\u8a2d\u5b9a\u306e\u5909\u66f4\u3001\u52a0\u901f\u5ea6\u8abf\u7bc0\u306e\u7d30\u5206\u5316\uff0816\u6bb5\u968e\u219232\u6bb5\u968e\uff09\u3001\r\n                 \u5e38\u70b9\u706f\u306e\u611f\u5ea6\u8abf\u6574\u6a5f\u80fd\u8ffd\u52a0\u3001\u30b9\u30b1\u30fc\u30eb\u30b9\u30d4\u30fc\u30c9\u8abf\u6574\u6a5f\u80fd\u8ffd\u52a0\u3001\r\n                 \u6700\u9ad8\u901f\u5ea6400km\/h\u306b\u5909\u66f4(\u30e2\u30fc\u30bf\u30fc\u306e\u6027\u80fd\u306b\u3088\u308a400km\/h\u306b\u5c4a\u304b\u306a\u3044\u5834\u5408\u3082\u3042\u308a\u307e\u3059)\r\n2021\/07\/03 V3.10 \u52a0\u901f\u66f2\u7dda\u3068\u6e1b\u901f\u5ea6\u3092\u97f3\u30c7\u30fc\u30bf\u6bce\u306b\u6c7a\u3081\u3089\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\r\n                 \u8868\u793a\u901f\u5ea6\u306e\u5909\u5316\u7387\u306b\u5bfe\u3059\u308bDuty\u6bd4\u306e\u5909\u5316\u7387\u3092\u8abf\u6574\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002\r\n2022\/07\/15 V3.20 \u60f0\u884c\u6642\u30fb\u5404\u529b\u884c\u30ce\u30c3\u30c1\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0a\u6642\u306e\u6e1b\u901f\u7387\u8a08\u7b97\u65b9\u6cd5\u3092\u5909\u66f4\u3057\u307e\u3057\u305f\u3002\r\n ***************************************************************************************\r\n*\/\r\n\r\n\r\n\r\n#include &lt;avr\/io.h&gt; \/\/ ATmega328P\u7528\u306e\u30d8\u30c3\u30c0\u30d5\u30a1\u30a4\u30eb\r\n#include &lt;avr\/pgmspace.h&gt;\r\n#include &lt;LiquidCrystal.h&gt; \/\/ \u30ad\u30e3\u30e9\u30af\u30bf\u6db2\u6676\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u5236\u5fa1\u7528\u306e\u30d8\u30c3\u30c0\u30d5\u30a1\u30a4\u30eb\r\n\r\n\/\/ ***********************************************\r\n\/\/ \u30e6\u30fc\u30b6\u30fc\u8a2d\u5b9a\u9818\u57df\r\n\/\/ \u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u5404\u5024\u3092\u9069\u5b9c\u8abf\u6574\u3057\u3066\u304f\u3060\u3055\u3044\u3002\r\n\/\/ ***********************************************\r\n\r\n#define SOUNDNUM 16 \/\/\u8d70\u884c\u97f3\u30c7\u30fc\u30bf\u306e\u6570\r\n#define STOPSPD 9 \/\/\u5217\u8eca\u3092\u30d4\u30bf\u30c3\u3068\u6b62\u3081\u308b\u305f\u3081\u306e\u5024\u3002\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u8abf\u6574\u53ef\u80fd\r\n#define SDATANUM 45 \/\/3n(n=\u6700\u3082\u884c\u6570\u304c\u591a\u3044\u97f3\u30c7\u30fc\u30bf\u306e\u884c\u6570)\u4ee5\u4e0a\u306e\u5024\u306b\u8a2d\u5b9a\u3057\u3066\u4e0b\u3055\u3044\u3002\u3042\u307e\u308a\u6570\u5b57\u3092\u5927\u304d\u304f\u3057\u904e\u304e\u308b\u3068\u30e1\u30e2\u30ea\u4e0d\u8db3\u306b\u306a\u308b\u305f\u3081\u3001\u3080\u3084\u307f\u306b\u5927\u304d\u304f\u3057\u306a\u3044\u3088\u3046\u306b\u3002\r\n#define ANTI_CHAT_RATE 40 \/\/\u30de\u30b9\u30b3\u30f3\u8aad\u307f\u8fbc\u307f\u5f85\u3061\u6642\u9593\r\nconst int ACCEL_RATIO = 5;    \/\/ (\u52a0\u901f\u7387\u8abf\u6574\u5c0f\u578b\u30dc\u30ea\u30e5\u30fc\u30e0\u304b\u3089\u306e\u5165\u529b\u5024) \u00d7 ACCEL_RATIO \u21d2 \u52a0\u901f\u7387\r\nconst int BRAKE_RATIO = 2;    \/\/ (\u52a0\u901f\u7387\u8abf\u6574\u5c0f\u578b\u30dc\u30ea\u30e5\u30fc\u30e0\u304b\u3089\u306e\u5165\u529b\u5024) \u00d7 BRAKE_RATIO \u00d7 \u30de\u30b9\u30b3\u30f3\u30d6\u30ec\u30fc\u30ad\u5024 \u21d2 \u6e1b\u901f\u7387\r\nconst float lmax = 2; \/\/\u5e38\u70b9\u706f\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u6700\u5927\u5024\u3002lmax=1\u2192\u51fa\u529bMAX10%\u307e\u3067\u30011.5\u2192\u51fa\u529bMAX15%\u307e\u3067\u3001\u306e\u3088\u3046\u306b\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u7bc4\u56f2\u3092\u8abf\u6574\u53ef\u80fd\u3002\u9078\u629e\u53ef\u80fd\u306a\u7bc4\u56f2\u3092\u72ed\u304f\u3059\u308b\u307b\u3069\u5fae\u8abf\u6574\u304c\u53ef\u80fd\u3068\u306a\u308b\u3002\r\nconst float sscale = 3.1; \/\/\u30b9\u30b1\u30fc\u30eb\u30b9\u30d4\u30fc\u30c9\u5909\u63db\u5024\u3002\u74b0\u5883\u306b\u5408\u308f\u305b\u5b9f\u6e2c\u3057\u3066\u8abf\u6574\u3002\r\nconst float adrate = 0.5; \/\/\u52a0\u901f\u5ea6\u53ca\u3073\u6e1b\u901f\u5ea6\u306e\u5909\u5316\u306b\u5bfe\u3059\u308bDuty\u6bd4\u306e\u5909\u5316\u7387\u3002\u74b0\u5883\u306b\u5408\u308f\u305b\u5b9f\u6e2c\u3057\u3066\u8abf\u6574\u3002\r\nconst float coast = 0.07; \/\/\u60f0\u884c\u6642\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0a\u6642\u306e\u6e1b\u901f\u7387\u3002\r\nconst float pcoast = 0.01; \/\/\u5404\u529b\u884c\u30ce\u30c3\u30c1\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0a\u6642\u306e\u6e1b\u901f\u7387\u3002\r\n\/*\r\nsscale\u3068adrate\u306e\u95a2\u4fc2\u306b\u3064\u3044\u3066:\r\nsscale\u306f\u8868\u793a\u901f\u5ea6\u306b\u5bfe\u3059\u308bduty\u6bd4\u3092\u5168\u57df\u306b\u308f\u305f\u3063\u3066\u8abf\u6574\u3057\u307e\u3059\u3002\u30b0\u30e9\u30d5\u3092\u305d\u306e\u307e\u307e\u4e0a\u4e0b\u306b\u52d5\u304b\u3059\u30a4\u30e1\u30fc\u30b8\u3067\u3059\u3002\r\n\u4e3b\u306b\u5217\u8eca\u306e\u8d77\u52d5\u901f\u5ea6\u8abf\u6574\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002\r\n\u4e00\u65b9\u3001adrate\u306f\u8868\u793a\u901f\u5ea6\u306e\u5909\u5316\u306b\u5bfe\u3059\u308bDuty\u6bd4\u306e\u5909\u5316\u7387\u3092\u8abf\u6574\u3057\u307e\u3059\u3002\r\n\u52a0\u901f\u6642\u3092\u4f8b\u3068\u3059\u308b\u3068\u3001\u8868\u793a\u901f\u5ea6\u306e\u4e0a\u6607\u901f\u5ea6\u306b\u5bfe\u3059\u308bDuty\u6bd4\u306e\u4e0a\u6607\u901f\u5ea6\u3092\u8abf\u6574\u3057\u307e\u3059\u3002\r\n\u52a0\u901f\u5ea6\u30dc\u30ea\u30e5\u30fc\u30e0\u306f\u8868\u793a\u901f\u5ea6\u306e\u5909\u5316\u7387\u3092\u8abf\u6574\u3059\u308b\u306e\u306b\u5bfe\u3057\u3001adrate\u306f\u8868\u793a\u901f\u5ea6\u306b\u5bfe\u3059\u308b\u5b9f\u901f\u5ea6\u306e\u5909\u5316\u7387\u3092\u8abf\u6574\u3059\u308b\u9805\u76ee\u3067\u3042\u308b\u3068\u3044\u3048\u307e\u3059\u3002\r\n*\/\r\n\r\nboolean viewduty = false;  \/\/\uff08\u958b\u767a\u7528\uff09\u8d70\u884c\u4e2d\u3001\u8d70\u884c\u97f3\u540d\u306e\u4ee3\u308f\u308a\u306bDUTY\u6bd4\u3092\u8868\u793a\u3057\u307e\u3059\u3002\r\n\r\n\/\/\u30e2\u30b8\u30e5\u30fc\u30eb\u8ad6\u7406\u9078\u629e\r\nboolean relay = false; \/\/true:LOW=\u30ea\u30ec\u30fcON\uff08\u8ca0\u8ad6\u7406\uff09,false:LOW=\u30ea\u30ec\u30fcOFF\uff08\u6b63\u8ad6\u7406\uff09\u3067\u8a2d\u8a08\u3002\u4f7f\u7528\u3059\u308b\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8ad6\u7406\u306b\u3088\u308a\u5207\u308a\u66ff\u3048\u3066\u304f\u3060\u3055\u3044\u3002\r\n\/\/boolean relay = true;\r\n\r\n\r\n\r\n\/\/ ***********************************************\r\n\/\/ \u8d70\u884c\u97f3\u30c7\u30fc\u30bf\u9818\u57df\r\n\/\/ \u30c7\u30fc\u30bf\u306e\u8ffd\u52a0\u3084\u5909\u66f4\u3092\u884c\u3046\u5834\u5408\u306f\u614e\u91cd\u306b\u884c\u3063\u3066\u304f\u3060\u3055\u3044\u3002\r\n\/\/ ***********************************************\r\n\r\n\/\/ \u8d70\u884c\u97f3\u540d\u79f0\u300216\u6841\u3067\u6307\u5b9a\u3059\u308b\u3053\u3068\r\nconst char* soundName[SOUNDNUM] = {\r\n  \"   201          \",\r\n  \" 209,70-000,etc \",\r\n  \" E231-0,500,etc \",\r\n  \"   E231-1000    \",\r\n  \"   E233, etc    \",\r\n  \"KQ 2100 (SI-GTO)\",\r\n  \" N1000 (SI-GTO) \",\r\n  \" MITSUBISHI-GTO \",\r\n  \"   Toyo-GTO     \",\r\n  \"   Toyo-IGBT    \",\r\n  \"Toei 5300(Akuma)\",\r\n  \"TOSHIBA 3LevIGBT\",\r\n  \"MITSUBISHI Chop.\",\r\n  \"N1000 (SUS-IGBT)\",\r\n  \"N1000 (SI-IGBT) \",\r\n  \" Toyo-IGBT(AE)  \"\r\n};\r\n\r\n\r\n\r\n\/\/ \u5404\u30d1\u30bf\u30fc\u30f3\u306e\u5404\u30ce\u30c3\u30c1\u4f4d\u7f6e\u3067\u306e\u6700\u9ad8\u901f\u5ea6\u5024\u3092\u914d\u5217\u3067\u4fdd\u6301\u3002\r\n\/\/ \u5de6\u304b\u3089\u9806\u306b 1\u30ce\u30c3\u30c1, 2\u30ce\u30c3\u30c1, 3\u30ce\u30c3\u30c1, 4\u30ce\u30c3\u30c1, 5\u30ce\u30c3\u30c1\u3002\r\nconst int maxSpdDataBase[] PROGMEM = {\r\n  31, 46, 101, 111, 111, \/\/\u30d1\u30bf\u30fc\u30f3 1 201 \r\n  41, 56, 101, 111, 111, \/\/\u30d1\u30bf\u30fc\u30f3 2 209,70-000,etc\r\n  41, 56, 111, 121, 121, \/\/\u30d1\u30bf\u30fc\u30f3 3 E231-0,500,etc\r\n  41, 56, 111, 121, 121, \/\/\u30d1\u30bf\u30fc\u30f3 4 E231-1000\r\n  41, 56, 111, 121, 121, \/\/\u30d1\u30bf\u30fc\u30f3 5 E233, etc\r\n  51, 66, 121, 131, 131, \/\/\u30d1\u30bf\u30fc\u30f3 6 KQ 2100 (SI-GTO)\r\n  51, 66, 121, 131, 131, \/\/\u30d1\u30bf\u30fc\u30f3 7 N1000 (SI-GTO)\r\n  51, 66, 121, 131, 131, \/\/\u30d1\u30bf\u30fc\u30f3 8 MITSUBISHI-GTO\r\n  51, 66, 121, 131, 131, \/\/\u30d1\u30bf\u30fc\u30f3 9 Toyo-GTO\r\n  51, 66, 121, 131, 131, \/\/\u30d1\u30bf\u30fc\u30f310 Toyo-IGBT\r\n  41, 56, 101, 111, 111, \/\/\u30d1\u30bf\u30fc\u30f311 Toei 5300(Akuma)\r\n  41, 56, 101, 111, 111, \/\/\u30d1\u30bf\u30fc\u30f312 TOSHIBA 3LevIGBT\r\n  41, 56, 101, 111, 111, \/\/\u30d1\u30bf\u30fc\u30f313 MITSUBISHI Chop.\r\n  51, 66, 121, 131, 131, \/\/\u30d1\u30bf\u30fc\u30f314 N1000 (SUS-IGBT)\r\n  51, 66, 121, 131, 131, \/\/\u30d1\u30bf\u30fc\u30f315 N1000 (SI-IGBT)\r\n  51, 66, 151, 161, 161  \/\/\u30d1\u30bf\u30fc\u30f316 Toyo-IGBT(AE)\r\n};\r\n\r\n\r\n\r\n\/\/\u5b9a\u52a0\u901f\u5ea6\u9818\u57df\u5024\u3002\r\n\/\/\u6307\u5b9a\u3057\u305f\u901f\u5ea6\u307e\u3067\u4e00\u5b9a\u306e\u52a0\u901f\u5ea6\u3092\u4fdd\u3061\u307e\u3059\u3002\r\nconst int keepac[SOUNDNUM] = {37, 39, 39, 39, 39, 55, 55, 55, 55, 59, 50, 50, 45, 59, 55, 85};\r\n\r\n\/\/\u52a0\u901f\u66f2\u7dda\u3002\r\n\/\/\u6570\u5024\u3092\u5927\u304d\u304f\u3059\u308b\u3068\u52a0\u901f\u6027\u80fd\u304c\u826f\u304f\u306a\u308a\u307e\u3059\u3002\u304a\u597d\u307f\u3067\u8abf\u6574\u3057\u3066\u4e0b\u3055\u3044\u3002\r\nconst float Aracurve[SOUNDNUM] = {1.2, 1.3, 1.4, 1.4, 1.5, 1.55, 1.55, 1.5, 1.5, 1.4, 1.4, 1.45, 1.45, 1.5, 1.5, 1.4};\r\n\r\n\/\/\u6e1b\u901f\u5ea6\u3002\r\n\/\/\u6570\u5024\u3092\u5927\u304d\u304f\u3059\u308b\u3068\u6e1b\u901f\u6027\u80fd\u304c\u826f\u304f\u306a\u308a\u307e\u3059\u3002\u304a\u597d\u307f\u3067\u8abf\u6574\u3057\u3066\u4e0b\u3055\u3044\u3002\r\nconst float Arbcurve[SOUNDNUM] = {0.13, 0.15, 0.15, 0.15, 0.16, 0.14, 0.14, 0.14, 0.15, 0.17, 0.14, 0.14, 0.14, 0.14, 0.14, 0.17};\r\n\r\n\/\/ \u97f3\u30c7\u30fc\u30bf\u3002\r\n\/\/ \u8a2d\u5b9a\u53ef\u80fd\u5468\u6ce2\u6570 150Hz\uff5e100kHz(\u5024\u306f\u6574\u6570\u3067\u6307\u5b9a)\r\n\/\/ \uff5e\uff5e\uff5e(\u4f8b) \u30d1\u30bf\u30fc\u30f33\u306e\u5834\u5408\uff5e\uff5e\uff5e\r\n\/\/ 1\u884c\u76ee \u901f\u5ea60\uff5e 2\u306e\u9593\uff1a380Hz\u3067\u97f3\u7a0b\u5909\u5316\u306a\u3057\r\n\/\/ 2\u884c\u76ee \u901f\u5ea63\uff5e11\u306e\u9593\uff1a380Hz\u304b\u3089980Hz\u307e\u3067\u5909\u5316\u3059\u308b\r\n\r\n\/\/\u52a0\u901f\u6642\u7528\u306e\u97f3\u30c7\u30fc\u30bf\u3002\r\nconst int AsoundDataBase[] PROGMEM = {\r\n  \/\/\u30d1\u30bf\u30fc\u30f31 201\r\n  590, 590, 66,  \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  550, 980, 101, \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,            \/\/ 3 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f32 209,70-000,etc\r\n  230, 230, 2,     \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  90, 90, 3,       \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  230, 950, 11,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 1150, 21,   \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  750, 1150, 31,   \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 950, 46,    \/\/ 6 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  470, 1150, 91,   \/\/ 7 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 111, \/\/ 8 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 9 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f33 E231-0,500,etc\r\n  380, 380, 2,     \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  380, 980, 11,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  560, 780, 26,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  480, 1150, 101,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 121, \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f34 E231-1000\r\n  1050, 1050, 11,  \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1050, 700, 27,   \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  700, 6000, 35,   \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  480, 1150, 101,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 121, \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f35 E233, etc\r\n  760, 760, 31,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  350, 1150, 101,  \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 121, \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 4 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f36 KQ 2100 (SI-GTO)\r\n  350, 350, 2,   \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  390, 390, 3,   \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  440, 440, 4,   \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  490, 490, 5,   \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  530, 530, 6,   \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 580, 7,   \/\/ 6 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  650, 650, 8,   \/\/ 7 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  700, 700, 9,   \/\/ 8 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  780, 780, 23,  \/\/ 9 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  510, 980, 111, \/\/10 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 580, 131, \/\/11 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,            \/\/12 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f37 N1000 (SI-GTO)\r\n  350, 350, 2,   \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  390, 390, 3,   \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  440, 440, 4,   \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  490, 490, 5,   \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  530, 530, 6,   \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 580, 7,   \/\/ 6 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  650, 650, 8,   \/\/ 7 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  700, 700, 9,   \/\/ 8 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  780, 780, 16,  \/\/ 9 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  950, 970, 18,  \/\/10 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  850, 970, 21,  \/\/11 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  800, 970, 23,  \/\/12 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  510, 980, 111, \/\/13 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 580, 131, \/\/14 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,            \/\/15 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f38 MITSUBISHI GTO\r\n  490, 710, 16,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  710, 710, 25,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 780, 31,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  420, 1250, 110,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1250, 1250, 131, \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n  \r\n  \/\/\u30d1\u30bf\u30fc\u30f39 Toyo-GTO\r\n  490, 780, 19,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  490, 780, 31,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  420, 1250, 110,  \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1250, 1250, 131, \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 5 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f310 Toyo-IGBT\r\n  1050, 1050, 26,  \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  630, 1300, 41,   \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  650, 1150, 111,  \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 131, \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 5 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f311 Toei 5300(Akuma)\r\n  780, 780, 11,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  450, 450, 16,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  500, 780, 22,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  430, 580, 25,    \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  400, 1150, 105,  \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 121, \/\/ 6 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 7 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f312 TOSHIBA 3LevIGBT\r\n  730, 730, 11,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  510, 730, 16,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 1150, 101,  \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 111, \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 5 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f313 MITSUBISHI Chop.\r\n  590, 590, 4,     \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  900, 900, 36,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  590, 590, 41,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  390, 390, 46,    \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  390, 1150, 101,  \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 111, \/\/ 6 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 7 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f314 N1000 (SUS-IGBT)\r\n  710, 710, 31,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  350, 1150, 101,  \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 131, \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 4 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f315 N1000 (SI-IGBT)\r\n  1180, 1180, 16,  \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1180, 1960, 33,  \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  460, 1150, 101,  \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 131, \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 5 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f316 Toyo-IGBT(AE)\r\n  1000, 1000, 26,  \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 1300, 41,   \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  650, 1150, 141,  \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 161, \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1               \/\/ 5 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n};\r\n\r\n\/\/\u6e1b\u901f\u6642\u7528\u306e\u97f3\u30c7\u30fc\u30bf\u3002\r\nconst int BsoundDataBase[] PROGMEM = {\r\n  \/\/\u30d1\u30bf\u30fc\u30f31 201\r\n  10000, 10000, 6, \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  590, 590, 61,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  590, 650, 76,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  550, 980, 101,   \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 5 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f32 209,70-000,etc\r\n  150, 150, 6,     \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  120, 1180, 26,   \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 900, 36,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  550, 1800, 96,   \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 111, \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f33 E231-0,500,etc\r\n  350, 350, 6,     \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  350, 980, 31,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 900, 86,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  530, 1150, 101,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 121, \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f34 E231-1000\r\n  1050, 1050, 16,  \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1050, 700, 41,   \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  700, 2900, 44,   \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  780, 880, 46,    \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 900, 86,    \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  530, 1150, 101,  \/\/ 6 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 121, \/\/ 7 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 8 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f35 E233, etc\r\n  760, 760, 31,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  300, 1000, 106,  \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1000, 1000, 121, \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 4 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f36 KQ 2100 (SI-GTO)\r\n  780, 780, 22,  \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  780, 1150, 35, \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  780, 970, 45,  \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 980, 111, \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 580, 131, \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,            \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f37 N1000 (SI-GTO)\r\n  780, 780, 16,  \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  780, 970, 19,  \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  780, 820, 22,  \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  780, 1150, 35, \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  780, 970, 45,  \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 980, 111, \/\/ 6 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 580, 131, \/\/ 7 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,            \/\/ 8 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f38 MITSUBISHI GTO\r\n  580, 720, 16,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  720, 720, 26,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  460, 650, 36,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  450, 1250, 110,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1250, 1250, 131, \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n  \r\n  \/\/\u30d1\u30bf\u30fc\u30f39 Toyo-GTO\r\n  580, 580, 7,     \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 750, 20,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  380, 650, 31,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  450, 1250, 110,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1250, 1250, 131, \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f310 Toyo-IGBT\r\n  1050, 1050, 26, \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 930, 41,   \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 950, 95,   \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  950, 950, 111,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 580, 131,  \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,             \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f311 Toei 5300(Akuma)\r\n  780, 780, 18,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  440, 460, 22,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  460, 570, 36,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  500, 1150, 105,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 121, \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f312 TOSHIBA 3LevIGBT\r\n  730, 730, 11,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  510, 1150, 101,  \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 111, \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 4 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f313 MITSUBISHI Chop.\r\n  900, 900, 36,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  590, 590, 41,    \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  390, 390, 46,    \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  390, 1150, 101,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 111, \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f314 N1000 (SUS-IGBT)\r\n  710, 710, 31,    \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  350, 1150, 101,  \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1150, 1150, 131, \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,              \/\/ 4 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f315 N1000 (SI-IGBT)\r\n  1180, 1180, 16, \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  1180, 2050, 31, \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  780, 1150, 36,  \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  560, 980, 111,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 580, 131,  \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1,             \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n  \/\/\u30d1\u30bf\u30fc\u30f316 Toyo-IGBT(AE)\r\n  1000, 1000, 26, \/\/ 1 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 880, 41,   \/\/ 2 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  600, 950, 95,   \/\/ 3 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  950, 950, 106,  \/\/ 4 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  580, 580, 161,  \/\/ 5 \u958b\u59cb\u5468\u6ce2\u6570 \u7d42\u4e86\u5468\u6ce2\u6570 \u5207\u66ff\u30b9\u30d4\u30fc\u30c9\r\n  -1              \/\/ 6 \u7d42\u4e86\u30b3\u30fc\u30c9\r\n\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/\/ ***********************************************\r\n\/\/ \u3053\u3053\u304b\u3089\u5148\u306f\u307f\u3060\u308a\u306b\u5909\u66f4\u3057\u306a\u3044\u3067\u4e0b\u3055\u3044\u3002\r\n\/\/ \u8aa4\u52d5\u4f5c\u3084\u6545\u969c\u306e\u539f\u56e0\u3068\u306a\u308a\u307e\u3059\u3002\r\n\/\/ ***********************************************\r\n\r\nconst char *MOJI1 = \"TSmascon  PPUNIT\";  \/\/ Welcome\u30e1\u30c3\u30bb\u30fc\u30b8\u3002LCD1\u6bb5\u76ee\u300216\u6841\u306b\u3059\u308b\u3053\u3068\u3002\r\nconst char *MOJI2 = \"Program Ver 3.20\";  \/\/ Welcome\u30e1\u30c3\u30bb\u30fc\u30b8\u3002LCD2\u6bb5\u76ee\u300216\u6841\u306b\u3059\u308b\u3053\u3068\u3002\r\n\r\n\r\n\r\n\/\/\u4f7f\u7528\u30d4\u30f3\u6307\u5b9a\r\nconst int P_LIGHT_DIAL = A0; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Analog) \u5e38\u70b9\u706f\u8abf\u7bc0\u30c0\u30a4\u30a2\u30eb = A0\r\nconst int P_ACCEL_DIAL = A1; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Analog) \u52a0\u901f\u7387\u8abf\u7bc0\u30c0\u30a4\u30a2\u30eb = A1\r\nconst int P_PWM2B      = 3; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) OCR2B\u51fa\u529b to Rail = D3\r\nconst int P_LCD_RS     = 4; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) LCD-REGISTER      = D4\r\nconst int P_LCD_EN     = 5; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) LCD-ENABLE        = D5\r\nconst int P_LCD_D4     = 6; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) LCD-D4            = D6\r\nconst int P_LCD_D5     = 7; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) LCD-D5            = D7\r\nconst int P_LCD_D6     = 8; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) LCD-D6            = D8\r\nconst int P_LCD_D7     = 9; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) LCD-D7            = D9\r\nconst int P_PWM1B     = 10; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) OCR1B\u51fa\u529b to Rail = D10\r\nconst int P_PWM2A     = 11; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) OCR2A\u51fa\u529b to Rail = D11 (MOSI)\r\n\r\nconst int P_BOSEN     = 12; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) \u6bcd\u7dda\u30ea\u30ec\u30fc\u5236\u5fa1 = D12 (MISO)\r\nconst int P_DIREC     = 13; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) \u65b9\u5411\u30ea\u30ec\u30fc\u5236\u5fa1 = D13 (SCK)\r\n\/\/const int P_BOSEN     = 18; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) \u6bcd\u7dda\u30ea\u30ec\u30fc\u5236\u5fa1 = D18 (A4)\r\n\/\/const int P_DIREC     = 19; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Digital) \u65b9\u5411\u30ea\u30ec\u30fc\u5236\u5fa1 = D19 (A5)\r\n\r\n\r\n\r\n\/\/\u30de\u30b9\u30b3\u30f3\u95a2\u9023\r\nboolean changeS = true; \/\/\u8d70\u884c\u97f3\u5909\u66f4\u30e2\u30fc\u30c9\u5224\u5b9a\r\nboolean EB = false; \/\/\u975e\u5e38\u505c\u6b62\u30dc\u30bf\u30f3\r\nboolean masok = false; \/\/\u30d6\u30ec\u30fc\u30ad\u6295\u5165\u5224\u5b9a\r\nboolean revok = false; \/\/\u30ec\u30d0\u30fc\u30b5\u4f4d\u7f6e\u78ba\u8a8d\r\n\r\nconst int MC_EB =  1; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u975e\u5e38\r\nconst int MC_B8 =  2; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d58\r\nconst int MC_B7 =  3; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d57\r\nconst int MC_B6 =  4; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d56\r\nconst int MC_B5 =  5; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d55\r\nconst int MC_B4 =  6; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d54\r\nconst int MC_B3 =  7; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d53\r\nconst int MC_B2 =  8; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d52\r\nconst int MC_B1 =  9; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d51\r\nconst int MC_N  = 10; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u60f0\u884c\r\nconst int MC_P1 = 11; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c1\r\nconst int MC_P2 = 12; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c2\r\nconst int MC_P3 = 13; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c3\r\nconst int MC_P4 = 14; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c4\r\nconst int MC_P5 = 15; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c5\r\nconst int MC_P6 = 16; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c5\r\n\r\nconst int RE_F = 1; \/\/ \u30ec\u30d0\u30fc\u30b5\u4f4d\u7f6e \u524d\r\nconst int RE_N = 2; \/\/ \u30ec\u30d0\u30fc\u30b5\u4f4d\u7f6e \u5207\r\nconst int RE_R = 3; \/\/ \u30ec\u30d0\u30fc\u30b5\u4f4d\u7f6e \u5f8c\r\n\r\nconst int TS_1 = 1; \/\/TS\u30de\u30b9\u30b3\u30f31\uff08\u30ef\u30f3\u30cf\u30f3\u30c9\u30eb\uff09\r\nconst int TS_2 = 2; \/\/TS\u30de\u30b9\u30b3\u30f32\uff08\u30c4\u30fc\u30cf\u30f3\u30c9\u30eb\uff09\r\n\r\n\r\nconst int TYPE_A = 1; \/\/ TYPEA\r\nconst int TYPE_B = 2; \/\/ TYPEB\r\nconst int TYPE_C = 3; \/\/ TYPEC\r\nconst int TYPE_D = 4; \/\/ TYPED\r\nconst int TYPE_E = 5; \/\/ TYPEE\r\nconst int TYPE_F = 6; \/\/ TYPEF\r\nconst int TYPE_G = 7; \/\/ TYPEG\r\nconst int TYPE_H = 8; \/\/ TYPEH\r\n\r\n\/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u540d\u79f0\u3092\u4fdd\u6301\u3059\u308b\u914d\u5217\r\nconst char* masconPosName[16] = {\"EB\", \"B8\", \"B7\", \"B6\", \"B5\", \"B4\", \"B3\", \"B2\", \"B1\", \"N \", \"P1\", \"P2\", \"P3\", \"P4\", \"P5\", \"P6\"};\r\n\/\/\u30ec\u30d0\u30fc\u30b5\u4f4d\u7f6e\u540d\u79f0\u3092\u4fdd\u6301\u3059\u308b\u914d\u5217\r\nconst char* reverserPosName[3] = {\"F\", \"N\", \"R\"};\r\n\/\/\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\u540d\u79f0\u3092\u4fdd\u6301\u3059\u308b\u914d\u5217\r\nconst char* typeName[8] = {\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\"};\r\n\r\n\r\n\r\n\/\/\u5909\u6570\r\nconst int MD_STOP  = 1; \/\/ \u30e2\u30fc\u30c9 \u505c\u6b62\r\nconst int MD_BRAKE = 2; \/\/ \u30e2\u30fc\u30c9 \u6e1b\u901f\r\nconst int MD_NTRL  = 3; \/\/ \u30e2\u30fc\u30c9 \u60f0\u884c\r\nconst int MD_ACCEL = 4; \/\/ \u30e2\u30fc\u30c9 \u52a0\u901f\r\nint vvvfPtn;            \/\/ \u8d70\u884c\u97f3\u30d1\u30bf\u30fc\u30f3\u3002\r\nint disp_masconPos = MC_EB;  \/\/ \u30de\u30b9\u30b3\u30f3\u306e\u4f4d\u7f6e\uff08\u8868\u793a\u7528\uff09\u3002\u52a0\u6e1b\u901f\u529b\u78ba\u4fdd\u306e\u70ba\u3001\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\u306b\u3088\u3063\u3066\u306f\u6307\u5b9a\u306e\u6bb5\u6570\u3088\u308a\u5f37\u3044\u6bb5\u6570\u3092\u5185\u90e8\u51e6\u7406\u7528\u306b\u6307\u5b9a\u3059\u308b\u3053\u3068\u304b\u3089\u3002\r\nint masconPos = MC_EB;  \/\/ \u30de\u30b9\u30b3\u30f3\u306e\u4f4d\u7f6e\u3092\u4fdd\u6301\u30021\uff5e16\u3068\u306a\u308b\u3002\r\nint reverserPos = RE_N; \/\/ \u30ec\u30d0\u30fc\u30b5\u306e\u4f4d\u7f6e\u3092\u4fdd\u6301\u30021\uff5e3\u3068\u306a\u308b\u3002\r\nint notchnum = 0; \/\/\u30de\u30b9\u30b3\u30f3\u6bb5\u6570\r\nint brakenum = 0; \/\/\u30d6\u30ec\u30fc\u30ad\u6bb5\u6570\r\nint tstype = 0; \/\/TS\u30de\u30b9\u30b3\u30f31or2\r\nint type = 0; \/\/\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\r\nint lightVol;       \/\/ \u5e38\u70b9\u706f\u30c0\u30a4\u30a2\u30eb\u304b\u3089\u62fe\u3063\u305f\u5024\u30920\uff5e127\u306b\u5909\u63db\u3057\u3066\u4fdd\u6301\u3059\u308b\u3002\u5909\u63db\u51e6\u7406\u306floop()\u5185\u306b\u3066\u3002\r\nint accelVol;       \/\/ \u52a0\u901f\u7387\u30c0\u30a4\u30a2\u30eb\u304b\u3089\u62fe\u3063\u305f\u5024\u30921\uff5e8\u306b\u5909\u63db\u3057\u3066\u4fdd\u6301\u3059\u308b\u3002\u5909\u63db\u51e6\u7406\u306floop()\u5185\u306b\u3066\u3002\r\nint kasoku;         \/\/ \u8d70\u884c\u7528\u51fa\u529b\u3059\u308b\u52a0\u6e1b\u901f\u7387\r\nint mode;           \/\/ \u8d70\u884c\u72b6\u614b\u30021=\u505c\u6b62, 2=\u6e1b\u901f, 3=\u60f0\u884c, 4=\u52a0\u901f\r\nint ReceiveData[12] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; \/\/\u53d7\u4fe1\u30c7\u30fc\u30bf\u683c\u7d0d\u7528\r\nlong notch1;        \/\/ \u30ce\u30c3\u30c11\u3067\u306e\u6700\u9ad8\u901f\u5ea6\r\nlong notch2;        \/\/ \u30ce\u30c3\u30c12\u3067\u306e\u6700\u9ad8\u901f\u5ea6\r\nlong notch3;        \/\/ \u30ce\u30c3\u30c13\u3067\u306e\u6700\u9ad8\u901f\u5ea6\r\nlong notch4;        \/\/ \u30ce\u30c3\u30c14\u3067\u306e\u6700\u9ad8\u901f\u5ea6\r\nlong notch5;        \/\/ \u30ce\u30c3\u30c15\u3067\u306e\u6700\u9ad8\u901f\u5ea6\r\nlong stopSpd;       \/\/ \u8d70\u884c\u7528\u51fa\u529b\u3092\u30ab\u30c3\u30c8\u3059\u308b\u901f\u5ea6\r\nlong AsttFrq;   \/\/ \u958b\u59cb\u5468\u6ce2\u6570\r\nlong AendFrq;   \/\/ \u7d42\u4e86\u5468\u6ce2\u6570\r\nlong Afrq;      \/\/ \u5468\u6ce2\u6570\r\nlong AsttSpd;   \/\/ \u958b\u59cb\u30b9\u30d4\u30fc\u30c9\r\nlong AendSpd;   \/\/ \u7d42\u4e86\u30b9\u30d4\u30fc\u30c9\r\nlong BsttFrq;   \/\/ \u958b\u59cb\u5468\u6ce2\u6570\r\nlong BendFrq;   \/\/ \u7d42\u4e86\u5468\u6ce2\u6570\r\nlong Bfrq;      \/\/ \u5468\u6ce2\u6570\r\nlong BsttSpd;   \/\/ \u958b\u59cb\u30b9\u30d4\u30fc\u30c9\r\nlong BendSpd;   \/\/ \u7d42\u4e86\u30b9\u30d4\u30fc\u30c9\r\nlong spd;      \/\/ \u5185\u90e8\u30b9\u30d4\u30fc\u30c9 0\uff5e4,000,000\uff08\u901f\u5ea6\u00d710,000\uff09\r\nlong orderSpd; \/\/ \u6307\u793a\u30b9\u30d4\u30fc\u30c9\r\nfloat duty; \/\/duty\u6bd4\r\nfloat acurve; \/\/\u52a0\u901f\u66f2\u7dda\r\nfloat bcurve;  \/\/\u6e1b\u901f\u5ea6\r\nint i; \/\/ \u30eb\u30fc\u30d7\u30ab\u30a6\u30f3\u30bf\u30fc\r\nint j; \/\/ \u30eb\u30fc\u30d7\u30ab\u30a6\u30f3\u30bf\u30fc\r\nint k; \/\/ \u30eb\u30fc\u30d7\u30ab\u30a6\u30f3\u30bf\u30fc\r\nint maxSpdData[5];\r\nint AsoundData[SDATANUM];\r\n\r\n\/\/ \u8d70\u884c\u97f3\u30d1\u30bf\u30fc\u30f3\u306e\u5404\u30d1\u30bf\u30fc\u30f3\u30c7\u30fc\u30bf\u958b\u59cb\u4f4d\u7f6e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4fdd\u6301\u3002\r\n\/\/ \u5b9f\u969b\u306e\u5024\u8a2d\u5b9a\u306f\u3001setup\u51e6\u7406\u5185\u306b\u3066\u7d42\u4e86\u30b3\u30fc\u30c9(-1)\u3092\u691c\u51fa\u3057\u52d5\u7684\u306b\u8a2d\u5b9a\u3059\u308b\u3002\r\nint AdataNum[SOUNDNUM + 1];\r\n\r\nint BsoundData[SDATANUM];\r\n\r\n\/\/ \u8d70\u884c\u97f3\u30d1\u30bf\u30fc\u30f3\u306e\u5404\u30d1\u30bf\u30fc\u30f3\u30c7\u30fc\u30bf\u958b\u59cb\u4f4d\u7f6e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4fdd\u6301\u3002\r\n\/\/ \u5b9f\u969b\u306e\u5024\u8a2d\u5b9a\u306f\u3001setup\u51e6\u7406\u5185\u306b\u3066\u7d42\u4e86\u30b3\u30fc\u30c9(-1)\u3092\u691c\u51fa\u3057\u52d5\u7684\u306b\u8a2d\u5b9a\u3059\u308b\u3002\r\nint BdataNum[SOUNDNUM + 1];\r\n\r\n\/\/ \u30ad\u30e3\u30e9\u30af\u30bf\u6db2\u6676\r\nLiquidCrystal lcd(P_LCD_RS, P_LCD_EN, P_LCD_D4, P_LCD_D5, P_LCD_D6, P_LCD_D7);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/\/ **********************************************************************************************\r\n\/\/ \u95a2\u6570\u5b9a\u7fa9 \u3053\u3053\u304b\u3089\r\n\/\/ **********************************************************************************************\r\n\r\n\r\n\r\n\/\/\u30de\u30b9\u30b3\u30f3\u53ca\u3073\u30ec\u30d0\u30fc\u30b5\u4f4d\u7f6e\u306e\u8868\u793a\r\nvoid dispPos() {\r\n  lcd.setCursor(12, 1);\r\n  lcd.print(reverserPosName[reverserPos - 1]);\r\n  lcd.setCursor(14, 1);\r\n  lcd.print(masconPosName[disp_masconPos - 1]);\r\n}\r\n\r\n\r\n\r\n\/\/\u30b9\u30b1\u30fc\u30eb\u30b9\u30d4\u30fc\u30c9\u8868\u793a\r\nvoid dispSpd() {\r\n  int disp;\r\n  disp = spd \/ 10000;\r\n  lcd.setCursor(4, 1);\r\n  if (disp \/ 100 &gt; 0) {\r\n    \/\/ 3digits.\r\n  }\r\n  else {\r\n    if (disp \/ 10 &gt; 0) {\r\n      \/\/ 2digits.\r\n      lcd.print(\" \");\r\n    }\r\n    else {\r\n      \/\/ 1digit.\r\n      lcd.print(\"  \");\r\n    }\r\n  }\r\n  lcd.print(disp);\r\n}\r\n\r\n\r\n\r\n\/\/\u8d70\u884c\u97f3\u8a2d\u5b9a\u7528\r\nvoid SetSound(){\r\n\r\n  lcd.clear();\r\n\r\n  i = 1;\r\n  k = 0;\r\n\r\n  \/\/\u53d7\u4fe1\u30c7\u30fc\u30bf\u521d\u671f\u5316\r\n  while (Serial.available() &gt; 0) { \/\/ \u53d7\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3059\u308b\r\n    Serial.read();\r\n  }\r\n  \r\n  for(k=0;k&lt;6;k++){\r\n  ReceiveData[k] = {0x00};\r\n  }\r\n\r\n  k = 0;\r\n  \r\n  lcd.setCursor(0, 0);\r\n  lcd.print(F(\"SET SoundPattern\"));\r\n  delay(3000);\r\n  lcd.clear();\r\n  lcd.setCursor(0, 1);\r\n  lcd.print(F(\"&lt;A  Enter:S  C&gt; \"));\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(soundName[0]); \/\/1\u756a\u76ee\u306e\u8d70\u884c\u97f3\u30c7\u30fc\u30bf\u540d\u3092\u3055\u3063\u3055\u3068\u8868\u793a\r\n  \r\n  do{\r\n  Receive(4);\r\n  } while(k == 0);\r\n  \r\n  vvvfPtn = i - 1;\r\n\r\n  acurve = Aracurve[vvvfPtn];\r\n  bcurve = Arbcurve[vvvfPtn];\r\n  \r\n  k = 0;\r\n\r\n  for (i = vvvfPtn * 5; i &lt; vvvfPtn * 5 + 5; i++)\r\n  {\r\n  maxSpdData[k] = pgm_read_word_near(&amp;maxSpdDataBase[i]);\r\n  k++;\r\n  }\r\n\r\n  notch1  = (long) maxSpdData[0] * 10000 - 1;\r\n  notch2  = (long) maxSpdData[1] * 10000 - 1;\r\n  notch3  = (long) maxSpdData[2] * 10000 - 1;\r\n  notch4  = (long) maxSpdData[3] * 10000 - 1;\r\n  notch5  = (long) maxSpdData[4] * 10000 - 1;\r\n  stopSpd = STOPSPD * 1000 - 1;\r\n\r\n  k = 0;\r\n  \r\n  for (i = AdataNum[vvvfPtn]; i&lt;AdataNum[vvvfPtn+1]; i++)\r\n  {\r\n  AsoundData[k] = pgm_read_word_near(&amp;AsoundDataBase[i]);\r\n  k++;\r\n  }\r\n\r\n  k = 0;\r\n \r\n  for (i = BdataNum[vvvfPtn]; i&lt;BdataNum[vvvfPtn+1]; i++)\r\n  {\r\n  BsoundData[k] = pgm_read_word_near(&amp;BsoundDataBase[i]);\r\n  k++;\r\n  }\r\n\r\n  changeS = false;\r\n  \r\n  \/\/ \u6c7a\u5b9a\u3057\u305f\u30d1\u30bf\u30fc\u30f3\u3092\u70b9\u6ec5\u8868\u793a\r\n  lcd.clear();\r\n  delay(180);\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(F(\"SET SoundPattern\"));\r\n  lcd.setCursor(0, 1);\r\n  lcd.print(soundName[vvvfPtn]);\r\n  delay(2000);\r\n\r\n  lcd.clear();\r\n  lcd.setCursor(1, 0);\r\n  lcd.print(F(\"CATION:Push C\"));\r\n  lcd.setCursor(2, 1);\r\n  lcd.print(F(\"in emergensy.\"));\r\n  delay(3000); \r\n  lcd.clear();\r\n\r\n  \/\/\u8aa4\u767a\u9032\u9632\u6b62\u52d5\u4f5c\r\n  do{\r\n    SetStatus();\r\n  }while(i == 0);\r\n\r\n  lcd.clear();\r\n  \r\n  lcd.setCursor(0, 0);\r\n  lcd.print(F(\" Start Controll \"));\r\n  delay(1000);\r\n  lcd.clear();\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(soundName[vvvfPtn]);\r\n  lcd.setCursor(0, 1);\r\n  if(tstype==TS_1){\r\n    lcd.print(F(\"&lt; &gt;    km\/h&lt; &gt;\"));\r\n    lcd.setCursor(1, 1);\r\n    lcd.print(typeName[type - 1]); \/\/TYPE\u8868\u793a\u3082\u3064\u3051\u308b\u3002\u7121\u99c4\u306b\u3002\r\n  }\r\n  else{\r\n    lcd.print(F(\"       km\/h&lt; &gt;\"));\r\n  }\r\n\r\n  dispPos();\r\n}\r\n\r\n\r\n\r\n\/\/\u30b7\u30ea\u30a2\u30eb\u53d7\u4fe1\u7528\u3002\u53d7\u4fe1\u30c7\u30fc\u30bf\u3092\u57fa\u306b\u30de\u30b9\u30b3\u30f3\u53ca\u3073\u30ec\u30d0\u30fc\u30b5\u4f4d\u7f6e\u306e\u5224\u5b9a\u3082\u540c\u6642\u306b\u884c\u3046\u3002\r\nvoid Receive(int SETTYPE){\r\n  while (Serial.available() &gt;= 6) { \/\/ \u30b3\u30de\u30f3\u30c9\u3092\u5b8c\u5168\u306b\u53d7\u3051\u305f\r\n    j = 0;\r\n    do{\r\n      ReceiveData[j] = Serial.read();\r\n      if(ReceiveData[j] == 0x0D) {\r\n        break;\r\n      }\r\n      \r\n      if(j &lt; 5) {\r\n        j++;\r\n      }\r\n      else {\r\n        j = 0;\r\n      }\r\n    } while (Serial.available() &gt; 0);\r\n    \r\n    if(ReceiveData[0] == 0x54) { \/\/\u30d8\u30c3\u30c0\u304c\u5148\u982d\u3067\u3042\u308b\r\n      if(ReceiveData[1] == 0x53) { \/\/\u30d1\u30b1\u30c3\u30c8\u3092\u6b63\u5e38\u306b\u53d7\u4fe1\u3057\u3066\u3044\u308b\r\n          \r\n        if(SETTYPE == 0) { \/\/\u30de\u30b9\u30b3\u30f3\u8a2d\u5b9a\u6642\r\n          switch(ReceiveData[2]) {\r\n            case 0x58: \/\/A\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                if(i == 0) { \/\/\u4e00\u5de1\u51e6\u7406\r\n                  i = 1;\r\n                  lcd.setCursor(0, 0);\r\n                  lcd.print(' ');\r\n                  lcd.setCursor(8, 0);\r\n                  lcd.print('&gt;');\r\n                }\r\n                else {\r\n                  i--;\r\n                  lcd.setCursor(0, 0);\r\n                  lcd.print('&gt;');\r\n                  lcd.setCursor(8, 0);\r\n                  lcd.print(' ');\r\n                }\r\n              }\r\n              break;\r\n\r\n            case 0x5A: \/\/C\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                if(i == 1) { \/\/\u4e00\u5de1\u51e6\u7406\r\n                  i = 0;\r\n                  lcd.setCursor(0, 0);\r\n                  lcd.print('&gt;');\r\n                  lcd.setCursor(8, 0);\r\n                  lcd.print(' ');\r\n                }\r\n                else {\r\n                  i++;\r\n                  lcd.setCursor(0, 0);\r\n                  lcd.print(' ');\r\n                  lcd.setCursor(8, 0);\r\n                  lcd.print('&gt;');\r\n                }\r\n              }              \r\n              break;\r\n\r\n            case 0x4B: \/\/S\u30dc\u30bf\u30f3\r\n              tstype = i + 1; \/\/\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\u6c7a\u5b9a\r\n              lcd.clear();\r\n              lcd.setCursor(0, 0);\r\n              lcd.print(F(\"SET  Handle\"));\r\n              lcd.setCursor(4, 0);\r\n\r\n              if(i==0){\r\n                lcd.print('1');\r\n              }\r\n              else{\r\n                lcd.print('2');\r\n              }\r\n              delay(2000);\r\n              lcd.clear();\r\n              return;\r\n             \r\n            default:\r\n              break;\r\n\r\n          }\r\n        }\r\n        else if(SETTYPE == 1) { \/\/\uff08TS\u30de\u30b9\u30b3\u30f3\u7528\uff09\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\u8a2d\u5b9a\u6642\r\n          switch(ReceiveData[2]) {\r\n            case 0x58: \/\/A\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                if(i == 0) { \/\/\u4e00\u5de1\u51e6\u7406\r\n                  i = 7;\r\n                }\r\n                else {\r\n                  i--;\r\n                }\r\n              lcd.setCursor(15, 0);\r\n              lcd.print(typeName[i]);\r\n              }\r\n              break;\r\n\r\n            case 0x5A: \/\/C\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                if(i == 7) { \/\/\u4e00\u5de1\u51e6\u7406\r\n                  i = 0;\r\n                }\r\n                else {\r\n                  i++;\r\n                }\r\n              lcd.setCursor(15, 0);\r\n              lcd.print(typeName[i]);\r\n              }              \r\n              break;\r\n\r\n            case 0x4B: \/\/S\u30dc\u30bf\u30f3\r\n              type = i + 1; \/\/\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\u6c7a\u5b9a\r\n              lcd.clear();\r\n              lcd.setCursor(0, 0);\r\n              lcd.print(F(\"SET TYPE\"));\r\n              lcd.setCursor(9, 0);\r\n              lcd.print(typeName[i]);\r\n              delay(2000);\r\n              lcd.clear();\r\n              return;\r\n             \r\n            default:\r\n              break;\r\n\r\n          }\r\n        }\r\n        else if(SETTYPE == 2) { \/\/\uff08TS\u30de\u30b9\u30b3\u30f32\u7528\uff09\u30de\u30b9\u30b3\u30f3\u6bb5\u6570\u8a2d\u5b9a\r\n          switch(ReceiveData[2]) {\r\n            case 0x58: \/\/A\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                if(i == 3) { \/\/\u4e00\u5de1\u51e6\u7406\u3002\uff08P3\uff5eP6\u307e\u3067\u306e\u7bc4\u56f2\uff09\r\n                  i = 6;\r\n                }\r\n                else {\r\n                  i--;\r\n                }\r\n              lcd.setCursor(15, 0);\r\n              lcd.print(i);\r\n              }\r\n              break;\r\n\r\n            case 0x5A: \/\/C\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                if(i == 6) { \/\/\u4e00\u5de1\u51e6\u7406\r\n                  i = 3;\r\n                }\r\n                else {\r\n                  i++;\r\n                }\r\n              lcd.setCursor(15, 0);\r\n              lcd.print(i);\r\n              }              \r\n              break;\r\n\r\n            case 0x4B: \/\/S\u30dc\u30bf\u30f3\r\n              notchnum = i; \/\/\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\u6c7a\u5b9a\r\n              lcd.clear();\r\n              lcd.setCursor(0, 0);\r\n              lcd.print(F(\"SET MAX-NOTCH:P \"));\r\n              lcd.setCursor(15, 0);\r\n              lcd.print(i);\r\n              delay(2000);\r\n              lcd.clear();\r\n              return;\r\n             \r\n            default:\r\n              break;\r\n\r\n          }\r\n        }\r\n        else if(SETTYPE == 3) { \/\/\uff08TS\u30de\u30b9\u30b3\u30f32\u7528\uff09\u30d6\u30ec\u30fc\u30ad\u6bb5\u6570\u8a2d\u5b9a\r\n          switch(ReceiveData[2]) {\r\n            case 0x58: \/\/A\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                if(i == 5) { \/\/\u4e00\u5de1\u51e6\u7406\u3002\uff08B5\uff5eB8\u307e\u3067\u306e\u7bc4\u56f2\uff09\r\n                  i = 8;\r\n                }\r\n                else {\r\n                  i--;\r\n                }\r\n              lcd.setCursor(15, 0);\r\n              lcd.print(i);\r\n              }\r\n              break;\r\n\r\n            case 0x5A: \/\/C\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                if(i == 8) { \/\/\u4e00\u5de1\u51e6\u7406\r\n                  i = 5;\r\n                }\r\n                else {\r\n                  i++;\r\n                }\r\n              lcd.setCursor(15, 0);\r\n              lcd.print(i);\r\n              }              \r\n              break;\r\n\r\n            case 0x4B: \/\/S\u30dc\u30bf\u30f3\r\n              brakenum = i; \/\/\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\u6c7a\u5b9a\r\n              lcd.clear();\r\n              lcd.setCursor(0, 0);\r\n              lcd.print(F(\"SET MAX-BRAKE:B \"));\r\n              lcd.setCursor(15, 0);\r\n              lcd.print(i);\r\n              delay(2000);\r\n              lcd.clear();\r\n              return;\r\n             \r\n            default:\r\n              break;\r\n\r\n          }\r\n        }\r\n        else if(SETTYPE == 4) { \/\/\u8d70\u884c\u97f3\u8a2d\u5b9a\u6642\r\n          switch(ReceiveData[2]) {\r\n            case 0x58: \/\/A\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                if(i == 1) { \/\/\u4e00\u5de1\u51e6\u7406\r\n                  i = SOUNDNUM;\r\n                }\r\n                else {\r\n                  i--;\r\n                }\r\n              lcd.setCursor(0, 0);\r\n              lcd.print(soundName[i-1]);\r\n              }\r\n              break;\r\n\r\n            case 0x5A: \/\/C\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                if(i == SOUNDNUM) { \/\/\u4e00\u5de1\u51e6\u7406\r\n                  i = 1;\r\n                }\r\n                else {\r\n                  i++;\r\n                }\r\n              lcd.setCursor(0, 0);\r\n              lcd.print(soundName[i-1]);\r\n              }              \r\n              break;\r\n              \r\n            case 0x4B: \/\/S\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                k = 1;\r\n                return;\r\n              }\r\n              break;\r\n\r\n            default:\r\n              break;\r\n          }\r\n        }\r\n        else if(SETTYPE == 5) { \/\/\u975e\u5e38\u505c\u6b62\u6642\r\n          switch(ReceiveData[2]) {\r\n            case 0x5A: \/\/C\u30dc\u30bf\u30f3\r\n              if(ReceiveData[3] == 0x39) {\r\n                EB = false;\r\n              }         \r\n              return;\r\n\r\n            default:\r\n              break;\r\n          }\r\n        }\r\n        else { \/\/\u901a\u5e38\u904b\u8ee2\u6642\r\n          if(tstype == TS_1){\/\/TS\u30de\u30b9\u30b3\u30f31\u7528\r\n            switch(ReceiveData[2]) {\r\n              case 0x42:\r\n                switch(ReceiveData[3]) {\r\n                  case 0x32: \/\/\u5171\u901aEB\r\n                    masconPos = MC_EB;\r\n                    disp_masconPos = MC_EB;\r\n                    bosenON();\r\n                    break;\r\n  \r\n                  case 0x33: \/\/\u5171\u901aB8\r\n                    if(type==TYPE_B || type==TYPE_D){\r\n                      masconPos = MC_EB;\r\n                      disp_masconPos = MC_EB;\r\n                      bosenON();\r\n                    }\r\n                    else if(type==TYPE_G){\r\n                      masconPos = MC_B8;\r\n                      disp_masconPos = MC_B7;\r\n                      bosenON();\r\n                    }\r\n                    else{\r\n                      masconPos = MC_B8;\r\n                      disp_masconPos = MC_B8;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n                    \r\n                  case 0x34: \/\/\u5171\u901aB7\r\n                    if(type==TYPE_B || type==TYPE_D || type==TYPE_G){\r\n                      masconPos = MC_B8;\r\n                      disp_masconPos = MC_B7;\r\n                      bosenON();\r\n                    }\r\n                    else{\r\n                      masconPos = MC_B7;\r\n                      disp_masconPos = MC_B7;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  default: \/\/TYPEH\u306e(P6)\uff5e(P8)\u306fP5\u6271\u3044\r\n                    masconPos = MC_P6;\r\n                    disp_masconPos = MC_P5;\r\n                    bosenON();\r\n                    \r\n                }\r\n                break;\r\n  \r\n              case 0x45: \/\/\u5171\u901aB6\r\n                if(type==TYPE_A || type==TYPE_C){\r\n                  masconPos = MC_EB;\r\n                  disp_masconPos = MC_EB;\r\n                  bosenON();\r\n                }\r\n                else if(type==TYPE_B || type==TYPE_D || type==TYPE_G){\r\n                  masconPos = MC_B7;\r\n                  disp_masconPos = MC_B6;\r\n                  bosenON();\r\n                }\r\n                else{\r\n                  masconPos = MC_B6;\r\n                  disp_masconPos = MC_B6;\r\n                  bosenON();\r\n                }\r\n                break;\r\n                  \r\n              case 0x41:\r\n                switch(ReceiveData[3]) {\r\n                  case 0x30: \/\/\u5171\u901aB5\r\n                    if(type==TYPE_A || type==TYPE_C){\r\n                      masconPos = MC_B8;\r\n                      disp_masconPos = MC_B5;\r\n                      bosenON();\r\n                    }\r\n                    else if(type==TYPE_G){\r\n                      masconPos = MC_B6;\r\n                      disp_masconPos = MC_B5;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_B5;\r\n                      disp_masconPos = MC_B5;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x31: \/\/\u5171\u901aB4\r\n                    if(type==TYPE_A || type==TYPE_C){\r\n                      masconPos = MC_B7;\r\n                      disp_masconPos = MC_B4;\r\n                      bosenON();\r\n                    }\r\n                    else if(type==TYPE_G){\r\n                      masconPos = MC_B5;\r\n                      disp_masconPos = MC_B4;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_B4;\r\n                      disp_masconPos = MC_B4;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n                    \r\n                  case 0x32: \/\/\u5171\u901aB3\r\n                    if(type==TYPE_A || type==TYPE_C){\r\n                      masconPos = MC_B6;\r\n                      disp_masconPos = MC_B3;\r\n                      bosenON();\r\n                    }\r\n                    else if(type==TYPE_G){\r\n                      masconPos = MC_B4;\r\n                      disp_masconPos = MC_B3;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_B3;\r\n                      disp_masconPos = MC_B3;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x33: \/\/\u5171\u901aB2\r\n                    if(type==TYPE_A || type==TYPE_C){\r\n                      masconPos = MC_B4;\r\n                      disp_masconPos = MC_B2;\r\n                      bosenON();\r\n                    }\r\n                    else if(type==TYPE_G){\r\n                      masconPos = MC_B3;\r\n                      disp_masconPos = MC_B2;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_B2;\r\n                      disp_masconPos = MC_B2;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x34: \/\/\u5171\u901aB1\r\n                    if(type==TYPE_A || type==TYPE_C || type==TYPE_G){\r\n                      masconPos = MC_B2;\r\n                      disp_masconPos = MC_B1;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_B1;\r\n                      disp_masconPos = MC_B1;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x35:\r\n                    switch(ReceiveData[4]) {\r\n                      case 0x30: \/\/\u5171\u901aN\r\n                        masconPos = MC_N;\r\n                        disp_masconPos = MC_N;\r\n                        bosenON();\r\n                        break;\r\n  \r\n                      case 0x35: \/\/\u5171\u901aP1\r\n                        masconPos = MC_P2;\r\n                        disp_masconPos = MC_P1;\r\n                        bosenON();\r\n                        break;\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x36: \/\/\u5171\u901aP2\r\n                    masconPos = MC_P3;\r\n                    disp_masconPos = MC_P2;\r\n                    bosenON();\r\n                    break;\r\n  \r\n                  case 0x37: \/\/\u5171\u901aP3\r\n                    if(type==TYPE_B){\r\n                      masconPos = MC_P5;\r\n                      disp_masconPos = MC_P3;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_P4;\r\n                      disp_masconPos = MC_P3;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x38: \/\/\u5171\u901aP4\r\n                    if(type==TYPE_A || type==TYPE_D || type==TYPE_E){\r\n                      masconPos = MC_P6;\r\n                      disp_masconPos = MC_P4;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_P5;\r\n                      disp_masconPos = MC_P4;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x39: \/\/\u5171\u901aP5\r\n                    masconPos = MC_P6;\r\n                    disp_masconPos = MC_P5;\r\n                    bosenON();\r\n                    break;\r\n                }\r\n                break;\r\n  \r\n              case 0x47: \/\/\u30ec\u30d0\u30fc\u30b5\r\n                switch(ReceiveData[3]) {\r\n                  case 0x39: \/\/\u524d\r\n                    reverserPos = RE_F;\r\n                    forward();\r\n                    bosenON();\r\n                    break;\r\n  \r\n                  case 0x35: \/\/\u5207\r\n                    bosenOFF();\r\n                    reverserPos = RE_N;\r\n                    break;\r\n  \r\n                  case 0x30: \/\/\u5f8c\r\n                    reverserPos = RE_R;\r\n                    reverse();\r\n                    bosenON();\r\n                    break;\r\n  \r\n                }\r\n                break;\r\n                \r\n              case 0x5A: \/\/C\u30dc\u30bf\u30f3\r\n                if(ReceiveData[3] == 0x39) {\r\n                  bosenOFF();\r\n                  spd = 0;\r\n                  mode = MD_STOP;\r\n                  masconPos = MC_EB;\r\n                  reverserPos = RE_N;\r\n                  EB = true;        \r\n                  return;\r\n                }\r\n                break;\r\n  \r\n              case 0x4B: \/\/S\u30dc\u30bf\u30f3\r\n                if(ReceiveData[3] == 0x39) {            \r\n                  if(spd == 0) { \/\/\u8d70\u884c\u97f3\u8a2d\u5b9a\u3078\r\n                    bosenOFF();\r\n                    changeS = true;\r\n                    return;\r\n                  }\r\n                }\r\n                break;\r\n  \r\n              \/\/default:\r\n\r\n            }\r\n          }\r\n          else{\/\/TS\u30de\u30b9\u30b3\u30f32\u7528\r\n            switch(ReceiveData[2]) {\r\n              case 0x42:\r\n                switch(ReceiveData[3]) {\r\n                  case 0x32: \/\/\u5171\u901aEB\r\n                    masconPos = MC_EB;\r\n                    disp_masconPos = MC_EB;\r\n                    bosenON();\r\n                    break;\r\n  \r\n                  case 0x33: \/\/\u5171\u901aB8\r\n                    if(brakenum &lt;= 7){\r\n                      masconPos = MC_EB;\r\n                      disp_masconPos = MC_EB;\r\n                      bosenON();\r\n                    }\r\n                    else{\r\n                      masconPos = MC_B8;\r\n                      disp_masconPos = MC_B8;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n                    \r\n                  case 0x34: \/\/\u5171\u901aB7\r\n                    if(brakenum &lt;= 6){\r\n                      masconPos = MC_EB;\r\n                      disp_masconPos = MC_EB;\r\n                      bosenON();\r\n                    }\r\n                    else if(brakenum == 7){\r\n                      masconPos = MC_B8;\r\n                      disp_masconPos = MC_B7;\r\n                      bosenON();\r\n                    }\r\n                    else{\r\n                      masconPos = MC_B7;\r\n                      disp_masconPos = MC_B7;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  default: \/\/P6\r\n                    masconPos = MC_P6;\r\n                    disp_masconPos = MC_P6;\r\n                    bosenON();\r\n\r\n                }\r\n                break;\r\n  \r\n              case 0x45: \/\/\u5171\u901aB6\r\n                if(brakenum == 5){\r\n                  masconPos = MC_EB;\r\n                  disp_masconPos = MC_EB;\r\n                  bosenON();\r\n                }\r\n                else if(brakenum == 6){\r\n                  masconPos = MC_B8;\r\n                  disp_masconPos = MC_B6;\r\n                  bosenON();\r\n                }\r\n                else{\r\n                  masconPos = MC_B6;\r\n                  disp_masconPos = MC_B6;\r\n                  bosenON();\r\n                }\r\n                break;\r\n                  \r\n              case 0x41:\r\n                switch(ReceiveData[3]) {\r\n                  case 0x30: \/\/\u5171\u901aB5\r\n                    if(brakenum == 5){\r\n                      masconPos = MC_B8;\r\n                      disp_masconPos = MC_B5;\r\n                      bosenON();\r\n                    }\r\n                    else if(brakenum == 6){\r\n                      masconPos = MC_B7;\r\n                      disp_masconPos = MC_B5;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_B5;\r\n                      disp_masconPos = MC_B5;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x31: \/\/\u5171\u901aB4\r\n                    if(brakenum == 5){\r\n                      masconPos = MC_B7;\r\n                      disp_masconPos = MC_B4;\r\n                      bosenON();\r\n                    }\r\n                    else if(brakenum == 6){\r\n                      masconPos = MC_B5;\r\n                      disp_masconPos = MC_B4;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_B4;\r\n                      disp_masconPos = MC_B4;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n                    \r\n                  case 0x32: \/\/\u5171\u901aB3\r\n                    if(brakenum == 5){\r\n                      masconPos = MC_B6;\r\n                      disp_masconPos = MC_B3;\r\n                      bosenON();\r\n                    }\r\n                    else if(brakenum == 6){\r\n                      masconPos = MC_B4;\r\n                      disp_masconPos = MC_B3;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_B3;\r\n                      disp_masconPos = MC_B3;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x33: \/\/\u5171\u901aB2\r\n                    if(brakenum == 5){\r\n                      masconPos = MC_B4;\r\n                      disp_masconPos = MC_B2;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_B2;\r\n                      disp_masconPos = MC_B2;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x34: \/\/\u5171\u901aB1\r\n                    if(brakenum == 5){\r\n                      masconPos = MC_B2;\r\n                      disp_masconPos = MC_B1;\r\n                      bosenON();\r\n                    }\r\n                    else {\r\n                      masconPos = MC_B1;\r\n                      disp_masconPos = MC_B1;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x35:\r\n                    switch(ReceiveData[4]) {\r\n                      case 0x30: \/\/\u5171\u901aN\r\n                        masconPos = MC_N;\r\n                        disp_masconPos = MC_N;\r\n                        bosenON();\r\n                        break;\r\n  \r\n                      case 0x35: \/\/\u5171\u901aP1\r\n                        if(notchnum == 6){\r\n                          masconPos = MC_P1;\r\n                          disp_masconPos = MC_P1;\r\n                          bosenON();\r\n                        }\r\n                        else{\r\n                          masconPos = MC_P2;\r\n                          disp_masconPos = MC_P1;\r\n                          bosenON();\r\n                        }\r\n                        break;\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x36: \/\/\u5171\u901aP2\r\n                    if(notchnum == 6){\r\n                      masconPos = MC_P2;\r\n                      disp_masconPos = MC_P2;\r\n                      bosenON();\r\n                    }\r\n                    else{\r\n                      masconPos = MC_P3;\r\n                      disp_masconPos = MC_P2;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x37: \/\/\u5171\u901aP3\r\n                    if(notchnum == 6){\r\n                      masconPos = MC_P3;\r\n                      disp_masconPos = MC_P3;\r\n                      bosenON();\r\n                    }\r\n                    else if(notchnum == 3){\r\n                      masconPos = MC_P5;\r\n                      disp_masconPos = MC_P3;\r\n                      bosenON();\r\n                    }\r\n                    else{\r\n                      masconPos = MC_P4;\r\n                      disp_masconPos = MC_P3;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x38: \/\/\u5171\u901aP4\r\n                    if(notchnum == 6){\r\n                      masconPos = MC_P4;\r\n                      disp_masconPos = MC_P4;\r\n                      bosenON();\r\n                    }\r\n                    else if(notchnum == 4){\r\n                      masconPos = MC_P6;\r\n                      disp_masconPos = MC_P4;\r\n                      bosenON();\r\n                    }\r\n                    else{\r\n                      masconPos = MC_P5;\r\n                      disp_masconPos = MC_P4;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n  \r\n                  case 0x39: \/\/\u5171\u901aP5\r\n                    if(notchnum == 6){\r\n                      masconPos = MC_P5;\r\n                      disp_masconPos = MC_P5;\r\n                      bosenON();\r\n                    }\r\n                    else{\r\n                      masconPos = MC_P6;\r\n                      disp_masconPos = MC_P5;\r\n                      bosenON();\r\n                    }\r\n                    break;\r\n                }\r\n                break;\r\n  \r\n              case 0x47: \/\/\u30ec\u30d0\u30fc\u30b5\r\n                switch(ReceiveData[3]) {\r\n                  case 0x39: \/\/\u524d\r\n                    reverserPos = RE_F;\r\n                    forward();\r\n                    bosenON();\r\n                    break;\r\n  \r\n                  case 0x35: \/\/\u5207\r\n                    bosenOFF();\r\n                    reverserPos = RE_N;\r\n                    break;\r\n  \r\n                  case 0x30: \/\/\u5f8c\r\n                    reverserPos = RE_R;\r\n                    reverse();\r\n                    bosenON();\r\n                    break;\r\n  \r\n                }\r\n                break;\r\n                \r\n              case 0x5A: \/\/C\u30dc\u30bf\u30f3\r\n                if(ReceiveData[3] == 0x39) {\r\n                  bosenOFF();\r\n                  spd = 0;\r\n                  mode = MD_STOP;\r\n                  masconPos = MC_EB;\r\n                  reverserPos = RE_N;\r\n                  EB = true;        \r\n                  return;\r\n                }\r\n                break;\r\n  \r\n              case 0x4B: \/\/S\u30dc\u30bf\u30f3\r\n                if(ReceiveData[3] == 0x39) {            \r\n                  if(spd == 0) { \/\/\u8d70\u884c\u97f3\u8a2d\u5b9a\u3078\r\n                    bosenOFF();\r\n                    changeS = true;\r\n                    return;\r\n                  }\r\n                }\r\n                break;\r\n  \r\n              \/\/default:\r\n\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n\r\n\r\n\/\/\u8aa4\u767a\u9032\u9632\u6b62\uff08\u59cb\u696d\u691c\u67fb\u306e\u3088\u3046\u306a\u3082\u306e\uff09\u3002TS\u30de\u30b9\u30b3\u30f3\u306e\u73fe\u5728\u30ce\u30c3\u30c1\u4f4d\u7f6e\u3001\u30ec\u30d0\u30fc\u30b5\u4f4d\u7f6e\u306e\u72b6\u614b\u3092\u78ba\u8a8d\u3057\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u8d77\u52d5\u6642\u306e\u6025\u767a\u9032\u3092\u9632\u3050\u3002\r\nvoid SetStatus(){\r\n  \r\n  i = 0;\r\n  \r\n  for(k=0;k&lt;6;k++){\r\n  ReceiveData[k] = {0x00};\r\n  }\r\n\r\n  k = 0;\r\n\r\n    \/\/\u53d7\u4fe1\u30c7\u30fc\u30bf\u521d\u671f\u5316\r\n    while (Serial.available() &gt; 0) { \/\/ \u53d7\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3059\u308b\r\n      Serial.read();\r\n    }\r\n    \r\n    \/\/\u30b9\u30c6\u30fc\u30bf\u30b9\u9001\u4fe1\u8981\u6c42\r\n    do{\r\n      Serial.write(0x0D);\r\n    } while (Serial.available() &gt;= 12); \/\/\u53d7\u4fe1\u5b8c\u4e86\u307e\u3067\u5f85\u6a5f\r\n\r\n    delay(50);\r\n\r\n    for(j = 0; j &lt; 12; j++){\r\n      ReceiveData[j] = Serial.read();\r\n    }\r\n\r\n    if(ReceiveData[0] == 0x54) { \/\/\u30d8\u30c3\u30c0\u304c\u5148\u982d\u3067\u3042\u308b\r\n      if(ReceiveData[1] == 0x53) { \/\/\u30d1\u30b1\u30c3\u30c8\u3092\u6b63\u5e38\u306b\u53d7\u4fe1\u3057\u3066\u3044\u308b\r\n        if(tstype == TS_1){\/\/TS\u30de\u30b9\u30b3\u30f31\u7528\r\n          switch(ReceiveData[2]) {\r\n            case 0x42:\r\n              switch(ReceiveData[3]) {\r\n                case 0x32: \/\/\u5171\u901aEB\r\n                  masconPos = MC_EB;\r\n                  disp_masconPos = MC_EB;\r\n                  masok = true;\r\n                  break;\r\n    \r\n                case 0x33: \/\/\u5171\u901aB8\r\n                  if(type==TYPE_B || type==TYPE_D){\r\n                    masconPos = MC_EB;\r\n                    disp_masconPos = MC_EB;\r\n                    masok = true;\r\n                  }\r\n                  else if(type==TYPE_G){\r\n                    masconPos = MC_B8;\r\n                    disp_masconPos = MC_B7;\r\n                    masok = true;\r\n                  }\r\n                  else{\r\n                    masconPos = MC_B8;\r\n                    disp_masconPos = MC_B8;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n                  \r\n                case 0x34: \/\/\u5171\u901aB7\r\n                  if(type==TYPE_B || type==TYPE_D || type==TYPE_G){\r\n                    masconPos = MC_B8;\r\n                    disp_masconPos = MC_B7;\r\n                    masok = true;\r\n                  }\r\n                  else{\r\n                    masconPos = MC_B7;\r\n                    disp_masconPos = MC_B7;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n    \r\n                default:\r\n                  masok = false;\r\n              }\r\n              break;\r\n    \r\n            case 0x45: \/\/\u5171\u901aB6\r\n              if(type==TYPE_A || type==TYPE_C){\r\n                masconPos = MC_EB;\r\n                disp_masconPos = MC_EB;\r\n                masok = true;\r\n              }\r\n              else if(type==TYPE_B || type==TYPE_D || type==TYPE_G){\r\n                masconPos = MC_B7;\r\n                disp_masconPos = MC_B6;\r\n                masok = true;\r\n              }\r\n              else{\r\n                masconPos = MC_B6;\r\n                disp_masconPos = MC_B6;\r\n                masok = true;\r\n              }\r\n              break;\r\n                \r\n            case 0x41:\r\n              switch(ReceiveData[3]) {\r\n                case 0x30: \/\/\u5171\u901aB5\r\n                  if(type==TYPE_A || type==TYPE_C){\r\n                    masconPos = MC_B8;\r\n                    disp_masconPos = MC_B5;\r\n                    masok = true;\r\n                  }\r\n                  else if(type==TYPE_G){\r\n                    masconPos = MC_B6;\r\n                    disp_masconPos = MC_B5;\r\n                    masok = true;\r\n                  }\r\n                  else {\r\n                    masconPos = MC_B5;\r\n                    disp_masconPos = MC_B5;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n    \r\n                case 0x31: \/\/\u5171\u901aB4\r\n                  if(type==TYPE_A || type==TYPE_C){\r\n                    masconPos = MC_B7;\r\n                    disp_masconPos = MC_B4;\r\n                    masok = true;\r\n                  }\r\n                  else if(type==TYPE_G){\r\n                    masconPos = MC_B5;\r\n                    disp_masconPos = MC_B4;\r\n                    masok = true;\r\n                  }\r\n                  else {\r\n                    masconPos = MC_B4;\r\n                    disp_masconPos = MC_B4;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n                  \r\n                case 0x32: \/\/\u5171\u901aB3\r\n                  if(type==TYPE_A || type==TYPE_C){\r\n                    masconPos = MC_B6;\r\n                    disp_masconPos = MC_B3;\r\n                    masok = true;\r\n                  }\r\n                  else if(type==TYPE_G){\r\n                    masconPos = MC_B4;\r\n                    disp_masconPos = MC_B3;\r\n                    masok = true;\r\n                  }\r\n                  else {\r\n                    masconPos = MC_B3;\r\n                    disp_masconPos = MC_B3;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n    \r\n                case 0x33: \/\/\u5171\u901aB2\r\n                  if(type==TYPE_A || type==TYPE_C){\r\n                    masconPos = MC_B4;\r\n                    disp_masconPos = MC_B2;\r\n                    masok = true;\r\n                  }\r\n                  else if(type==TYPE_G){\r\n                    masconPos = MC_B3;\r\n                    disp_masconPos = MC_B2;\r\n                    masok = true;\r\n                  }\r\n                  else {\r\n                    masconPos = MC_B2;\r\n                    disp_masconPos = MC_B2;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n    \r\n                case 0x34: \/\/\u5171\u901aB1\r\n                  if(type==TYPE_A || type==TYPE_C || type==TYPE_G){\r\n                    masconPos = MC_B2;\r\n                    disp_masconPos = MC_B1;\r\n                    masok = true;\r\n                  }\r\n                  else {\r\n                    masconPos = MC_B1;\r\n                    disp_masconPos = MC_B1;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n\r\n                default:\r\n                  masok = false;\r\n              }\r\n              break;\r\n    \r\n            default:\r\n              masok = false;\r\n          }\r\n\r\n          if(ReceiveData[6] == 0x54) { \/\/\u30d8\u30c3\u30c0\u304c\u5148\u982d\u3067\u3042\u308b\r\n            if(ReceiveData[7] == 0x53) { \/\/\u30d1\u30b1\u30c3\u30c8\u3092\u6b63\u5e38\u306b\u53d7\u4fe1\u3057\u3066\u3044\u308b\r\n              switch(ReceiveData[8]) {\r\n                case 0x47: \/\/\u30ec\u30d0\u30fc\u30b5\r\n                  switch(ReceiveData[9]) {\r\n                    case 0x39: \/\/\u524d\r\n                      reverserPos = RE_F;\r\n                      revok = true;\r\n                      break;\r\n        \r\n                    case 0x35: \/\/\u5207\r\n                      reverserPos = RE_N;\r\n                      revok = true;\r\n                      break;\r\n        \r\n                    case 0x30: \/\/\u5f8c\r\n                      reverserPos = RE_R;\r\n                      revok = true;\r\n                      break;\r\n\r\n                    default:\r\n                      revok = false;\r\n     \r\n                  }\r\n                  break;\r\n        \r\n                default:\r\n                  revok = false;\r\n              }\r\n            }\r\n          }\r\n        }\r\n        else{ \/\/TS\u30de\u30b9\u30b3\u30f32\u7528\r\n          switch(ReceiveData[2]) {\r\n            case 0x42:\r\n              switch(ReceiveData[3]) {\r\n                case 0x32: \/\/\u5171\u901aEB\r\n                  masconPos = MC_EB;\r\n                  disp_masconPos = MC_EB;\r\n                  masok = true;\r\n                  break;\r\n    \r\n                case 0x33: \/\/\u5171\u901aB8\r\n                  if(brakenum &lt;= 7){\r\n                    masconPos = MC_EB;\r\n                    disp_masconPos = MC_EB;\r\n                    masok = true;\r\n                  }\r\n                  else{\r\n                    masconPos = MC_B8;\r\n                    disp_masconPos = MC_B8;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n                  \r\n                case 0x34: \/\/\u5171\u901aB7\r\n                  if(brakenum &lt;= 6){\r\n                    masconPos = MC_EB;\r\n                    disp_masconPos = MC_EB;\r\n                    masok = true;\r\n                  }\r\n                  else if(brakenum == 7){\r\n                    masconPos = MC_B8;\r\n                    disp_masconPos = MC_B7;\r\n                    masok = true;\r\n                  }\r\n                  else{\r\n                    masconPos = MC_B7;\r\n                    disp_masconPos = MC_B7;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n    \r\n                default: \/\/P6\r\n                  masok = false;\r\n              }\r\n              break;\r\n    \r\n            case 0x45: \/\/\u5171\u901aB6\r\n              if(brakenum == 5){\r\n                masconPos = MC_EB;\r\n                disp_masconPos = MC_EB;\r\n                masok = true;\r\n              }\r\n              else if(brakenum == 6){\r\n                masconPos = MC_B8;\r\n                disp_masconPos = MC_B6;\r\n                masok = true;\r\n              }\r\n              else{\r\n                masconPos = MC_B6;\r\n                disp_masconPos = MC_B6;\r\n                masok = true;\r\n              }\r\n              break;\r\n                \r\n            case 0x41:\r\n              switch(ReceiveData[3]) {\r\n                case 0x30: \/\/\u5171\u901aB5\r\n                  if(brakenum == 5){\r\n                    masconPos = MC_B8;\r\n                    disp_masconPos = MC_B5;\r\n                    masok = true;\r\n                  }\r\n                  else if(brakenum == 6){\r\n                    masconPos = MC_B7;\r\n                    disp_masconPos = MC_B5;\r\n                    masok = true;\r\n                  }\r\n                  else {\r\n                    masconPos = MC_B5;\r\n                    disp_masconPos = MC_B5;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n    \r\n                case 0x31: \/\/\u5171\u901aB4\r\n                  if(brakenum == 5){\r\n                    masconPos = MC_B7;\r\n                    disp_masconPos = MC_B4;\r\n                    masok = true;\r\n                  }\r\n                  else if(brakenum == 6){\r\n                    masconPos = MC_B5;\r\n                    disp_masconPos = MC_B4;\r\n                    masok = true;\r\n                  }\r\n                  else {\r\n                    masconPos = MC_B4;\r\n                    disp_masconPos = MC_B4;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n                  \r\n                case 0x32: \/\/\u5171\u901aB3\r\n                  if(brakenum == 5){\r\n                    masconPos = MC_B6;\r\n                    disp_masconPos = MC_B3;\r\n                    masok = true;\r\n                  }\r\n                  else if(brakenum == 6){\r\n                    masconPos = MC_B4;\r\n                    disp_masconPos = MC_B3;\r\n                    masok = true;\r\n                  }\r\n                  else {\r\n                    masconPos = MC_B3;\r\n                    disp_masconPos = MC_B3;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n    \r\n                case 0x33: \/\/\u5171\u901aB2\r\n                  if(brakenum == 5){\r\n                    masconPos = MC_B4;\r\n                    disp_masconPos = MC_B2;\r\n                    masok = true;\r\n                  }\r\n                  else {\r\n                    masconPos = MC_B2;\r\n                    disp_masconPos = MC_B2;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n    \r\n                case 0x34: \/\/\u5171\u901aB1\r\n                  if(brakenum == 5){\r\n                    masconPos = MC_B2;\r\n                    disp_masconPos = MC_B1;\r\n                    masok = true;\r\n                  }\r\n                  else {\r\n                    masconPos = MC_B1;\r\n                    disp_masconPos = MC_B1;\r\n                    masok = true;\r\n                  }\r\n                  break;\r\n\r\n                default:\r\n                  masok = false;\r\n              }\r\n              break;\r\n    \r\n            default:\r\n              masok = false;\r\n          }\r\n    \r\n          if(ReceiveData[6] == 0x54) { \/\/\u30d8\u30c3\u30c0\u304c\u5148\u982d\u3067\u3042\u308b\r\n            if(ReceiveData[7] == 0x53) { \/\/\u30d1\u30b1\u30c3\u30c8\u3092\u6b63\u5e38\u306b\u53d7\u4fe1\u3057\u3066\u3044\u308b\r\n              switch(ReceiveData[8]) {\r\n                case 0x47: \/\/\u30ec\u30d0\u30fc\u30b5\r\n                  switch(ReceiveData[9]) {\r\n                    case 0x39: \/\/\u524d\r\n                      reverserPos = RE_F;\r\n                      revok = true;\r\n                      break;\r\n        \r\n                    case 0x35: \/\/\u5207\r\n                      reverserPos = RE_N;\r\n                      revok = true;\r\n                      break;\r\n        \r\n                    case 0x30: \/\/\u5f8c\r\n                      reverserPos = RE_R;\r\n                      revok = true;\r\n                      break;\r\n\r\n                    default:\r\n                      revok = false;\r\n        \r\n                  }\r\n                  break;\r\n        \r\n                default:\r\n                  revok = false;\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n    else{\r\n      masok = false;\r\n      revok = false;\r\n    }\r\n\r\n    if (masok == false){\r\n      lcd.clear();\r\n      lcd.setCursor(0, 0);\r\n      lcd.print(F(\"Pls Apply BRAKE.\"));\r\n    }\r\n  \r\n  for(k=0;k&lt;12;k++){\r\n  ReceiveData[k] = {0x00};\r\n  }\r\n\r\n  k = 0;\r\n\r\n  if (masok == true &amp;&amp; revok == true){\r\n    i = 1;\r\n    if(reverserPos == RE_R){\r\n      reverse();\r\n    }\r\n    else if(reverserPos == RE_F){\r\n      forward();\r\n    }\r\n    else{\r\n      bosenOFF();\r\n    }\r\n  }\r\n  delay(50);\r\n}\r\n\r\n\r\n\r\n\/\/\u52a0\u901f\u5ea6\u8abf\u6574\u3002\u73fe\u5728\u901f\u5ea6\u304c0km\/h\u306e\u3068\u304d1\u500d\u3001\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0a\u306e\u3068\u304d0\u500d\u306b\u306a\u308b\u3088\u3046\u8abf\u6574\u3002\r\nvoid kaccel(int notch) {\r\n  float rate, rate2;\r\n  switch(notch){\r\n    case 1:\r\n      if (spd == 0 || spd &lt;= (long)keepac[vvvfPtn]*10000) { \/\/\u73fe\u5728\u901f\u5ea6\u304c0km\/h\u307e\u305f\u306f\u5b9a\u52a0\u901f\u5ea6\u9818\u57df\u4ee5\u4e0b\r\n        rate = 1;\r\n      }\r\n      else if (notch1 - spd &gt; 0) {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u672a\u6e80\r\n        rate2 = (float)keepac[vvvfPtn]*10000 \/ (float)spd;\r\n        rate = pow(rate2, acurve);\r\n      }\r\n      else {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0a\r\n       rate = 0; \r\n      }\r\n      kasoku = accelVol * ACCEL_RATIO * 0.2 * rate;\r\n      break;\r\n\r\n    case 2:\r\n      if (spd == 0 || spd &lt;= (long)keepac[vvvfPtn]*10000) { \/\/\u73fe\u5728\u901f\u5ea6\u304c0km\/h\u307e\u305f\u306f\u5b9a\u52a0\u901f\u5ea6\u9818\u57df\u4ee5\u4e0b\r\n        rate = 1;\r\n      }\r\n      else if (notch1 - spd &gt; 0) {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u672a\u6e80\r\n        rate2 = (float)keepac[vvvfPtn]*10000 \/ (float)spd;\r\n        rate = pow(rate2, acurve);\r\n      }\r\n      else {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0a\r\n       rate = 0; \r\n      }\r\n      kasoku = accelVol * ACCEL_RATIO * 0.3 * rate;\r\n      break;\r\n\r\n    case 3:\r\n      if (spd == 0 || spd &lt;= (long)keepac[vvvfPtn]*10000) { \/\/\u73fe\u5728\u901f\u5ea6\u304c0km\/h\u307e\u305f\u306f\u5b9a\u52a0\u901f\u5ea6\u9818\u57df\u4ee5\u4e0b\r\n        rate = 1;\r\n      }\r\n      else if (notch2 - spd &gt; 0) {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0b\r\n        rate2 = (float)keepac[vvvfPtn]*10000 \/ (float)spd;\r\n        rate = pow(rate2, acurve);\r\n      }\r\n      else {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u672a\u6e80\r\n       rate = 0; \r\n      }\r\n      kasoku = accelVol * ACCEL_RATIO * 0.5 * rate;\r\n      break;\r\n\r\n    case 4:\r\n      if (spd == 0 || spd &lt;= (long)keepac[vvvfPtn]*10000) { \/\/\u73fe\u5728\u901f\u5ea6\u304c0km\/h\u307e\u305f\u306f\u5b9a\u52a0\u901f\u5ea6\u9818\u57df\u4ee5\u4e0b\r\n        rate = 1;\r\n      }\r\n      else if (notch3 - spd &gt; 0) {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u672a\u6e80\r\n        rate = ((float)keepac[vvvfPtn]*10000 \/ (float)spd) * 2.0;\r\n        rate2 = (float)keepac[vvvfPtn]*10000 \/ (float)spd;\r\n        rate = pow(rate2, acurve);\r\n      }\r\n      else {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0a\r\n       rate = 0; \r\n      }\r\n      kasoku = accelVol * ACCEL_RATIO * 0.7 * rate;\r\n      break;\r\n\r\n    case 5:\r\n      if (spd == 0 || spd &lt;= (long)keepac[vvvfPtn]*10000) { \/\/\u73fe\u5728\u901f\u5ea6\u304c0km\/h\u307e\u305f\u306f\u5b9a\u52a0\u901f\u5ea6\u9818\u57df\u4ee5\u4e0b\r\n        rate = 1;\r\n      }\r\n      else if (notch4 - spd &gt; 0) {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u672a\u6e80\r\n        rate2 = (float)keepac[vvvfPtn]*10000 \/ (float)spd;\r\n        rate = pow(rate2, acurve);\r\n      }\r\n      else {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0a\r\n       rate = 0; \r\n      }\r\n      kasoku = accelVol * ACCEL_RATIO * 0.9 * rate;\r\n      break;\r\n\r\n    case 6:\r\n      if (spd == 0 || spd &lt;= (long)keepac[vvvfPtn]*10000) { \/\/\u73fe\u5728\u901f\u5ea6\u304c0km\/h\u307e\u305f\u306f\u5b9a\u52a0\u901f\u5ea6\u9818\u57df\u4ee5\u4e0b\r\n        rate = 1;\r\n      }\r\n      else if (notch5 - spd &gt; 0) {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u672a\u6e80\r\n        rate2 = (float)keepac[vvvfPtn]*10000 \/ (float)spd;\r\n        rate = pow(rate2, acurve);\r\n      }\r\n      else {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u4ee5\u4e0a\r\n       rate = 0; \r\n      }\r\n      kasoku = accelVol * ACCEL_RATIO * rate;\r\n      break;\r\n  }\r\n}\r\n\r\n\r\n\r\n\/\/\u6e1b\u901f\u5ea6\u3002\u73fe\u5728\u901f\u5ea6\u304c0km\/h\u306e\u3068\u304d1\u500d\u3001P5\u306e\u6700\u9ad8\u901f\u5ea6\u306e\u3068\u304d\u7d040.3\u500d\u306b\u306a\u308b\u3088\u3046\u8abf\u6574\u3002\r\nvoid kbrake(int notch) {\r\n  float rate;\r\n  if (spd == 0) { \/\/0km\/h\r\n    rate = 1;\r\n  }\r\n  else{\r\n    rate = 1 - sqrt((float)((spd * bcurve) \/ notch5));\r\n  }\r\n  kasoku = accelVol * BRAKE_RATIO * notch * rate;\r\n}\r\n\r\n\r\n\r\n\/\/\u7dca\u6025\u505c\u6b62\r\nvoid stopEB() {\r\n\r\n  \/\/\u53d7\u4fe1\u30c7\u30fc\u30bf\u521d\u671f\u5316\r\n  while (Serial.available() &gt; 0) { \/\/ \u53d7\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3059\u308b\r\n    Serial.read();\r\n  }\r\n  \r\n  for(k=0;k&lt;6;k++){\r\n  ReceiveData[k] = {0x00};\r\n  }\r\n\r\n  k = 0;\r\n\r\n  lcd.clear();\r\n  lcd.setCursor(2, 0);\r\n  lcd.print(F(\"NOW STOPPING\"));\r\n  lcd.setCursor(0, 1);\r\n  lcd.print(F(\"To Reset:Push C\"));\r\n  \r\n  do {\r\n    Receive(5);\r\n  } while (EB == true);\r\n\r\n  \/\/\u8aa4\u767a\u9032\u9632\u6b62\u52d5\u4f5c\r\n  do {\r\n    SetStatus();\r\n  } while (i == 0);\r\n  \r\n  lcd.clear();\r\n  \r\n  lcd.setCursor(0, 0);\r\n  lcd.print(F(\"ReStart Controll\"));\r\n  delay(1000);\r\n  lcd.clear();\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(soundName[vvvfPtn]);\r\n  lcd.setCursor(0, 1);\r\n  if(tstype==TS_1){\r\n    lcd.print(F(\"&lt; &gt;    km\/h&lt; &gt;\"));\r\n    lcd.setCursor(1, 1);\r\n    lcd.print(typeName[type - 1]); \/\/TYPE\u8868\u793a\u3082\u3064\u3051\u308b\u3002\u7121\u99c4\u306b\u3002\r\n  }\r\n  else{\r\n    lcd.print(F(\"       km\/h&lt; &gt;\"));\r\n  }\r\n\r\n  dispPos();\r\n  \r\n}\r\n\r\n\r\n\r\n\/\/\u6bcd\u7dda\u5f15\u304d\u901a\u3057\uff08\u7dda\u8def\u51fa\u529b\u5236\u5fa1\u7528\uff09\u30ea\u30ec\u30fc\u5236\u5fa1\r\nvoid bosenON() { \/\/\u30ea\u30ec\u30fcON\r\n  if(reverserPos != RE_N) {\r\n    if(relay==true) {\r\n      digitalWrite(P_BOSEN, LOW);\r\n    }\r\n    else {\r\n      digitalWrite(P_BOSEN, HIGH);\r\n    }\r\n  }\r\n}\r\n\r\nvoid bosenOFF() { \/\/\u30ea\u30ec\u30fcOFF\r\n  if(relay==true) {\r\n    digitalWrite(P_BOSEN, HIGH);\r\n  }\r\n  else {\r\n    digitalWrite(P_BOSEN, LOW);\r\n  }\r\n}\r\n\r\n\r\n\r\n\/\/\u65b9\u5411\u5236\u5fa1\r\nvoid forward() { \/\/\u30ea\u30ec\u30fcOFF\r\n  if(relay==true) {\r\n    digitalWrite(P_DIREC, HIGH);\r\n  }\r\n  else {\r\n    digitalWrite(P_DIREC, LOW);\r\n  }\r\n}\r\n\r\nvoid reverse() { \/\/\u30ea\u30ec\u30fcON\r\n  if(relay==true) {\r\n    digitalWrite(P_DIREC, LOW);\r\n  }\r\n  else {\r\n    digitalWrite(P_DIREC, HIGH);\r\n  }\r\n}\r\n\r\n\r\n\r\n\/\/\u5e38\u70b9\u706f\u304a\u3088\u3073\u8d70\u884c\u5236\u5fa1\r\nvoid pwm(){\r\n  \r\n  \/\/\u5e38\u70b9\u706f\u7528\u3068\u8d70\u884c\u7528\r\n  TCCR2A = B10100001;\r\n  TCCR2B = B00000001;\r\n  OCR2B = (unsigned int)(255 * ((float)(lightVol * lmax) \/ 10230.0));\r\n  OCR2A = (unsigned int)(255 * duty);\r\n\r\n}\r\n\r\n\r\n\r\n\/\/\u8d70\u884c\u97f3\u5236\u5fa1\r\nvoid spwm(int stype){\r\n  \r\n  \/\/\u8d70\u884c\u97f3\u7528\r\n  TCCR1A = B00100001;\r\n  TCCR1B = B00010001;\r\n  \r\n  if(stype == 0){\r\n    OCR1A = (unsigned int)(8000000 \/ Afrq); \/\/ TOP\u5024 = CPU\u306e\u52d5\u4f5c\u5468\u6ce2\u6570 \/ 2 \/ \u5206\u5468 \/ \u5e0c\u671b\u5468\u6ce2\u6570 = 16,000,000 \/ 2 \/ 1 \/ frq\r\n    OCR1B = (unsigned int)(8000000 \/ Afrq \/ 100);\r\n  }\r\n  else if(stype == 1){\r\n    OCR1A = (unsigned int)(8000000 \/ Bfrq); \/\/ TOP\u5024 = CPU\u306e\u52d5\u4f5c\u5468\u6ce2\u6570 \/ 2 \/ \u5206\u5468 \/ \u5e0c\u671b\u5468\u6ce2\u6570 = 16,000,000 \/ 2 \/ 1 \/ frq\r\n    OCR1B = (unsigned int)(8000000 \/ Bfrq \/ 100);\r\n  }\r\n  else{\r\n    OCR1A = (unsigned int)400; \/\/ TOP\u5024 = CPU\u306e\u52d5\u4f5c\u5468\u6ce2\u6570 \/ 2 \/ \u5206\u5468 \/ \u5e0c\u671b\u5468\u6ce2\u6570 = 16,000,000 \/ 2 \/ 1 \/ 20000 = 400\r\n    OCR1B = (unsigned int)(1);\r\n  }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/\/ ***********************************************\r\n\/\/ setup\u95a2\u6570\u3002\u6700\u521d\u306b1\u5ea6\u3060\u3051\u5b9f\u884c\u3002\r\n\/\/ ***********************************************\r\nvoid setup() {\r\n  \/\/ PWM PIN\u8a2d\u5b9a\r\n  pinMode(P_PWM2A, OUTPUT); \/\/ \u5e38\u70b9\u706f\u7528PWM\u51fa\u529b\r\n  pinMode(P_PWM1B, OUTPUT); \/\/ \u8d70\u884c\u97f3(VVVF\u97f3)\u7528PWM\u51fa\u529b\r\n  pinMode(P_PWM2B, OUTPUT); \/\/ \u8d70\u884c\u7528PWM\u51fa\u529b\r\n  \r\n  \/\/\u30ea\u30ec\u30fc\u5236\u5fa1\u7528\r\n  pinMode(P_BOSEN, OUTPUT); \/\/ \u6bcd\u7dda\u5f15\u304d\u901a\u3057\uff08\u7dda\u8def\u51fa\u529b\u5236\u5fa1\u7528\uff09\u30ea\u30ec\u30fc\r\n  pinMode(P_DIREC, OUTPUT); \/\/ \u65b9\u5411\u6307\u793a\u30ea\u30ec\u30fc\r\n\r\n  bosenOFF();\r\n\r\n  \/\/ WELCOME\u30e1\u30c3\u30bb\u30fc\u30b8\u8868\u793a\r\n  lcd.begin(16, 2);  \/\/ 16\u6841\u30012\u884c\u30bf\u30a4\u30d7\u3068\u5ba3\u8a00\u3002\r\n  lcd.clear();\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(MOJI1);\r\n  delay(2000);\r\n  lcd.setCursor(0, 1);\r\n  lcd.print(MOJI2);\r\n  delay(2000);\r\n  lcd.clear();\r\n\r\n  \/\/ \u8d70\u884c\u97f3\u30d1\u30bf\u30fc\u30f3\u5404\u958b\u59cb\u4f4d\u7f6e\u53d6\u5f97\u51e6\u7406\u3002\r\n  \/\/ soundData\u914d\u5217\u306e\u3046\u3061\u3001\u5404\u30d1\u30bf\u30fc\u30f3\u306e\u6700\u521d\u306e\u5024\u3068\u306a\u308b\u914d\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092dataNum\u3067\u4fdd\u6301\u3059\u308b\u3002\r\n  AdataNum[0] = 0;\r\n  BdataNum[0] = 0;\r\n  \r\n  k = 0;\r\n \r\n  for (i=1; i&lt;=SOUNDNUM; i++) {\r\n    while (pgm_read_word_near(&amp;AsoundDataBase[k]) != -1) {\r\n      k++;\r\n    }\r\n    k++;\r\n    AdataNum[i] = k;\r\n  }\r\n\r\n  k = 0;\r\n  \r\n  for (i=1; i&lt;=SOUNDNUM; i++) {\r\n    while (pgm_read_word_near(&amp;BsoundDataBase[k]) != -1) {\r\n      k++;\r\n    }\r\n    k++;\r\n    BdataNum[i] = k;\r\n  }\r\n\r\n  k = 0;\r\n  \r\n  for (i = 0; i&lt;SDATANUM; i++)\r\n  {\r\n  AsoundData[k] = 0;\r\n  k++;\r\n  }\r\n\r\n  k = 0;\r\n \r\n  for (i = 0; i&lt;SDATANUM; i++)\r\n  {\r\n  BsoundData[k] = 0;\r\n  k++;\r\n  }\r\n  \r\n  lcd.home();  \/\/ 1\u6587\u5b57\u76ee\u30011\u884c\u76ee\r\n\r\n\r\n\r\n  \/\/TS\u30de\u30b9\u30b3\u30f31\uff08\u30ef\u30f3\u30cf\u30f3\u30c9\u30eb\uff09\u3068TS\u30de\u30b9\u30b3\u30f32\uff08\u30c4\u30fc\u30cf\u30f3\u30c9\u30eb\uff09\u306e\u9078\u629e\r\n  lcd.clear();\r\n  delay(180);\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(F(\"SELECT TSMASCON.\"));\r\n  delay(480);  \r\n  lcd.clear();\r\n  \r\n  i = 0;\r\n  \r\n  Serial.begin(19200);\r\n  delay(480);\r\n\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(F(\"&gt;1Handle 2Handle\"));\r\n  lcd.setCursor(0, 1);\r\n  lcd.print(F(\"&lt;A  Enter:S  C&gt; \"));\r\n\r\n  \/\/\u3044\u304d\u306a\u308a\u6c7a\u5b9a\u3057\u3066\u3057\u307e\u3046\u53ef\u80fd\u6027\u3092\u6392\u9664\u3002\r\n  while (Serial.available() &gt; 0) { \/\/ \u53d7\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3059\u308b\r\n    Serial.read();\r\n  }\r\n\r\n  do {\r\n    Receive(0);\r\n  } while(tstype == 0);\r\n\r\n\r\n  if(tstype==TS_1){ \/\/\u30de\u30b9\u30b3\u30f3\u30bf\u30a4\u30d7\u306e\u8a2d\u5b9a\r\n    lcd.clear();\r\n    delay(180);\r\n    lcd.setCursor(0, 0);\r\n    lcd.print(F(\"SET MASCONTYPE: \"));\r\n    lcd.setCursor(0, 1);\r\n    lcd.print(F(\"&lt;A  Enter:S  C&gt; \"));\r\n    \r\n    i = 0;\r\n  \r\n    \/\/\u3044\u304d\u306a\u308a\u6c7a\u5b9a\u3057\u3066\u3057\u307e\u3046\u53ef\u80fd\u6027\u3092\u6392\u9664\u3002\r\n    while (Serial.available() &gt; 0) { \/\/ \u53d7\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3059\u308b\r\n      Serial.read();\r\n    }\r\n  \r\n    lcd.setCursor(15, 0);\r\n    lcd.print(typeName[0]); \/\/\u521d\u671f\u72b6\u614b\u306eTYPE A\u3092\u8868\u793a\u3057\u3066\u304a\u304f\r\n    \r\n    do {\r\n      Receive(1);\r\n    } while(type == 0);\r\n  }\r\n  else{\r\n    lcd.clear();\r\n    delay(180);\r\n    lcd.setCursor(0, 0);\r\n    lcd.print(F(\"SET MAX-NOTCH:P \"));\r\n    lcd.setCursor(0, 1);\r\n    lcd.print(F(\"&lt;A  Enter:S  C&gt; \"));\r\n    delay(480);\r\n    \r\n    i = 3;\r\n  \r\n    \/\/\u3044\u304d\u306a\u308a\u6c7a\u5b9a\u3057\u3066\u3057\u307e\u3046\u53ef\u80fd\u6027\u3092\u6392\u9664\u3002\r\n    while (Serial.available() &gt; 0) { \/\/ \u53d7\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3059\u308b\r\n      Serial.read();\r\n    }\r\n  \r\n    lcd.setCursor(15, 0);\r\n    lcd.print('3'); \/\/\u6700\u5c0f\u3067\u3042\u308bP3\u3092\u8868\u793a\u3057\u3066\u304a\u304f\r\n    \r\n    do {\r\n      Receive(2); \/\/\u30de\u30b9\u30b3\u30f3\u6bb5\u6570\u8a2d\u5b9a\r\n    } while(notchnum == 0);\r\n\r\n    lcd.clear();\r\n    delay(180);\r\n    lcd.setCursor(0, 0);\r\n    lcd.print(F(\"SET MAX-BRAKE:B \"));\r\n    lcd.setCursor(0, 1);\r\n    lcd.print(F(\"&lt;A  Enter:S  C&gt; \"));\r\n    delay(480);\r\n    \r\n    i = 5;\r\n  \r\n    \/\/\u3044\u304d\u306a\u308a\u6c7a\u5b9a\u3057\u3066\u3057\u307e\u3046\u53ef\u80fd\u6027\u3092\u6392\u9664\u3002\r\n    while (Serial.available() &gt; 0) { \/\/ \u53d7\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3059\u308b\r\n      Serial.read();\r\n    }\r\n  \r\n    lcd.setCursor(15, 0);\r\n    lcd.print('5'); \/\/\u6700\u5c0f\u3067\u3042\u308bB5\u3092\u8868\u793a\u3057\u3066\u304a\u304f\r\n    \r\n    do {\r\n      Receive(3); \/\/\u30d6\u30ec\u30fc\u30ad\u6bb5\u6570\u8a2d\u5b9a\r\n    } while(brakenum == 0);\r\n  }\r\n  \r\n  SetSound();\r\n\r\n  \/\/\u521d\u671f\u5316\r\n  while (Serial.available() &gt; 0) { \/\/ \u53d7\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3059\u308b\r\n    Serial.read();\r\n  }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/\/ ***********************************************\r\n\/\/ ***********************************************\r\n\/\/ loop\u95a2\u6570\r\n\/\/ ***********************************************\r\n\/\/ ***********************************************\r\nvoid loop() {\r\n  \/\/\u52d5\u4f5c\u901f\u5ea6\u78ba\u4fdd\u306e\u305f\u3081\u3001\u97f3\u30c7\u30fc\u30bf\u3092\u30e1\u30e2\u30ea\u306b\u683c\u7d0d\u3002\r\n\r\n  accelVol = analogRead(P_ACCEL_DIAL) \/ 32 + 1; \/\/ analogRead 0\uff5e1023 \u2192 1\uff5e16\r\n  lightVol = analogRead(P_LIGHT_DIAL);  \/\/ analogRead 0\uff5e1023\r\n\r\n  Receive(6);\r\n\r\n  dispPos();\r\n\r\n  switch (masconPos) {\r\n  case MC_EB:\r\n    \/\/ \u975e\u5e38\r\n    orderSpd = 0;\r\n    kbrake(9);\r\n    mode = MD_NTRL;\r\n    break;\r\n  case MC_B8:\r\n    \/\/ \u5236\u52d58\r\n    orderSpd = 0;\r\n    kbrake(8);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case MC_B7:\r\n    \/\/ \u5236\u52d57\r\n    orderSpd = 0;\r\n    kbrake(7);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case MC_B6:\r\n    \/\/ \u5236\u52d56\r\n    orderSpd = 0;\r\n    kbrake(6);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case MC_B5:\r\n    \/\/ \u5236\u52d55\r\n    orderSpd = 0;\r\n    kbrake(5);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case MC_B4:\r\n    \/\/ \u5236\u52d54\r\n    orderSpd = 0;\r\n    kbrake(4);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case MC_B3:\r\n    \/\/ \u5236\u52d53\r\n    orderSpd = 0;\r\n    kbrake(3);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case MC_B2:\r\n    \/\/ \u5236\u52d52\r\n    orderSpd = 0;\r\n    kbrake(2);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case MC_B1:\r\n    \/\/ \u5236\u52d51\r\n    orderSpd = 0;\r\n    kbrake(1);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case MC_N:\r\n    \/\/ \u60f0\u884c\r\n    orderSpd = 0;\r\n    mode = MD_NTRL;\r\n    break;\r\n  case MC_P1:\r\n    \/\/ \u529b\u884c1\r\n    orderSpd = notch1;\r\n    kaccel(1);\r\n    mode = MD_ACCEL;\r\n    break;\r\n  case MC_P2:\r\n    \/\/ \u529b\u884c2\r\n    orderSpd = notch1;\r\n    kaccel(2);\r\n    mode = MD_ACCEL;\r\n    break;\r\n  case MC_P3:\r\n    \/\/ \u529b\u884c3\r\n    orderSpd = notch2;\r\n    kaccel(3);\r\n    mode = MD_ACCEL;\r\n    break;\r\n  case MC_P4:\r\n    \/\/ \u529b\u884c4\r\n    orderSpd = notch3;\r\n    kaccel(4);\r\n    mode = MD_ACCEL;\r\n    break;\r\n  case MC_P5:\r\n    \/\/ \u529b\u884c5\r\n    orderSpd = notch4;\r\n    kaccel(5);\r\n    mode = MD_ACCEL;\r\n    break;\r\n\r\n  case MC_P6:\r\n    \/\/ \u529b\u884c6\r\n    orderSpd = notch5;\r\n    kaccel(6);\r\n    mode = MD_ACCEL;\r\n    break;\r\n  }\r\n  \r\n  for ( k = 0; k &lt; ANTI_CHAT_RATE; k++ ) { \/\/ \u30c1\u30e3\u30bf\u30ea\u30f3\u30b0\u9632\u6b62\u30eb\u30fc\u30d7\r\n\r\n    if (EB == true) {\r\n      break;\r\n    }\r\n    \r\n    if (spd &lt; orderSpd) {\r\n      if (orderSpd - spd &lt;= kasoku) {\r\n        spd = orderSpd;\r\n      } else {\r\n        spd = spd + kasoku;\r\n      }\r\n    }\r\n    else if ( spd &gt; 0 ) {\r\n      if ( masconPos &gt;= MC_P1 ) {\r\n        \/\/ \u529b\u884c\r\n        if ( spd - orderSpd &lt;= 0 ) {\r\n          spd = orderSpd;\r\n        } else {\r\n          spd = spd * (1.0 - (pcoast \/ 10000.0));\r\n        }\r\n      }\r\n      else if ( masconPos == MC_N ) {\r\n        \/\/ \u60f0\u884c\r\n        spd = spd * (1.0 - (coast \/ 10000.0));\r\n      }\r\n      else {\r\n        \/\/ \u5236\u52d5\r\n        if ( spd - kasoku &lt; 0 ) {\r\n          spd = 0;\r\n        } else {\r\n          spd = spd - kasoku;\r\n\r\n          if ( spd &lt; stopSpd ) {\r\n          \/\/ \u60f0\u884cor\u5236\u52d5\u30ce\u30c3\u30c1\u306e\u3068\u304d\u3001\u30d4\u30bf\u505c\u6b62\u901f\u5ea6\u5024\u3088\u308a\u3082\u73fe\u884c\u901f\u5ea6\u304c\u4e0b\u56de\u3063\u305f\u3089\u30d4\u30bf\u30c3\u3068\u505c\u6b62\u3055\u305b\u308b\u3002\r\n          spd = 0;\r\n          mode = MD_STOP;\r\n          }\r\n        }\r\n      }\r\n    }\r\n  \r\n    \r\n    duty = ((float)spd * adrate \/ 4000000.0)* sscale;\r\n    if (duty &gt; 1.0){\r\n      duty = 1.0;\r\n    }\r\n\r\n    if(viewduty == true){\r\n      lcd.setCursor(0, 0);\r\n      lcd.print(\"DUTY=           \");\r\n      lcd.setCursor(5, 0);\r\n      lcd.print(duty);\r\n    }\r\n  \r\n    if (mode == MD_ACCEL) { \r\n      for (i = 0; ;i = i + 3) {\r\n          AsttFrq = AsoundData[i];\r\n          AendFrq = AsoundData[i + 1];\r\n            if (i == 0) {\r\n            AsttSpd = 0;\r\n            AendSpd = AsoundData[i + 2];\r\n            }\r\n            else { \r\n            AsttSpd = AsoundData[i - 1];\r\n            AendSpd = AsoundData[i + 2];\r\n            }\r\n  \r\n        if (i == 0 &amp;&amp; AsttFrq == -1) { \/\/ \u8d70\u884c\u97f3\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306e\u51e6\u7406\r\n\r\n          pwm();\r\n          spwm(2);\r\n          \r\n          break;\r\n        }\r\n  \r\n        if (mode == MD_BRAKE) { \/\/ \u5909\u8abf\u30e2\u30fc\u30c9\u5207\u66ff\r\n        break; \r\n        }\r\n        \r\n        if (mode == MD_STOP) { \/\/ \u5909\u8abf\u30e2\u30fc\u30c9\u5207\u66ff\r\n        break; \r\n        }\r\n  \r\n        if (mode == MD_NTRL) { \/\/ \u5909\u8abf\u30e2\u30fc\u30c9\u5207\u66ff\r\n        break; \r\n        }\r\n  \r\n        if (AsttFrq == -1) { \/\/ \u9ad8\u901f\u6642 VVVF\u97f3\u505c\u6b62\r\n\r\n          pwm();\r\n          spwm(2);\r\n          \r\n          break;\r\n        }\r\n  \r\n        \/\/ VVVF\u97f3\r\n        if ((spd &gt;= AsttSpd * 10000) &amp;&amp; (spd &lt; AendSpd * 10000)) {\r\n          Afrq = ( AendFrq * 10 - AsttFrq * 10 ) \/ ( AendSpd - AsttSpd ) * ( spd - AsttSpd * 10000 ) \/ 100000 + AsttFrq;\r\n          if ( Afrq &lt; 50 )        Afrq = 50;\r\n          else if ( Afrq &gt; 100000 ) Afrq = 100000;\r\n          \r\n          pwm();\r\n          spwm(0);\r\n          \r\n          break;\r\n        }\r\n      }\r\n    }\r\n    else if (mode == MD_BRAKE) {\r\n      for (i = 0; ;i = i + 3) {\r\n        BsttFrq = BsoundData[i];\r\n        BendFrq = BsoundData[i + 1];\r\n        if (i == 0) {\r\n        BsttSpd = 0;\r\n        BendSpd = BsoundData[i + 2];\r\n        }\r\n        else { \r\n        BsttSpd = BsoundData[i - 1];\r\n        BendSpd = BsoundData[i + 2];\r\n        }\r\n  \r\n        if (i == 0 &amp;&amp; BsttFrq == -1) { \/\/ \u8d70\u884c\u97f3\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306e\u51e6\u7406\r\n\r\n          pwm();\r\n          spwm(2);\r\n          \r\n          break;\r\n        }\r\n  \r\n        if (mode == MD_ACCEL) { \/\/ \u5909\u8abf\u30e2\u30fc\u30c9\u5207\u66ff\r\n        break; \r\n        }\r\n        \r\n        if (mode == MD_STOP) { \/\/ \u5909\u8abf\u30e2\u30fc\u30c9\u5207\u66ff\r\n        break; \r\n        }\r\n     \r\n        if (mode == MD_NTRL) { \/\/ \u5909\u8abf\u30e2\u30fc\u30c9\u5207\u66ff\r\n        break; \r\n        }\r\n         \r\n        if (BsttFrq == -1) { \/\/ \u9ad8\u901f\u6642 VVVF\u97f3\u505c\u6b62\r\n \r\n          pwm();\r\n          spwm(2);\r\n          \r\n          break;\r\n        }\r\n  \r\n        \/\/ VVVF\u97f3\r\n        if ((spd &gt;= BsttSpd * 10000) &amp;&amp; (spd &lt; BendSpd * 10000)) {\r\n          Bfrq = ( BendFrq * 10 - BsttFrq * 10 ) \/ ( BendSpd - BsttSpd ) * ( spd - BsttSpd * 10000 ) \/ 100000 + BsttFrq;\r\n          if ( Bfrq &lt; 50 )        Bfrq = 50;\r\n          else if ( Bfrq &gt; 100000 ) Bfrq = 100000;\r\n          \r\n          pwm();\r\n          spwm(1);\r\n          \r\n          break;\r\n        }\r\n      }\r\n    }\r\n    else if (mode == MD_NTRL) { \/\/ \u60f0\u884c\u30fb\u975e\u5e38\r\n      \r\n      pwm();\r\n      spwm(2);\r\n      \r\n    }\r\n    else { \/\/ \u505c\u6b62\u6642 \u97f3\u505c\u6b62\r\n\r\n      pwm();\r\n\r\n      \/\/\u8d70\u884c\u97f3\u7528\r\n      TCCR1A = B00000001;\r\n      TCCR1B = B00010001;\r\n\r\n    }\r\n  \r\n    dispSpd();\r\n\r\n  }\r\n\r\n  if (changeS == true) {\r\n    SetSound();\r\n  }\r\n\r\n  if (EB == true) {\r\n    stopEB();\r\n  }\r\n  \r\n}<\/pre>\n<p>&nbsp;<\/p>\n<div class=\"veu_socialSet veu_socialSet-position-after veu_contentAddSection\"><script>window.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src=\"https:\/\/platform.twitter.com\/widgets.js\";fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\"script\",\"twitter-wjs\"));<\/script><ul><li class=\"sb_facebook sb_icon\"><a href=\"\/\/www.facebook.com\/sharer.php?src=bm&u=https%3A%2F%2Fpwm.sigris-rabo.work%2F%3Fpage_id%3D199&amp;t=Master+Controller1%E3%83%BB2%E5%B0%82%E7%94%A8%E3%83%91%E3%83%AF%E3%83%BC%E3%83%91%E3%83%83%E3%82%AF+%7C+sig-ris%E5%B7%A5%E6%88%BF+%E5%88%B6%E5%BE%A1%E8%A3%85%E7%BD%AE%E9%83%A8\" target=\"_blank\" onclick=\"window.open(this.href,'FBwindow','width=650,height=450,menubar=no,toolbar=no,scrollbars=yes');return false;\"><span class=\"vk_icon_w_r_sns_fb icon_sns\"><\/span><span class=\"sns_txt\">Facebook<\/span><span class=\"veu_count_sns_fb\"><\/span><\/a><\/li><li class=\"sb_twitter sb_icon\"><a href=\"\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fpwm.sigris-rabo.work%2F%3Fpage_id%3D199&amp;text=Master+Controller1%E3%83%BB2%E5%B0%82%E7%94%A8%E3%83%91%E3%83%AF%E3%83%BC%E3%83%91%E3%83%83%E3%82%AF+%7C+sig-ris%E5%B7%A5%E6%88%BF+%E5%88%B6%E5%BE%A1%E8%A3%85%E7%BD%AE%E9%83%A8\" target=\"_blank\" ><span class=\"vk_icon_w_r_sns_twitter icon_sns\"><\/span><span class=\"sns_txt\">twitter<\/span><\/a><\/li><li class=\"sb_hatena sb_icon\"><a href=\"\/\/b.hatena.ne.jp\/add?mode=confirm&url=https%3A%2F%2Fpwm.sigris-rabo.work%2F%3Fpage_id%3D199&amp;title=Master+Controller1%E3%83%BB2%E5%B0%82%E7%94%A8%E3%83%91%E3%83%AF%E3%83%BC%E3%83%91%E3%83%83%E3%82%AF+%7C+sig-ris%E5%B7%A5%E6%88%BF+%E5%88%B6%E5%BE%A1%E8%A3%85%E7%BD%AE%E9%83%A8\" target=\"_blank\"  onclick=\"window.open(this.href,'Hatenawindow','width=650,height=450,menubar=no,toolbar=no,scrollbars=yes');return false;\"><span class=\"vk_icon_w_r_sns_hatena icon_sns\"><\/span><span class=\"sns_txt\">Hatena<\/span><span class=\"veu_count_sns_hb\"><\/span><\/a><\/li><li class=\"sb_pocket sb_icon\"><a href=\"\/\/getpocket.com\/edit?url=https%3A%2F%2Fpwm.sigris-rabo.work%2F%3Fpage_id%3D199&title=Master+Controller1%E3%83%BB2%E5%B0%82%E7%94%A8%E3%83%91%E3%83%AF%E3%83%BC%E3%83%91%E3%83%83%E3%82%AF+%7C+sig-ris%E5%B7%A5%E6%88%BF+%E5%88%B6%E5%BE%A1%E8%A3%85%E7%BD%AE%E9%83%A8\" target=\"_blank\"  onclick=\"window.open(this.href,'Pokcetwindow','width=650,height=450,menubar=no,toolbar=no,scrollbars=yes');return false;\"><span class=\"vk_icon_w_r_sns_pocket icon_sns\"><\/span><span class=\"sns_txt\">Pocket<\/span><span class=\"veu_count_sns_pocket\"><\/span><\/a><\/li><\/ul><\/div><!-- [ \/.socialSet ] -->","protected":false},"excerpt":{"rendered":"<p>Master Controller for Train Simulator\uff08\u30ef\u30f3\u30cf\u30f3\u30c9\u30eb\u306e\u3082\u306e\u3001\u4ee5\u4e0bTS\u30de\u30b9\u30b3\u30f3\uff09\u304a\u3088\u3073\u3001 Master Controller for Train Simulator2\uff08\u30c4\u30fc\u30cf\u30f3\u30c9\u30eb\u306e\u3082\u306e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=\/wp\/v2\/pages\/199"}],"collection":[{"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=199"}],"version-history":[{"count":27,"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=\/wp\/v2\/pages\/199\/revisions"}],"predecessor-version":[{"id":306,"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=\/wp\/v2\/pages\/199\/revisions\/306"}],"wp:attachment":[{"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}