{"id":236,"date":"2020-11-18T06:31:20","date_gmt":"2020-11-17T21:31:20","guid":{"rendered":"https:\/\/pwm.sigris-rabo.work\/?page_id=236"},"modified":"2021-07-03T16:31:58","modified_gmt":"2021-07-03T07:31:58","slug":"%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%ef%bc%88v3-00%ef%bc%89","status":"publish","type":"page","link":"https:\/\/pwm.sigris-rabo.work\/?page_id=236","title":{"rendered":"\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\uff08V3.00\uff09"},"content":{"rendered":"<h4>\u203b\u3053\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u6700\u65b0\u7248\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/h4>\n<p>&nbsp;<\/p>\n<h3>\uff1c\u66f4\u65b0\u5185\u5bb9\uff1e<\/h3>\n<p>\uff08V3.00\uff09<\/p>\n<p>\u30fbPWM\u5468\u6ce2\u6570\u304a\u3088\u3073\u51fa\u529b\u8a2d\u5b9a\u306e\u5909\u66f4<\/p>\n<p>\u2192\u3088\u308a\u4f4e\u901f\u3067\u306e\u8d70\u884c\u304c\u53ef\u80fd\u3068\u306a\u308a\u307e\u3057\u305f\u3002\u5e38\u70b9\u706f\u3064\u307e\u307f\u3092\u5217\u8eca\u304c\u52d5\u304d\u51fa\u3059\u5bf8\u524d\u307e\u3067\u56de\u3057\u3066\u304a\u304f\u3068\u30011km\/h\u306e\u8868\u793a\u6642\u304b\u3089\u30b9\u30e0\u30fc\u30ba\u306b\u5217\u8eca\u304c\u52d5\u304d\u307e\u3059\u3002<\/p>\n<p>\u30fb\u52a0\u901f\u5ea6\u8abf\u7bc0\u306e\u7d30\u5206\u5316\uff0816\u6bb5\u968e\u219232\u6bb5\u968e\uff09<\/p>\n<p>\u30fb\u5e38\u70b9\u706f\u306e\u611f\u5ea6\u8abf\u6574\u6a5f\u80fd\u8ffd\u52a0<\/p>\n<p>\u2192\u5e38\u70b9\u706f\u3064\u307e\u307f\u306e\u6700\u5927\u5024\u3092\u8a2d\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u6700\u5927\u5024\u3092\u4e0b\u3052\u308b\u3053\u3068\u3067\u3064\u307e\u307f\u306e\u5206\u89e3\u80fd\u304c\u4e0a\u304c\u308a\u3001\u3088\u308a\u7e4a\u7d30\u306a\u8abf\u6574\u304c\u53ef\u80fd\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u30fbEB\u306e\u52d5\u4f5c\u5909\u66f4<\/p>\n<p>\u2192EB\u6295\u5165\u6642\u3001\u5f37\u5236\u7684\u306b0km\/h\u306b\u306a\u308b\u4ed5\u69d8\u304b\u3089B5\u3088\u308a\u5f37\u3044\u6e1b\u901f\u5ea6\u3067\u6e1b\u901f\u3059\u308b\u4ed5\u69d8\u306b\u5909\u66f4\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u7dca\u6025\u6642\u306f\u65b9\u5411\u30b9\u30a4\u30c3\u30c1\u3092\u300c\u5207\u300d\u306b\u3057\u3066\u901a\u96fb\u3092\u505c\u6b62\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u30fb\u30b9\u30b1\u30fc\u30eb\u30b9\u30d4\u30fc\u30c9\u8abf\u6574\u6a5f\u80fd\u8ffd\u52a0<\/p>\n<p>\u2192\u521d\u671f\u72b6\u614b\u3067\u306f\u3001TOMIX\u8eca\u4e21\u3067LCD50km\/h\u8868\u793a\u6642\u306b\u30b9\u30b1\u30fc\u30eb\u30b9\u30d4\u30fc\u30c9\u306750km\/h\u3068\u306a\u308b\u3088\u3046\u306b\u8abf\u6574\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u9ad8\u901f\u57df\u3067\u306f\u8868\u793a\u901f\u5ea6\u3088\u308a\u3082\u30b9\u30b1\u30fc\u30eb\u30b9\u30d4\u30fc\u30c9\u304c\u65e9\u304f\u306a\u308b\u305f\u3081\u3001\u304a\u597d\u307f\u306b\u5408\u308f\u305b\u3066\u8abf\u6574\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u30fb\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)<\/p>\n<p>&nbsp;<\/p>\n<p>\u4e00\u90e8\u306e\u5909\u8abf\u97f3\u306f\u9078\u629e\u306b\u4ee5\u4e0b\u306e\u30bd\u30d5\u30c8\uff08PPO for PC\uff09\u307e\u305f\u306f\u5916\u90e8\u901a\u4fe1\u6a5f\uff08PPO\uff09\u306e\u4f7f\u7528\u304c\u5fc5\u9808\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>PPO for PC\u306f\u4ee5\u4e0b\u306e\u30ea\u30f3\u30af\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u3059\u3002\uff08Windows10\u5c02\u7528\uff09<\/p>\n<p>\u540c\u68b1\u306eReadme\u3092\u719f\u8aad\u306e\u4e0a\u3001\u81ea\u5df1\u8cac\u4efb\u3067\u3054\u5229\u7528\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><a href=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/11\/PPO_PC_v1_30.zip\">PPO for PC(V1.30)<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u5916\u90e8\u901a\u4fe1\u6a5f\uff08PPO\uff09\u306e\u56de\u8def\u56f3\u304a\u3088\u3073\u30b3\u30fc\u30c9\u306f\u5f8c\u65e5\u516c\u958b\u4e88\u5b9a\u3067\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>\u52a0\u901f\u5ea6\u306b\u3064\u3044\u3066<\/h3>\n<p>\uff08\u4ee5\u4e0b\u306b\u304a\u3051\u308b[km\/h]\u306f\u30b9\u30b1\u30fc\u30eb\u30b9\u30d4\u30fc\u30c9\u3068\u3057\u307e\u3059\uff09<\/p>\n<p>0km\/h\u6642\u306e\u52a0\u901f\u5ea6\u53ca\u3073\u6e1b\u901f\u5ea6\uff08V1.20\u4ee5\u524d\u306e\u52a0\u901f\u5ea6\uff09\u30921\u3068\u3057\u3066\u3001\u901f\u5ea6\u304c\u4e0a\u304c\u308b\u3054\u3068\u306b\u52a0\u901f\u5ea6\u53ca\u3073\u6e1b\u901f\u5ea6\u304c\u6e1b\u8870\u3059\u308b\u3088\u3046\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4fee\u6b63\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u306e\u4fee\u6b63\u306b\u3088\u308a\u3001\u6a21\u578b\u306e\u904b\u8ee2\u611f\u899a\u304c\u3088\u308a\u5b9f\u8eca\u306b\u8fd1\u3065\u3044\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\uff1c\u52a0\u901f\u5ea6\u306b\u3064\u3044\u3066\uff1e<\/p>\n<p>\u97f3\u30c7\u30fc\u30bf\u3054\u3068\u306b\u5b9a\u52a0\u901f\u5ea6\u9818\u57df\u304c\u8a2d\u5b9a\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u5b9a\u52a0\u901f\u5ea6\u306e\u7d42\u308f\u308b\u901f\u5ea6\u3092\u30b3\u30fc\u30c9\u306b\u5165\u529b\u3057\u3066\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>\u5b9a\u52a0\u901f\u5ea6\u9818\u57df\u3092\u8d85\u3048\u308b\u3068\u3001\u901f\u5ea6\u304c\u4e0a\u304c\u308b\u306b\u3064\u308c\u3066<\/p>\n<p>f(x) = x^(3\/2)\u3000\uff08x\u306f\u30b9\u30b1\u30fc\u30eb\u30b9\u30d4\u30fc\u30c9\uff09<\/p>\n<p>\u306e\u66f2\u7dda\u306b\u6cbf\u3063\u3066\u52a0\u901f\u5ea6\u304c\u6e1b\u8870\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\u305d\u306e\u305f\u3081\u3001\u6700\u9ad8\u901f\u5ea6\u306b\u5bfe\u3057\u3066\u5b9a\u52a0\u901f\u5ea6\u9818\u57df\u304c\u4f4e\u3059\u304e\u308b\u3068\u52a0\u901f\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u306e\u3067\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u203b\u3042\u304f\u307e\u3067\u5b9f\u8eca\u306e\u300c\u3088\u3046\u306a\u300d\u6319\u52d5\u3067\u3059\u3002\u3053\u306e\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u3067\u306f\u7c21\u5358\u306e\u70ba\u3001\u5b9a\u51fa\u529b\u9818\u57df\u3068\u7279\u6027\u9818\u57df\u3092\u307e\u3068\u3081\u3066\u9069\u5f53\u306a\u66f2\u7dda\u306b\u7f6e\u304d\u63db\u3048\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\uff1c\u6e1b\u901f\u5ea6\u306b\u3064\u3044\u3066\uff1e<\/p>\n<p>\u901f\u5ea6\u304c\u4e0b\u304c\u308b\u306b\u3064\u308c\u3066\u3001<\/p>\n<p>g(x) = 1 \u30fc ((x\uff0a0.15) \/ (P5\u306e\u6700\u9ad8\u901f\u5ea6))^(1\/2)\u3000\uff08x\u306f\u30b9\u30b1\u30fc\u30eb\u30b9\u30d4\u30fc\u30c9\uff09<\/p>\n<p>\u306e\u66f2\u7dda\u306b\u6cbf\u3063\u3066\u6e1b\u901f\u5ea6\u304c\u5897\u52a0\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u3064\u307e\u308a\u9069\u5f53\u3002<\/p>\n<p>\u30b9\u30b1\u30fc\u30eb\u30b9\u30d4\u30fc\u30c9\u306b\u304a\u3044\u3066\u3001\u52a0\u901f\u5ea6\u30923.5km\/h\/s\u306b\u5408\u308f\u305b\u305f\u3068\u304d120km\/h\u304b\u3089\u7d04560m\uff5e570m\u3067\u6b62\u307e\u308b\u3088\u3046\u8abf\u6574\u3059\u308b\u3068\u3053\u306e\u304f\u3089\u3044\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u5f0f\u3060\u3068\u975e\u5e38\u306b\u308f\u304b\u308a\u306b\u304f\u3044\u306e\u3067\u3001\u30b0\u30e9\u30d5\u3092\u7528\u610f\u3057\u307e\u3057\u305f\u3002\u306a\u304a\u3053\u306e\u30b0\u30e9\u30d5\u306f\u65b01000\u5f62\uff08\u30b7\u30fc\u30e1\u30f3\u30b9GTO\uff09\u306e\u8a2d\u5b9a\u5024\u3067\u3059\u3002<\/p>\n<p><span style=\"color: red;\">\u203b\u300c\u5f53\u30d1\u30ef\u30fc\u30d1\u30c3\u30af\u306e\u300d\u8a2d\u5b9a\u5024\u3067\u3059\uff01\u5b9f\u8eca\u306e\u6027\u80fd\u3067\u306f\u3042\u308a\u307e\u305b\u3093\uff01<\/span><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-150\" src=\"https:\/\/pwm.sigris-rabo.work\/wp\/wp-content\/uploads\/2020\/02\/kasokudo1.png\" alt=\"\" width=\"481\" height=\"289\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9<\/h3>\n<pre class=\"lang:arduino decode:true\" title=\"WCNG(V3.00)\"><\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">\/*\r\n ***************************************************************************************\r\n  WhiteBear Controller Next Generation\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  \u30fb12\u6bb5\u968e\u306e\u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u3092\u7528\u3044\u3001\u30ef\u30f3\u30cf\u30f3\u30c9\u30eb\u30de\u30b9\u30b3\u30f3\u3092\u6a21\u64ec\u3059\u308b\u3002\r\n  \u30fb\u30de\u30b9\u30b3\u30f3\u306fP5-B5 + EB \u306e12\u6bb5\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\u3000\u30fb\u5916\u90e8\u5236\u5fa1\u30e2\u30fc\u30c9\u3092\u642d\u8f09\u3002\u30ce\u30c3\u30c1\u53cd\u5fdc\u901f\u5ea6\u3068\u8d70\u884c\u97f3\u3092\u5916\u90e8\u304b\u3089\u968f\u6642\u5909\u66f4\u53ef\u80fd\u3002\r\n ***************************************************************************************\r\n\u66f4\u65b0\u5c65\u6b74\r\n2019\/07\/30 V1.00 \u521d\u671f\u7248\u3002\r\n2019\/10\/11 V1.10 \u97f3\u30c7\u30fc\u30bf\u3092\u30d5\u30e9\u30c3\u30b7\u30e5\u30e1\u30e2\u30ea\u683c\u7d0d\u306b\u5909\u66f4\u3057\u3001RAM\u4e0d\u8db3\u3092\u89e3\u6d88\u3002\r\n2020\/01\/30 V1.20 USB\u306b\u3088\u308b\u5916\u90e8\u5236\u5fa1\u30e2\u30fc\u30c9\u306e\u8ffd\u52a0\r\n2020\/02\/21 V2.00 \u901f\u5ea6\u5236\u5fa1\u65b9\u5f0f\u306e\u5909\u66f4\uff08\u52a0\u901f\u5ea6\u5909\u52d5\u6a5f\u80fd\uff09\u53ca\u3073\u30d0\u30b0\u4fee\u6b63\r\n2020\/04\/25 V2.10 \u6307\u5b9a\u3057\u305f\u5468\u6ce2\u6570\u3067\u51fa\u529b\u3055\u308c\u306a\u3044\u3053\u3068\u304c\u3042\u308b\u30d0\u30b0\u3092\u4fee\u6b63\r\n2020\/05\/10 V2.20 \u30de\u30b9\u30b3\u30f3\u306e\u30c1\u30e3\u30bf\u30ea\u30f3\u30b0\u5bfe\u7b56\u3092\u5f37\u5316\r\n2020\/06\/17 V2.21 \u30de\u30b9\u30b3\u30f3\u306e\u30c1\u30e3\u30bf\u30ea\u30f3\u30b0\u5bfe\u7b56\u3092\u66f4\u306b\u5f37\u5316\r\n2020\/09\/22 V2.30 \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\u3001EB\u306e\u52d5\u4f5c\u5909\u66f4\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\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\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\u300213\u756a\u76ee\u4ee5\u964d\u306e\u30c7\u30fc\u30bf\u3092\u9078\u629e\u3059\u308b\u306b\u306f\u5916\u90e8\u901a\u4fe1\u7aef\u672b\u307e\u305f\u306fPC\u7528\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3068\u306e\u63a5\u7d9a\u304c\u5fc5\u8981\u3067\u3059\u3002PC\u7528\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306fHP\u4e0a\u306b\u516c\u958b\u4e2d\u3002\r\n#define STOPSPD 9 \/\/\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_NOUSB 10 \/\/\u5916\u90e8\u901a\u4fe1\u306a\u3057\u306e\u969b\u306e\u30c1\u30e3\u30bf\u30ea\u30f3\u30b0\u9632\u6b62\u30eb\u30fc\u30d7\u306e\u5024\r\nconst int DECISION_TIME = 3;   \/\/ setup\u6642\u306b\u8d70\u884c\u30d1\u30bf\u30fc\u30f3\u3092\u6c7a\u3081\u308b\u969b\u306e\u3001\u78ba\u5b9a\u307e\u3067\u306e\u6642\u9593\u3002\u79d2\u3002\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(1\uff5e5) \u21d2 \u6e1b\u901f\u7387\r\nconst int MAS_CHAT = 80; \/\/\u30ed\u30fc\u30bf\u30ea\u30b9\u30a4\u30c3\u30c1\u304c\u4e2d\u9593\u3067\u6b62\u307e\u3063\u305f\u6642\u306e\u7570\u5e38\u306a\u6307\u4ee4\u3092\u56de\u907f\u3059\u308b\u3002EB\u306b\u6295\u5165\u3057\u305f\u6642\u306e\u30a2\u30ca\u30ed\u30b0\u5024\u3092\u5c11\u3057\u4e0b\u56de\u308b\u5024\u3092\u8a2d\u5b9a\u3002\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 = 1.5; \/\/\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\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\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\nchar* 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\nint keepac[SOUNDNUM] = {37, 39, 39, 39, 39, 55, 55, 55, 55, 59, 50, 50, 45, 59, 55, 85};\r\n\r\n\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\uff5e2\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  150, 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\nint ANTI_CHAT_RATE; \/\/ \u30c1\u30e3\u30bf\u30ea\u30f3\u30b0\u9632\u6b62\u30eb\u30fc\u30d7\u306e\u5024\u3002\u30ce\u30c3\u30c1\u306e\u53cd\u5fdc\u901f\u5ea6\u8abf\u6574\u306b\u4f7f\u7528\u3002USB\u63a5\u7d9a\u3067\u306f\u52d5\u7684\u8a2d\u5b9a\u53ef\u80fd\u3002\r\n\r\n\/\/\u5916\u90e8\u901a\u4fe1\u7528\r\nint Result; \/\/\u30c7\u30fc\u30bf\u53d7\u4fe1\u72b6\u6cc1\r\nint ReceiveData[] = {255, 255, 0}; \/\/\u5916\u90e8\u5236\u5fa1\u30e2\u30fc\u30c9\u6642\u306b\u53d7\u3051\u53d6\u3063\u305f\u5024\r\n\/*\r\n\u9001\u53d7\u4fe1\u30d1\u30b1\u30c3\u30c8\u306f\u4ee5\u4e0b\u306e\u69d8\u306b\u5b9a\u7fa9\u3059\u308b\u3002\r\n\u30fb\u9001\u53d7\u4fe1\u306fHEX(16\u9032)\u3067\u884c\u3046\u3002\r\n\u30fb\u9001\u4fe1\u30d1\u30b1\u30c3\u30c8\uff1d0,1,2\u306e1\u30d0\u30a4\u30c8\u30020=\u6b63\u5e38\u53d7\u4fe1,1=\u8d70\u884c\u4e2d\u307e\u305f\u306f\u30d6\u30ec\u30fc\u30ad\u30ce\u30c3\u30c1\u672a\u6295\u5165,2=\u53d7\u4fe1\u5931\u6557\u3002\r\n\u30fb\u53d7\u4fe1\u30d1\u30b1\u30c3\u30c8\uff1d(\u30d8\u30c3\u30c0)(\u30c1\u30e3\u30bf\u30ea\u30f3\u30b0\u9632\u6b62\u30eb\u30fc\u30d7\u5024)(\u8d70\u884c\u97f3\u30c7\u30fc\u30bf\u756a\u53f7)\u3000\u306e3\u30d0\u30a4\u30c8\u3002\u30d8\u30c3\u30c0=0\r\n\u30fb\u30c1\u30e3\u30bf\u30ea\u30f3\u30b0\u9632\u6b62\u30eb\u30fc\u30d7\u5024\u3001\u8d70\u884c\u97f3\u30c7\u30fc\u30bf\u756a\u53f7\u306e\u5024\u306f1\uff5e255\u3002\r\n\u30fb\u3088\u3063\u3066\u8d70\u884c\u97f3\u30c7\u30fc\u30bf\u306f(\u7406\u8ad6\u4e0a\u306f)255\u7a2e\u985e\u307e\u3067\u642d\u8f09\u53ef\u80fd\u3060\u304c\u3001\u5897\u3084\u305b\u3070\u5f53\u7136\u30e1\u30e2\u30ea\u98df\u3046\u306e\u3067\u73fe\u5b9f\u306b\u306f\u9650\u754c\u304c\u3042\u308b\u3002\r\n\u30fb\u8d70\u884c\u97f3\u306f\u7528\u610f\u3057\u305f\u30c7\u30fc\u30bf\u6570\u3088\u308a\u5927\u304d\u3044\u756a\u53f7\u3092\u6307\u5b9a\u3057\u306a\u3044\u3088\u3046\u306b\u9001\u4fe1\u5074\u3067\u5236\u5fa1\u3092\u884c\u3046\u3053\u3068\u3002\r\n*\/\r\n\r\nconst char *MOJI1 = \" WCNG POWERPACK \";  \/\/ Welcome\u30e1\u30c3\u30bb\u30fc\u30b8\u3002LCD1\u6bb5\u76ee\u300216\u6841\u306b\u3059\u308b\u3053\u3068\u3002\r\nconst char *MOJI2 = \"Program Ver 3.00\";  \/\/ Welcome\u30e1\u30c3\u30bb\u30fc\u30b8\u3002LCD2\u6bb5\u76ee\u300216\u6841\u306b\u3059\u308b\u3053\u3068\u3002\r\n\r\n\/\/\u4f7f\u7528\u30d4\u30f3\u6307\u5b9a\r\nconst int P_MASCON     = A3; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Analog) \u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1 = A3\r\nconst int P_LIGHT_DIAL = A4; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Analog) \u5e38\u70b9\u706f\u8abf\u7bc0\u30c0\u30a4\u30a2\u30eb = A4\r\nconst int P_ACCEL_DIAL = A5; \/\/ Arduino\u63a5\u7d9a\u30d4\u30f3\u756a\u53f7\uff1a(Analog) \u52a0\u901f\u7387\u8abf\u7bc0\u30c0\u30a4\u30a2\u30eb = A5\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) OCR1B\u51fa\u529b to Rail = D11\r\n\r\n\/\/\u30de\u30b9\u30b3\u30f3\u7528\r\nconst int MC_EB  = 1; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u975e\u5e38\r\nconst int MC_B5  = 2; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d55\r\nconst int MC_B4  = 3; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d54\r\nconst int MC_B3  = 4; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d53\r\nconst int MC_B2  = 5; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d52\r\nconst int MC_B1  = 6; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u5236\u52d51\r\nconst int MC_N   = 7; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u60f0\u884c\r\nconst int MC_P1  = 8; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c1\r\nconst int MC_P2  = 9; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c2\r\nconst int MC_P3 = 10; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c3\r\nconst int MC_P4 = 11; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c4\r\nconst int MC_P5 = 12; \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e \u529b\u884c5\r\n\r\n\/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u540d\u79f0\u3092\u4fdd\u6301\u3059\u308b\u914d\u5217\r\nchar* masconPosName[] = {\"EB\", \"B5\", \"B4\", \"B3\", \"B2\", \"B1\", \"N \", \"P1\", \"P2\", \"P3\", \"P4\", \"P5\"}; \r\n\r\n\/\/\u52d5\u4f5c\u30e2\u30fc\u30c9\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\n\r\n\/\/\u5909\u6570\r\nboolean isUSB;      \/\/ \u5916\u90e8\u5236\u5fa1\u30e2\u30fc\u30c9\u306e\u3068\u304dTrue\u3002\r\nint vvvfPtn;        \/\/ \u8d70\u884c\u97f3\u30d1\u30bf\u30fc\u30f3\u3002\r\nint masconPos;      \/\/ \u30de\u30b9\u30b3\u30f3\u306e\u4f4d\u7f6e\u3092\u4fdd\u6301\u30021\uff5e12\u3068\u306a\u308b\u3002\r\nint inputMascon;    \/\/ \u8aad\u307f\u53d6\u3063\u305f\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3092\u4e00\u6642\u7684\u306b\u4fdd\u6301\r\nint compareMascon;  \/\/ \u30de\u30b9\u30b3\u30f3\u306e\u4f4d\u7f6e\u524d\u56de\u3068\u6bd4\u8f03\u3059\u308b\u305f\u3081\u4e00\u6642\u7684\u306b\u4fdd\u6301\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\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\uff5e3,000,000\uff08\u901f\u5ea6\u00d710,000\uff09\r\nlong orderSpd; \/\/ \u6307\u793a\u30b9\u30d4\u30fc\u30c9\r\nfloat duty; \/\/duty\u6bd4\r\nint i; \/\/ \u30eb\u30fc\u30d7\u30ab\u30a6\u30f3\u30bf\u30fc\r\nint k; \/\/ \u30eb\u30fc\u30d7\u30ab\u30a6\u30f3\u30bf\u30fc\r\nint dispSpd = 0;      \/\/ LCD\u8868\u793a\u7528\u30b9\u30d4\u30fc\u30c9\u5024\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\/\/ ***********************************************\r\n\/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3092\u691c\u51fa\u3059\u308b\u3002\r\n\/\/ \u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u304b\u3089\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u5024\u3092\u62fe\u3044\u3001\r\n\/\/ \u9069\u5ea6\u306a\u5024\u306b\u5909\u63db\u3059\u308b\u51e6\u7406\u3002\r\n\/\/ \r\n\/\/ \u5f15\u6570\uff1a \u30a2\u30ca\u30ed\u30b0\u30d4\u30f3\u304b\u3089\u53d6\u5f97\u3057\u305f\u5024(Max:1023)\r\n\/\/ \u623b\u5024\uff1a 1(=EB)\uff5e12(=P5) \r\n\/\/ ***********************************************\r\n\r\n\/\/ \u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u304c12\u6bb5\u968e\u5207\u66ff\u306a\u306e\u3067\u3001\u5165\u529b\u309212\u6bb5\u968e\u306b\u5206\u3051\u308b\u3002\r\nint getMasconVol(int vol) {\r\n  int ans = 0;\r\n  \/\/ \u30de\u30b9\u30b3\u30f3\u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u304b\u3089\u8aad\u307f\u53d6\u3063\u305f\u5024\u3092\u3001\u5c0f\u6570\u70b9\u3082\u6271\u3048\u308b\u5f62\u3067\r\n  \/\/ 0\uff5e1023\u306b\u53ce\u307e\u308b\u3088\u3046\u306b\u3059\u308b\u300212\u63a5\u70b9\u306a\u306e\u306712\u7b49\u5206\u3002\r\n  \/\/ \u56db\u6368\u4e94\u5165\u76f8\u5f53\u306e\u51e6\u7406\u3092\u3059\u308b\u21d2\u5024\u306b+0.5\u3057\u305f\u4e0a\u3067\u3001\u5c0f\u6570\u70b9\u4ee5\u4e0b\u3092\u5207\u308a\u6368\u3066\u308b\u305f\u3081int\u578b\u306b\u5909\u63db\u3002\r\n  if(analogRead(P_MASCON)&gt;MAS_CHAT){\r\n  ans = (int)(((double) analogRead(P_MASCON)) \/ (1024 \/ 12) + 0.5);\r\n  if (ans == MC_EB) {\r\n    for ( k = 0; k &lt; ANTI_CHAT_RATE; k++ ) { \/\/ \u30c1\u30e3\u30bf\u30ea\u30f3\u30b0\u9632\u6b62\u30eb\u30fc\u30d7\r\n      ans = (int)(((double) analogRead(P_MASCON)) \/ (1024 \/ 12) + 0.5);\r\n    }\r\n  }\r\n  return ans;\r\n  }\r\n}\r\n\r\n\r\n\r\n\/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3092\u8868\u793a\u3002LCD\u306e\u53f3\u4e0b2\u6841\u3078\u3002\r\nvoid dispMasPos(int masPos) {\r\n  lcd.setCursor(14, 1);\r\n  lcd.print(masconPosName[masPos - 1]);\r\n\r\n  \/\/ spd\u3082\u8868\u793a\r\n  dispSpd = spd \/ 10000;\r\n  lcd.setCursor(0, 1);\r\n  if (dispSpd \/ 100 &gt; 0) {\r\n    \/\/ 3digits.\r\n  } else {\r\n    if (dispSpd \/ 10 &gt; 0) {\r\n      \/\/ 2digits.\r\n      lcd.print(\" \");\r\n    } else {\r\n      \/\/ 1digit.\r\n      lcd.print(\"  \");\r\n    }\r\n  } \r\n  lcd.print(dispSpd);\r\n\r\n}\r\n\r\n\r\n\r\n\/\/\u5916\u90e8\u5236\u5fa1\u7528\r\nvoid SetSound(byte CHAT, byte VVVF){\r\n  \/\/ \u8d70\u884c\u97f3\u30d1\u30bf\u30fc\u30f3\u307b\u304b\u9078\u629e\u3057\u305f\u30d1\u30bf\u30fc\u30f3\u306b\u5408\u308f\u305b\u3066\u8a2d\u5b9a\r\n  ANTI_CHAT_RATE = (int)CHAT;\r\n  vvvfPtn = (int)VVVF  - 1;\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 = (long) 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  \/\/ \u6c7a\u5b9a\u3057\u305f\u30d1\u30bf\u30fc\u30f3\u3092\u70b9\u6ec5\u8868\u793a\r\n  for (i=0; i&lt;3; i++) {\r\n    lcd.clear();\r\n    delay(180);\r\n    lcd.print(F(\"Sound Pattern is\"));\r\n    lcd.setCursor(0, 1);  \/\/ 1\u6587\u5b57\u76ee\u30012\u884c\u76ee\r\n    lcd.print(soundName[vvvfPtn]);\r\n    delay(480);\r\n  }\r\n  delay(240);\r\n  \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3092\u60f0\u884c\u304b\u5236\u52d5\u306b\u3057\u3066\u3082\u3089\u3046\u6ce8\u610f\u559a\u8d77\u3002\u6025\u306b\u8d70\u308a\u51fa\u3055\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u3002\r\n  \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u304c1\uff5e6\u3001\u3064\u307e\u308a \u975e\u5e38 \u304b \u5236\u52d55\uff5e1 \u306b\u8a2d\u5b9a\u3057\u306a\u3044\u3068\r\n  \/\/ \u6ce8\u610f\u559a\u8d77\u3055\u308c\u7d9a\u3051\u3001\u6b21\u306e\u51e6\u7406\u3078\u9032\u3081\u306a\u3044\u3002\r\n  masconPos = getMasconVol(analogRead(P_MASCON));\r\n  while (masconPos &lt; MC_EB || masconPos &gt; MC_B1) {\r\n    lcd.clear();\r\n    lcd.print(F(\"Pls Apply BRAKE.\"));\r\n    delay(240);\r\n    masconPos = getMasconVol(analogRead(P_MASCON));\r\n  }\r\n  \r\n  lcd.clear();\r\n  lcd.print(F(\"Ready.\"));\r\n  delay(720);\r\n  lcd.clear();\r\n  lcd.print(soundName[vvvfPtn]);\r\n  lcd.setCursor(3, 1);\r\n  lcd.print(F(\"km\/h\"));\r\n  lcd.setCursor(7, 1);\r\n}\r\n\r\n\r\n\r\n\/\/\u30b7\u30ea\u30a2\u30eb\u53d7\u4fe1\u7528\r\nint Receive(){\r\n\r\n  while (Serial.available() &gt; 0) { \/\/ \u53d7\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3059\u308b\r\n    if(Serial.available() &gt;= 3) { \/\/\u30d1\u30b1\u30c3\u30c8\u3092\u6b63\u5e38\u306b\u53d7\u4fe1\u3057\u3066\u3044\u308b\r\n     ReceiveData[0] = Serial.read();\r\n      if (ReceiveData[0] == 0x00) { \/\/\u30d8\u30c3\u30c0\u304c\u5148\u982d\u3067\u3042\u308b\r\n       ReceiveData[1] = Serial.read(); \/\/\u30c1\u30e3\u30bf\u30ea\u30f3\u30b0\u9632\u6b62\u30eb\u30fc\u30d7\u5024\r\n       ReceiveData[2] = Serial.read(); \/\/\u8d70\u884c\u97f3\u30c7\u30fc\u30bf\u756a\u53f7\r\n       \/\/\u30ad\u30e3\u30c3\u30b7\u30e5\u89e3\u653e\u51e6\u7406\r\n       while (Serial.available() &gt; 0) {\r\n       Serial.read();\r\n       } \r\n       return 0; \/\/\u6b63\u5e38\u53d7\u4fe1\r\n      } else {\r\n       \/\/\u30ad\u30e3\u30c3\u30b7\u30e5\u89e3\u653e\u51e6\u7406\r\n       while (Serial.available() &gt; 0) {\r\n       Serial.read();\r\n       }\r\n      return 1; \/\/\u53d7\u4fe1\u30a8\u30e9\u30fc\r\n      }\r\n    }\r\n  }\r\n  return -1; \/\/\u672a\u53d7\u4fe1\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, 1.5);\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 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 (notch2 - 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, 1.5);\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.5 * 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 (notch3 - 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, 1.5);\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.8 * 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 (notch4 - spd &gt; 0) {  \/\/\u5404\u30ce\u30c3\u30c1\u306e\u6700\u9ad8\u901f\u5ea6\u672a\u6e80rate = ((float)keepac[vvvfPtn]*10000 \/ (float)spd) * 2.0;\r\n        rate2 = (float)keepac[vvvfPtn]*10000 \/ (float)spd;\r\n        rate = pow(rate2, 1.5);\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 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 (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, 1.5);\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 * 0.15 \/ (float)notch5);\r\n  }\r\n  \r\n  kasoku = accelVol * BRAKE_RATIO * notch * rate;\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\/\/ 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  \/\/ 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  \/\/\u5916\u90e8\u5236\u5fa1\u30e2\u30fc\u30c9\u306e\u8a2d\u5b9a(USB\u63a5\u7d9a)\r\n  lcd.clear();\r\n  delay(180);\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(F(\" If using USB,  \"));\r\n  lcd.setCursor(0, 1);\r\n  lcd.print(F(\"Please Set to EB\"));\r\n  delay(3000);\r\n  lcd.clear();\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(F(\"Use USB Connect?\"));\r\n  delay(480);\r\n  \r\n  unsigned long sttTime = 0;\r\n  unsigned long progress = 0;\r\n  boolean isMoved = false; \/\/ \u30de\u30b9\u30b3\u30f3\u3092\u52d5\u304b\u3057\u305f\u3089True\u306b\u3059\u308b\r\n  masconPos = getMasconVol(analogRead(P_MASCON)); \/\/ \u521d\u671f\u5024\r\n\r\n  while (!isMoved) {\r\n    inputMascon = getMasconVol(analogRead(P_MASCON)); \/\/ \u73fe\u5728\u5024\r\n    \/\/ \u8aad\u307f\u53d6\u3063\u305f\u6700\u65b0\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u304c\u3001\u4ee5\u524d\u306b\u899a\u3048\u3066\u3044\u305f\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3068\u7570\u306a\u308b\u5834\u5408\r\n    \/\/ \uff1d\u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u3092\u52d5\u304b\u3057\u305f\u3068\u5224\u65ad\u3002\r\n    isMoved = (masconPos != inputMascon);\r\n  }\r\n  sttTime = millis();  \/\/ \u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u3092\u3044\u3058\u3063\u305f\u306e\u3067\u3001\u521d\u671f\u5316\u3002\r\n  do {\r\n    while (true) {\r\n      inputMascon = getMasconVol(analogRead(P_MASCON)); \/\/ \u73fe\u5728\u5024\r\n      if (masconPos != inputMascon) {\r\n        \/\/ \u8aad\u307f\u53d6\u3063\u305f\u6700\u65b0\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u304c\u3001\u4ee5\u524d\u306b\u899a\u3048\u3066\u3044\u305f\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3068\r\n        \/\/ \u7570\u306a\u308b\u5834\u5408\uff1d\u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u3092\u52d5\u304b\u3057\u305f\u3068\u5224\u65ad\u3002\r\n        masconPos = inputMascon;\/\/ \u65b0\u305f\u306a\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3092\u899a\u3048\u3066\u304a\u304f\u3002\r\n        sttTime = millis();  \/\/ \u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u3092\u3044\u3058\u3063\u305f\u306e\u3067\u3001\u521d\u671f\u5316\u3002\r\n        lcd.setCursor(0, 1);  \/\/ 1\u6587\u5b57\u76ee\u30012\u884c\u76ee\r\n        isUSB = (MC_EB == getMasconVol(analogRead(P_MASCON)));\r\n        if (isUSB == true){\r\n          lcd.print(F(\"Yes\")); \/\/ Y or N\r\n        } else {\r\n          lcd.print(F(\"No \")); \/\/ Y or N\r\n        }\r\n      } else {\r\n        if ((millis() - sttTime) &gt; DECISION_TIME * 1000) {\r\n          \/\/ \u9078\u3093\u3067\u304b\u3089\u6240\u5b9a\u6642\u9593\u304c\u904e\u304e\u305f\u3002\r\n          break; \/\/ \u30eb\u30fc\u30d7\u3092\u629c\u3051\u308b\u3002\r\n        } \r\n      }\r\n      progress = millis() - sttTime;\r\n      if (progress &gt; 0) {\r\n        lcd.setCursor(15, 1);\r\n        lcd.print((String) (DECISION_TIME - (progress \/ 1000)));\r\n      }\r\n      delay(1);\r\n    }\r\n  } while (masconPos &lt; MC_EB || masconPos &gt; MC_P5); \/\/ 12\u7a2e\u985e\u304b\u3089\u9078\u629e\u3055\u308c\u305f\u3089\u30eb\u30fc\u30d7\u3092\u629c\u3051\u6b21\u306e\u51e6\u7406\u3078\u3002\r\n\r\n  \/\/\u5916\u90e8\u5236\u5fa1\u30e2\u30fc\u30c9\r\n  if (isUSB == true){\r\n   lcd.clear();\r\n   delay(180);\r\n   lcd.setCursor(0, 0);\r\n   lcd.print(F(\"Use USB Connect.\"));\r\n   delay(2000);\r\n   lcd.setCursor(0, 1);\r\n   lcd.print(F(\" Connecting...  \"));\r\n   Serial.begin(9600);\r\n   \r\n   do{\r\n    Result = Receive();\r\n     switch (Result) {\r\n      case -1: \/\/\u672a\u53d7\u4fe1\r\n       break;\r\n      case 0: \/\/\u6b63\u5e38\u53d7\u4fe1\r\n       Serial.write(0);\r\n       break;\r\n      case 1: \/\/\u53d7\u4fe1\u30a8\u30e9\u30fc\r\n       Serial.write(2);\r\n       break;\r\n     }\r\n   } while (Result != 0);\r\n\r\n   SetSound(ReceiveData[1], ReceiveData[2]);\r\n   \r\n  }\r\n    \r\n  \/\/\u72ec\u7acb\u30e2\u30fc\u30c9\r\n  else {\r\n   ANTI_CHAT_RATE = ANTI_CHAT_RATE_NOUSB; \/\/ \u30c1\u30e3\u30bf\u30ea\u30f3\u30b0\u9632\u6b62\u30eb\u30fc\u30d7\u306e\u5024\u3002\u30ce\u30c3\u30c1\u306e\u53cd\u5fdc\u901f\u5ea6\u8abf\u6574\u306b\u4f7f\u7528\u3002\r\n   lcd.clear();\r\n   delay(180);\r\n   lcd.setCursor(0, 0);\r\n   lcd.print(F(\"  Not Use USB.  \"));\r\n   delay(2000);\r\n   \r\n    \/\/ \u8d70\u884c\u97f3\u30d1\u30bf\u30fc\u30f3\u53d6\u5f97\r\n    for (i=0; i&lt;2; i++) {\r\n      lcd.clear();\r\n      delay(180);\r\n      lcd.print(F(\"Select SoundPtn.\"));\r\n      delay(480);\r\n    }\r\n    delay(240);\r\n    lcd.clear();\r\n    lcd.print(F(\"SoundPtn.\"));\r\n    lcd.setCursor(0, 1);\r\n    lcd.print(F(\" Revolve MasCon.\"));\r\n    \/\/delay(2000);\r\n    \r\n    \/\/ \u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u30925\u79d2\u52d5\u304b\u3055\u306a\u3044\u3068\u6c7a\u5b9a\u3002\r\n    \/\/ \u305f\u3060\u3057\u3001\u4f55\u3082\u52d5\u304b\u3057\u3066\u306a\u3044\u3068\u304d\u306f\u305a\u3063\u3068\u5f85\u3061\u7d9a\u3051\u308b\u3002\r\n    \r\n    isMoved = false; \/\/ \u30de\u30b9\u30b3\u30f3\u3092\u52d5\u304b\u3057\u305f\u3089True\u306b\u3059\u308b\r\n    masconPos = getMasconVol(analogRead(P_MASCON)); \/\/ \u521d\u671f\u5024\r\n  \r\n    while (!isMoved) {\r\n      inputMascon = getMasconVol(analogRead(P_MASCON)); \/\/ \u73fe\u5728\u5024\r\n      \/\/ \u8aad\u307f\u53d6\u3063\u305f\u6700\u65b0\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u304c\u3001\u4ee5\u524d\u306b\u899a\u3048\u3066\u3044\u305f\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3068\u7570\u306a\u308b\u5834\u5408\r\n      \/\/ \uff1d\u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u3092\u52d5\u304b\u3057\u305f\u3068\u5224\u65ad\u3002\r\n      isMoved = (masconPos != inputMascon);\r\n    }\r\n    sttTime = millis();  \/\/ \u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u3092\u3044\u3058\u3063\u305f\u306e\u3067\u3001\u521d\u671f\u5316\u3002\r\n    do {\r\n      while (true) {\r\n        inputMascon = getMasconVol(analogRead(P_MASCON)); \/\/ \u73fe\u5728\u5024\r\n        if (masconPos != inputMascon) {\r\n          \/\/ \u8aad\u307f\u53d6\u3063\u305f\u6700\u65b0\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u304c\u3001\u4ee5\u524d\u306b\u899a\u3048\u3066\u3044\u305f\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3068\r\n          \/\/ \u7570\u306a\u308b\u5834\u5408\uff1d\u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u3092\u52d5\u304b\u3057\u305f\u3068\u5224\u65ad\u3002\r\n          masconPos = inputMascon;\/\/ \u65b0\u305f\u306a\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3092\u899a\u3048\u3066\u304a\u304f\u3002\r\n          sttTime = millis();  \/\/ \u30ed\u30fc\u30bf\u30ea\u30fc\u30b9\u30a4\u30c3\u30c1\u3092\u3044\u3058\u3063\u305f\u306e\u3067\u3001\u521d\u671f\u5316\u3002\r\n          lcd.setCursor(0, 1);  \/\/ 1\u6587\u5b57\u76ee\u30012\u884c\u76ee\r\n          lcd.print(soundName[masconPos - 1]); \/\/ LCD\u306b\u8d70\u884c\u97f3\u540d\u79f0\u3092\u8868\u793a\u3055\u305b\u308b\u3002\r\n        } else {\r\n          if ((millis() - sttTime) &gt; DECISION_TIME * 1000) {\r\n            \/\/ \u9078\u3093\u3067\u304b\u3089\u6240\u5b9a\u6642\u9593\u304c\u904e\u304e\u305f\u3002\r\n            break; \/\/ \u30eb\u30fc\u30d7\u3092\u629c\u3051\u308b\u3002\r\n          } \r\n        }\r\n        progress = millis() - sttTime;\r\n        if (progress &gt; 0) {\r\n          lcd.setCursor(15, 0);\r\n          lcd.print((String) (DECISION_TIME - (progress \/ 1000)));\r\n        }\r\n        delay(1);\r\n      }\r\n    } while (masconPos &lt; MC_EB || masconPos &gt; MC_P5); \/\/ 12\u7a2e\u985e\u304b\u3089\u9078\u629e\u3055\u308c\u305f\u3089\u30eb\u30fc\u30d7\u3092\u629c\u3051\u6b21\u306e\u51e6\u7406\u3078\u3002\r\n  \r\n    \/\/ \u8d70\u884c\u97f3\u30d1\u30bf\u30fc\u30f3\u307b\u304b\u9078\u629e\u3057\u305f\u30d1\u30bf\u30fc\u30f3\u306b\u5408\u308f\u305b\u3066\u8a2d\u5b9a\r\n    vvvfPtn = masconPos - 1;\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    \/\/ \u6c7a\u5b9a\u3057\u305f\u30d1\u30bf\u30fc\u30f3\u3092\u70b9\u6ec5\u8868\u793a\r\n    for (i=0; i&lt;3; i++) {\r\n      lcd.clear();\r\n      delay(180);\r\n      lcd.print(F(\"Sound Pattern is\"));\r\n      lcd.setCursor(0, 1);  \/\/ 1\u6587\u5b57\u76ee\u30012\u884c\u76ee\r\n      lcd.print(soundName[vvvfPtn]);\r\n      delay(480);\r\n    }\r\n    delay(240);\r\n    \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3092\u60f0\u884c\u304b\u5236\u52d5\u306b\u3057\u3066\u3082\u3089\u3046\u6ce8\u610f\u559a\u8d77\u3002\u6025\u306b\u8d70\u308a\u51fa\u3055\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u3002\r\n    \/\/ \u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u304c1\uff5e6\u3001\u3064\u307e\u308a \u975e\u5e38 \u304b \u5236\u52d55\uff5e1 \u306b\u8a2d\u5b9a\u3057\u306a\u3044\u3068\r\n    \/\/ \u6ce8\u610f\u559a\u8d77\u3055\u308c\u7d9a\u3051\u3001\u6b21\u306e\u51e6\u7406\u3078\u9032\u3081\u306a\u3044\u3002\r\n    masconPos = getMasconVol(analogRead(P_MASCON));\r\n    while (masconPos &lt; MC_EB || masconPos &gt; MC_B1) {\r\n      lcd.clear();\r\n      lcd.print(F(\"Pls Apply BRAKE.\"));\r\n      delay(240);\r\n      masconPos = getMasconVol(analogRead(P_MASCON));\r\n    }\r\n    \r\n    lcd.clear();\r\n    lcd.print(F(\"Ready.\"));\r\n    delay(720);\r\n    lcd.clear();\r\n    lcd.print(soundName[vvvfPtn]);\r\n    lcd.setCursor(3, 1);\r\n    lcd.print(F(\"km\/h\"));\r\n    lcd.setCursor(7, 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\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\uff5e32\r\n  lightVol = analogRead(P_LIGHT_DIAL);  \/\/ analogRead 0\uff5e1023\r\n\r\n  inputMascon = getMasconVol(analogRead(P_MASCON));\r\n  if (inputMascon &gt;= MC_EB &amp;&amp; inputMascon &lt;= MC_P5) {\r\n    \/\/ \u9078\u629e\u3057\u5f97\u308b12\u6bb5\u968e\u306e\u30de\u30b9\u30b3\u30f3\u4f4d\u7f6e\u3067\u3042\u308b\u3068\u5224\u65ad\u3002\r\n    if (compareMascon == inputMascon) {\r\n      masconPos = inputMascon;\r\n    } else if (compareMascon &gt; inputMascon) {\r\n      compareMascon--;\r\n    } else if (compareMascon &lt; inputMascon) {\r\n      compareMascon++;\r\n    }\r\n  }\r\n\r\n  switch (masconPos) {\r\n  case 1:\r\n    \/\/ \u975e\u5e38\r\n    orderSpd = 0;\r\n    kbrake(7);\r\n    mode = MD_NTRL;\r\n    break;\r\n  case 2:\r\n    \/\/ \u5236\u52d55\r\n    orderSpd = 0;\r\n    kbrake(5);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case 3:\r\n    \/\/ \u5236\u52d54\r\n    orderSpd = 0;\r\n    kbrake(4);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case 4:\r\n    \/\/ \u5236\u52d53\r\n    orderSpd = 0;\r\n    kbrake(3);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case 5:\r\n    \/\/ \u5236\u52d52\r\n    orderSpd = 0;\r\n    kbrake(2);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case 6:\r\n    \/\/ \u5236\u52d51\r\n    orderSpd = 0;\r\n    kbrake(1);\r\n    mode = MD_BRAKE;\r\n    break;\r\n  case 7:\r\n    \/\/ \u60f0\u884c\r\n    orderSpd = 0;\r\n    kasoku = accelVol * BRAKE_RATIO;\r\n    mode = MD_NTRL;\r\n    break;\r\n  case 8:\r\n    \/\/ \u529b\u884c1\r\n    orderSpd = notch1;\r\n    kaccel(1);\r\n    mode = MD_ACCEL;\r\n    break;\r\n  case 9:\r\n    \/\/ \u529b\u884c2\r\n    orderSpd = notch2;\r\n    kaccel(2);\r\n    mode = MD_ACCEL;\r\n    break;\r\n  case 10:\r\n    \/\/ \u529b\u884c3\r\n    orderSpd = notch3;\r\n    kaccel(3);\r\n    mode = MD_ACCEL;\r\n    break;\r\n  case 11:\r\n    \/\/ \u529b\u884c4\r\n    orderSpd = notch4;\r\n    kaccel(4);\r\n    mode = MD_ACCEL;\r\n    break;\r\n  case 12:\r\n    \/\/ \u529b\u884c5\r\n    orderSpd = notch5;\r\n    kaccel(5);\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    dispMasPos(masconPos);\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\r\n    if ( spd &gt; orderSpd ) {\r\n      if ( masconPos &gt;= MC_N ) {\r\n        \/\/ \u60f0\u884cor\u529b\u884c\r\n        if ( spd - orderSpd &lt;= kasoku \/ BRAKE_RATIO ) {\r\n          spd = orderSpd;\r\n        } else {\r\n          spd = spd - kasoku \/ BRAKE_RATIO;\r\n        }\r\n      } else {\r\n        \/\/ \u5236\u52d5\r\n        if ( spd - orderSpd &lt;= kasoku ) {\r\n          spd = orderSpd;\r\n        } else {\r\n          spd = spd - kasoku;\r\n        }\r\n      }\r\n    }\r\n\r\n    if ( spd &lt; stopSpd &amp;&amp; masconPos &lt; MC_P1 ) {\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    duty = ((float)spd \/ 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    \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_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; 150 )        Afrq = 150;\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\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_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; 150 )        Bfrq = 150;\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\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      \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\r\n  if (isUSB == true) {\r\n   Result = Receive();\r\n   switch (Result) {\r\n    case -1: \/\/\u672a\u53d7\u4fe1\r\n     break;\r\n    case 0: \/\/\u6b63\u5e38\u53d7\u4fe1\r\n     if (mode == MD_STOP) { \/\/\u5217\u8eca\u304c\u505c\u6b62\u3057\u3066\u3044\u308b\r\n      Serial.write(0);\r\n      SetSound(ReceiveData[1], ReceiveData[2]);\r\n     } else {\r\n      Serial.write(1);\r\n     }\r\n     break;\r\n    case 1: \/\/\u53d7\u4fe1\u30a8\u30e9\u30fc\r\n     Serial.write(2);\r\n     break;\r\n   }\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%3D236&amp;t=%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%EF%BC%88V3.00%EF%BC%89+%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%3D236&amp;text=%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%EF%BC%88V3.00%EF%BC%89+%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%3D236&amp;title=%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%EF%BC%88V3.00%EF%BC%89+%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%3D236&title=%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%EF%BC%88V3.00%EF%BC%89+%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>\u203b\u3053\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u6700\u65b0\u7248\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 &nbsp; \uff1c\u66f4\u65b0\u5185\u5bb9\uff1e \uff08V3.00\uff09 \u30fbPWM\u5468\u6ce2\u6570\u304a\u3088\u3073\u51fa\u529b\u8a2d\u5b9a\u306e\u5909\u66f4 \u2192\u3088\u308a\u4f4e\u901f\u3067\u306e\u8d70\u884c\u304c\u53ef\u80fd\u3068\u306a\u308a\u307e\u3057\u305f\u3002\u5e38\u70b9\u706f\u3064\u307e\u307f\u3092\u5217\u8eca\u304c\u52d5\u304d\u51fa\u3059\u5bf8\u524d\u307e\u3067\u56de\u3057\u3066\u304a\u304f\u3068\u30011km\/h [&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\/236"}],"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=236"}],"version-history":[{"count":9,"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=\/wp\/v2\/pages\/236\/revisions"}],"predecessor-version":[{"id":288,"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=\/wp\/v2\/pages\/236\/revisions\/288"}],"wp:attachment":[{"href":"https:\/\/pwm.sigris-rabo.work\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}