かっぱの覚え書き

とりあえずなんかメモ書きとか

DXディエンドライバーver1.5くらい


www.youtube.com

DXディエンドライバーを改造したので簡単にですが解説します。

※改造は自己責任で行ってください

■仕様について
・オリジナルカード音声追加可能に
・ディケイドライバーver2用カード対応
・フルカラーLEDに変更
・BGM再生機能を追加
・ディケイドライバーモードを搭載

ただデメリットもあります
・音声をすべて自前で用意しなければいけない
・本体を加工しなければいけない
・失敗の可能性もある
・安いわけではない


■材料
・DXディエンドライバー20th
私は中古で買いました。

・ゴセイパワー解放器 テンソウダー
使うのは中のフォトリフレクタのみです。

・seeeduino xiao
https://akizukidenshi.com/catalog/g/gM-15178/

・タッチセンサー
www.amazon.co.jp/dp/B079BKVT98

マイコン内蔵RGBLEDモジュール×2
https://akizukidenshi.com/catalog/g/gM-08414/

・dfplaye rmini×2
https://akizukidenshi.com/catalog/g/gM-12544/

microsdカード×2

・マイクロスピーカー 赤/黒リード付 8Ω ×2
https://akizukidenshi.com/catalog/g/gP-12494/

リチウムイオン電池3.7v 150mAh
https://www.amazon.co.jp/gp/product/B086STZ19P/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

リチウムイオン電池用充電器
リチウムイオン電池のおすすめから辿って探してください。

・ディテクタスイッチESE22MH4XDK(10個入)
http://akizukidenshi.com/catalog/g/gP-05031/

・小型スライドスイッチ 1回路2接点 SS12D01G4
http://akizukidenshi.com/catalog/g/gP-12723/

・ユニバーサル基板
・配線
・ピンソケット
・ピンヘッダ

■配線図

■工程


中身を開けて元々のフォトリフレクタを外してテンソウダーのフォトリフレクタを取り付けます。フォトリフレクタ基板の加工は必要ないのですがカバーは切断して加工します。



元の基板を外してその場所にスピーカーとRGBLEDを取り付けます。



その上にユニバーサル基板を乗せ〇の裏側にディグダスイッチを取り付け銃身がスライドした際にちゃんと押されるように調整します。



電源用スライドスイッチが乗っていますがうまくいかなかったので最終的にはガワに直接グルーガンで止めてしまいました。



これが全体図です。赤丸の部分にタッチセンサを仕込んでありますが配線に挟み込んでいるだけです。
左上のマスキングテープは配線を束ねているだけです。
基板中央のピンソケットは私の加工の都合上、毎日蓋を閉めなければいけなかったので分割できるようにしただけで直接seeeduino xiaoに繋いでも問題ないと思います。
読み取り部に白いプラバンが貼ってありますが銃身を戻したときにカードが引っかからないように貼っています。これがないとカードが取れなくなりますし折れて破れます(私はクウガのカードを破りました)
電池ボックスの部分に縦にしてseeeduino xiaoとdfplaye rminiを納め電池蓋を外せばUSB端子やSDカードを取り出せるようにしました。


■音声関係


音声は自前で用意してください。
音声の収納方法です。
SDカードのルートフォルダに画像のフォルダを作り同じように名前を付けます。
01SE
02カメンライド
03待機音
10カード名
11カード名2
20変身音
21変身音2



中身は3桁の数字です。
dfplaye rminiは1フォルダ255個までしか扱えない,、255までの数値しか付けられないのでカード名、変身音はフォルダが分かれています。
番号のつけ方ですがバーコードの数値をリスト化して上から番号をつけています。
作品順に並んでいるわけではありません。
スケッチにはver2とネオディケイドライバー分はすべて入れたはずなのでスケッチから探して番号の音声ファイルを作ればそのバーコードで鳴るはずです。
スケッチ一番下のドンブラザーズは私がオリジナルで追加したものです。

BGM用のSDカードは01のフォルダを作り作品番号を付けた主題歌を入れています(今のところはディケイドライバーとジオウと海東しか入れていません)

■スケッチ
今までバーコード読み取りのプログラムは作ってもらった物を使っていましたが今回からは自分で作った物で使用しています。
今後ディケイドライバーを更に調整したいのでバーコードの読み取り方向が違う為、読み取り数値が変わってしまう二つのドライバーのプログラムをある程度は共通にしたいと考えていたので一から作り直しました。
とはいえ動作は同じですけど文法のレベル的には下がっています。
正直作ってもらったプログラムはどういう処理をしているのか未だに理解できません(笑)
まあ自分が理解できない物をいつまでも使っているのは気分がよろしくないですしね。
バーコードは上の黒と白部分12桁を右から読んで2進数を10進数化した数値を使っています。
card_name_delayはカード名を読みあげる時間です。殆ど未確認ですので鳴らして調整してください。

オリジナルで追加した動作ですが
・カードがない状態でスライドさせてトリガーを押すとドライバーのモード切替です。ディケイド、ディエンドのFARの音声が鳴って切り替わります。
・タッチセンサの部分を押せばBGMが鳴ります。
・トリガーを長押しするとドライバーをくるくる回転させる音が鳴らせます。戻す時は何かカードを入れてください。
・オリジナル音声ですが新しい数値を追加するか既存の使わない番号の音声ファイルを書き換えてください。


スケッチは完璧に番号を網羅しているわけではありませんので都度修正しています。

使っていない変数もそのまま残っていますが気になるようなら削除してください。

ここからスケッチです。長々とありがとうございました。


  1. //ディエンドライバーver2
  2. #define clock_pin A0//フォトリフレクタ用PT2白
  3. #define data_pin A1//フォトリフレクタ用PT1青
  4. #define RGBLed_PIN 2 //LEDピン D2
  5. #define reading_pin 3 //読み取り開始ピン D3
  6. #define front_slide_pin 4 //スライド前進ピン D4
  7. #define rear_slide_pin 5 //スライド後進ピン D5
  8. // 6 //MP3用RX
  9. // 7 //MP3BGM用RX
  10. #define ride_pin 8 //カメンライド(トリガー)ピン D8
  11. #define bgm_pin 9 //BGMピン D9
  12. #define busy_pin 10//MP3再生検知
  13. //MP3用-----------------------
  14. #include <SoftwareSerial.h>
  15. SoftwareSerial mySerial(0,6); // TX, RX
  16. int folder=1,file;//MP3用変数
  17. int fol_1,fol_2,fol_3,fol_4;
  18. SoftwareSerial mySerial_1(0,7); // TX, RX
  19. int folder_bgm=1,file_bgm;//BGMMP3用変数
  20. //LED用-----------------------
  21. #include <Adafruit_NeoPixel.h>
  22. #define NUMPIXELS 2 //LEDの数
  23. //ライブラリのセットアップ
  24. Adafruit_NeoPixel RGBLed = Adafruit_NeoPixel(NUMPIXELS,RGBLed_PIN,NEO_GRB + NEO_KHZ800);
  25.  unsigned int rgb[][3] ={
  26.   
  27.                         {150,0,0}, // 0 赤
  28.                         {0,0,150}, // 1 青
  29.                         {150,150,0}, // 2 黄
  30.                         {69,31,73}, // 3 紫
  31.                         {150,150,150}, // 4 白
  32.                         {255,150,0}, // 5 橙
  33.                         {0,150,0}, // 6 緑
  34.                         {246,152,150}, // 7 桃
  35.                         {0,0,0} // 8 オフ
  36.                         };
  37.  int color_value;
  38.  int led_1; //LED番号1
  39.  int led_2; //LED番号2
  40.  #define off 0,0,0 //オフ
  41. //---------------------------------------------------
  42. #define card_in 101//カード挿入
  43. #define card_unplug 102//カード排出
  44. #define gunshot_sound 103//銃撃音
  45. //#define opening_and_closing 104//ディケイド開閉音
  46. #define opening_and_closing 105//ディエンド開閉音
  47. int ride; //カメンライド
  48. int card_name; //カード名
  49. int card_name_delay; //カード名再生時間
  50. int stand_by; //待機音
  51. int transform_DEC; //ディケイド変身音
  52. int transform_DIE; //ディエンド変身音
  53. int card_on;
  54. //int card_off;
  55. //int open_clos;
  56. //int reading_on;
  57. //int ride_on;
  58. int slide_on;
  59. int lead_on;
  60. int dec_mode;
  61. int bgm_off;
  62. int reading_sw;//読み取りスイッチ
  63. int ride_sw;//カメンライドスイッチ
  64. //int power_on;
  65. //int kamen_ride_on;
  66. //int pull_out;
  67. int code_number;
  68. int time_1,time_2;
  69. int long_push_on;
  70. //---------------------------------------------------------------------
  71. //バーコード読み取り(フォトリフレクタ)----------------------------------------------
  72. unsigned int data[] = {0,0,0,0,0,0,0,0,0,0,0,0};//12桁
  73. int b_value;
  74. void black_rede(){
  75.   while(analogRead(clock_pin) > 455){//読み取り開始 初期数値80
  76.     while(analogRead(clock_pin) > 455){//黒くなったらループ
  77.       if(analogRead(data_pin) > 455){b_value=1;}//黒なら1
  78.         else{b_value=0;}//白なら0
  79.     }}}
  80. void white_rede(){
  81.   while(analogRead(clock_pin) < 455){//読み取り開始
  82.     while(analogRead(clock_pin) < 455){//白くなったらループ
  83.       if(analogRead(data_pin) > 455){b_value=1;}//黒なら1
  84.         else{b_value=0;}//白なら0
  85.     }}}
  86. //バーコード変換----------------------------------------------------------------------
  87. void barcode_read(){
  88. int t=0;
  89. for (int i=0; i <= 5; i++){//合計12
  90.      black_rede();
  91.      data[t]=b_value;t++;
  92.      white_rede();
  93.      data[t]=b_value;t++;}
  94. t=0;
  95. black_rede();
  96. data[0]=b_value;
  97. //---------------10進数変換--------------------
  98. //int code_number = data[1]*2048+data[2]*1024+data[3]*512+data[4]*256+data[5]*128+data[6]*64
  99. // +data[7]*32+data[8]*16+data[9]*8+data[10]*4+data[11]*2+data[0];//バーコード左から
  100. code_number = data[0]*2048+data[11]*1024+data[10]*512+data[9]*256+data[8]*128+data[7]*64
  101.                  +data[6]*32+data[5]*16+data[4]*8+data[3]*4+data[2]*2+data[1];//バーコード右から
  102. /*
  103. Serial.println(data[1]);
  104. Serial.println(data[2]);
  105. Serial.println(data[3]);
  106. Serial.println(data[4]);
  107. Serial.println(data[5]);
  108. Serial.println(data[6]);
  109. Serial.println(data[7]);
  110. Serial.println(data[8]);
  111. Serial.println(data[9]);
  112. Serial.println(data[10]);
  113. Serial.println(data[11]);
  114. Serial.println(data[0]);
  115. */
  116. //Serial.print("10進数:");
  117. //Serial.println(code_number);
  118. //Serial.print("2進数:");
  119. //Serial.println(code_number, BIN);
  120. folder=1;
  121. file=opening_and_closing;mp3();delay(500);//開閉音
  122. //キャラクターリスト------------------------------------------------
  123. fol_1=2;//カメンライドフォルダ
  124. fol_2=10;//カード名フォルダ
  125. fol_3=3;//待機音フォルダ
  126. fol_4=20;//変身音フォルダ
  127. //読み込みエラー用
  128. ride=1,card_name=1,stand_by=1,transform_DIE=3,transform_DEC=3,card_name_delay=0,led_1=1,led_2=1;
  129. switch(code_number){//
  130. //カメンライド
  131. case 3:{ride=6,card_name=1,stand_by=1,transform_DIE=2,transform_DEC=4,card_name_delay=4000,led_1=0,led_2=0;} break;//FKAFRディケイド
  132. case 13:{ride=1,card_name=2,stand_by=1,transform_DIE=1,transform_DEC=5,card_name_delay=4000,led_1=0,led_2=0;} break;//KRディケイドコンプリート
  133. case 21:{ride=2,card_name=3,stand_by=1,transform_DIE=1,transform_DEC=6,card_name_delay=1200,led_1=0,led_2=0;} break;//AR烈火大斬刀
  134. case 31:{ride=1,card_name=4,stand_by=1,transform_DIE=1,transform_DEC=7,card_name_delay=4000,led_1=3,led_2=0;} break;//KRクウガアルティメット
  135. case 37:{ride=1,card_name=5,stand_by=1,transform_DIE=1,transform_DEC=8,card_name_delay=1200,led_1=5,led_2=5;} break;//KRゴースト
  136. case 47:{ride=1,card_name=6,stand_by=1,transform_DIE=1,transform_DEC=9,card_name_delay=4000,led_1=0,led_2=0;} break;//KRアギトシャイニング
  137. case 55:{ride=5,card_name=7,stand_by=1,transform_DIE=2,transform_DEC=10,card_name_delay=4000,led_1=0,led_2=0;} break;//FFR電王デンライナー
  138. case 57:{ride=1,card_name=8,stand_by=1,transform_DIE=1,transform_DEC=11,card_name_delay=4000,led_1=0,led_2=0;} break;//KR龍騎サバイブ
  139. case 69:{ride=5,card_name=9,stand_by=1,transform_DIE=2,transform_DEC=12,card_name_delay=1200,led_1=2,led_2=2;} break;//FFRキバ
  140. case 79:{ride=1,card_name=10,stand_by=1,transform_DIE=1,transform_DEC=13,card_name_delay=1200,led_1=0,led_2=0;} break;//KR龍騎
  141. case 87:{ride=1,card_name=11,stand_by=1,transform_DIE=1,transform_DEC=14,card_name_delay=4000,led_1=0,led_2=0;} break;//KRファイズブラスター
  142. case 89:{ride=5,card_name=12,stand_by=1,transform_DIE=2,transform_DEC=15,card_name_delay=1200,led_1=0,led_2=0;} break;//FFR龍騎
  143. case 103:{ride=1,card_name=13,stand_by=1,transform_DIE=1,transform_DEC=16,card_name_delay=4000,led_1=1,led_2=2;} break;//KRブレイドキング
  144. case 105:{ride=1,card_name=14,stand_by=1,transform_DIE=1,transform_DEC=17,card_name_delay=4000,led_1=0,led_2=0;} break;//KR装甲響鬼
  145. case 113:{ride=1,card_name=15,stand_by=1,transform_DIE=1,transform_DEC=18,card_name_delay=4000,led_1=0,led_2=0;} break;//KR電王ライナー
  146. case 123:{ride=4,card_name=16,stand_by=1,transform_DIE=2,transform_DEC=19,card_name_delay=1200,led_1=4,led_2=4;} break;//FARジオウ
  147. case 133:{ride=4,card_name=17,stand_by=1,transform_DIE=2,transform_DEC=20,card_name_delay=1200,led_1=1,led_2=1;} break;//FARブレイド
  148. case 143:{ride=1,card_name=18,stand_by=1,transform_DIE=1,transform_DEC=21,card_name_delay=4000,led_1=0,led_2=0;} break;//KRカブトハイパー
  149. case 151:{ride=1,card_name=19,stand_by=1,transform_DIE=1,transform_DEC=22,card_name_delay=4000,led_1=2,led_2=0;} break;//KRキバエンペラー
  150. case 153:{ride=1,card_name=20,stand_by=1,transform_DIE=1,transform_DEC=23,card_name_delay=4000,led_1=2,led_2=0;} break;//KRクウガライジングアルティメット
  151. case 167:{ride=1,card_name=21,stand_by=1,transform_DIE=1,transform_DEC=24,card_name_delay=4000,led_1=2,led_2=2;} break;//KRドガバキエンペラー
  152. case 169:{ride=1,card_name=22,stand_by=1,transform_DIE=1,transform_DEC=25,card_name_delay=4000,led_1=0,led_2=0;} break;//KR電王超クライマックス
  153. case 177:{ride=1,card_name=23,stand_by=1,transform_DIE=1,transform_DEC=26,card_name_delay=1200,led_1=4,led_2=4;} break;//KRスカル
  154. case 187:{ride=1,card_name=24,stand_by=1,transform_DIE=1,transform_DEC=27,card_name_delay=1200,led_1=6,led_2=6;} break;//KR2号
  155. case 199:{ride=1,card_name=25,stand_by=1,transform_DIE=1,transform_DEC=28,card_name_delay=1200,led_1=7,led_2=7;} break;//KRエグゼイド
  156. case 201:{ride=1,card_name=26,stand_by=1,transform_DIE=29,transform_DEC=29,card_name_delay=0,led_1=1,led_2=1;} break;//KRディエンド
  157. case 209:{ride=4,card_name=27,stand_by=1,transform_DIE=2,transform_DEC=30,card_name_delay=1200,led_1=1,led_2=1;} break;//FARディエンドCSM特典版
  158. case 219:{ride=8,card_name=28,stand_by=3,transform_DIE=31,transform_DEC=31,card_name_delay=0,led_1=1,led_2=0;} break;//KRチノマナコ
  159. case 225:{ride=1,card_name=29,stand_by=1,transform_DIE=1,transform_DEC=32,card_name_delay=1200,led_1=1,led_2=1;} break;//KRブレイド
  160. case 235:{ride=1,card_name=30,stand_by=1,transform_DIE=33,transform_DEC=33,card_name_delay=4000,led_1=1,led_2=1;} break;//KRディエンドコンプリート
  161. case 243:{ride=1,card_name=31,stand_by=1,transform_DIE=1,transform_DEC=34,card_name_delay=1200,led_1=1,led_2=1;} break;//KRG3
  162. case 253:{ride=1,card_name=32,stand_by=1,transform_DIE=1,transform_DEC=35,card_name_delay=1200,led_1=3,led_2=3;} break;//KRG4
  163. case 271:{ride=1,card_name=33,stand_by=1,transform_DIE=1,transform_DEC=36,card_name_delay=1200,led_1=3,led_2=3;} break;//KR王蛇
  164. case 279:{ride=1,card_name=34,stand_by=1,transform_DIE=1,transform_DEC=37,card_name_delay=1200,led_1=0,led_2=0;} break;//KRストロンガーチャージアップ
  165. case 281:{ride=1,card_name=35,stand_by=1,transform_DIE=1,transform_DEC=38,card_name_delay=1200,led_1=3,led_2=3;} break;//KR龍牙
  166. case 295:{ride=4,card_name=36,stand_by=1,transform_DIE=2,transform_DEC=39,card_name_delay=1200,led_1=0,led_2=0;} break;//FARカブト
  167. case 297:{ride=1,card_name=37,stand_by=1,transform_DIE=1,transform_DEC=40,card_name_delay=1200,led_1=4,led_2=4;} break;//KRファム
  168. case 305:{ride=1,card_name=38,stand_by=1,transform_DIE=1,transform_DEC=41,card_name_delay=1200,led_1=0,led_2=0;} break;//KRG3-X
  169. case 315:{ride=1,card_name=39,stand_by=1,transform_DIE=1,transform_DEC=42,card_name_delay=1200,led_1=7,led_2=7;} break;//KRライア
  170. case 327:{ride=1,card_name=40,stand_by=1,transform_DIE=1,transform_DEC=43,card_name_delay=1200,led_1=0,led_2=0;} break;//KRG3マイルド
  171. case 329:{ride=1,card_name=41,stand_by=1,transform_DIE=1,transform_DEC=44,card_name_delay=1200,led_1=6,led_2=6;} break;//KRギルス
  172. case 337:{ride=1,card_name=42,stand_by=1,transform_DIE=1,transform_DEC=45,card_name_delay=1200,led_1=2,led_2=2;} break;//KRシザース
  173. case 347:{ride=1,card_name=43,stand_by=1,transform_DIE=1,transform_DEC=46,card_name_delay=4000,led_1=6,led_2=6;} break;//KRギルスエクシード
  174. case 353:{ride=1,card_name=44,stand_by=1,transform_DIE=1,transform_DEC=47,card_name_delay=1200,led_1=4,led_2=4;} break;//KRガイ
  175. case 363:{ride=1,card_name=45,stand_by=1,transform_DIE=1,transform_DEC=48,card_name_delay=1200,led_1=4,led_2=4;} break;//KRデルタ
  176. case 371:{ride=1,card_name=46,stand_by=1,transform_DIE=1,transform_DEC=49,card_name_delay=1200,led_1=2,led_2=2;} break;//KRゼロワン
  177. case 381:{ride=1,card_name=47,stand_by=1,transform_DIE=1,transform_DEC=50,card_name_delay=1200,led_1=4,led_2=4;} break;//KRサイガ
  178. case 387:{ride=1,card_name=48,stand_by=1,transform_DIE=1,transform_DEC=51,card_name_delay=1200,led_1=3,led_2=3;} break;//KRアナザーアギト
  179. case 393:{ride=1,card_name=49,stand_by=1,transform_DIE=1,transform_DEC=52,card_name_delay=1200,led_1=3,led_2=3;} break;//KRオーガ
  180. case 401:{ride=1,card_name=50,stand_by=1,transform_DIE=1,transform_DEC=53,card_name_delay=1200,led_1=5,led_2=5;} break;//KRライオトルーパー
  181. case 411:{ride=1,card_name=51,stand_by=1,transform_DIE=1,transform_DEC=54,card_name_delay=1200,led_1=0,led_2=0;} break;//KRグレイブ
  182. case 417:{ride=1,card_name=52,stand_by=1,transform_DIE=1,transform_DEC=55,card_name_delay=1200,led_1=1,led_2=1;} break;//KR威吹鬼
  183. case 427:{ride=1,card_name=53,stand_by=1,transform_DIE=1,transform_DEC=56,card_name_delay=1200,led_1=3,led_2=3;} break;//KRBLACK
  184. case 435:{ride=1,card_name=54,stand_by=1,transform_DIE=1,transform_DEC=57,card_name_delay=1200,led_1=0,led_2=0;} break;//KR斬鬼
  185. case 445:{ride=4,card_name=12,stand_by=1,transform_DIE=2,transform_DEC=58,card_name_delay=1200,led_1=0,led_2=0;} break;//FAR龍騎
  186. case 449:{ride=1,card_name=56,stand_by=1,transform_DIE=1,transform_DEC=59,card_name_delay=1200,led_1=6,led_2=6;} break;//KR轟鬼
  187. case 459:{ride=1,card_name=57,stand_by=1,transform_DIE=1,transform_DEC=60,card_name_delay=1200,led_1=0,led_2=0;} break;//KR歌舞鬼
  188. case 467:{ride=1,card_name=58,stand_by=1,transform_DIE=1,transform_DEC=61,card_name_delay=1200,led_1=3,led_2=3;} break;//KRサソード
  189. case 477:{ride=1,card_name=59,stand_by=1,transform_DIE=1,transform_DEC=62,card_name_delay=1200,led_1=1,led_2=0;} break;//KRビルド
  190. case 483:{ride=1,card_name=60,stand_by=1,transform_DIE=1,transform_DEC=63,card_name_delay=1200,led_1=1,led_2=1;} break;//KRドレイク
  191. case 493:{ride=1,card_name=61,stand_by=1,transform_DIE=1,transform_DEC=64,card_name_delay=1200,led_1=0,led_2=0;} break;//KRジオウ
  192. case 501:{ride=1,card_name=62,stand_by=1,transform_DIE=1,transform_DEC=65,card_name_delay=1200,led_1=5,led_2=5;} break;//KRパンチホッパー
  193. case 511:{ride=1,card_name=63,stand_by=1,transform_DIE=1,transform_DEC=66,card_name_delay=1200,led_1=1,led_2=1;} break;//KRナイトサバイブ
  194. case 517:{ride=1,card_name=64,stand_by=1,transform_DIE=1,transform_DEC=67,card_name_delay=2500,led_1=2,led_2=2;} break;//KRグランドジオウ/コーカサス
  195. case 527:{ride=1,card_name=65,stand_by=1,transform_DIE=1,transform_DEC=68,card_name_delay=1200,led_1=4,led_2=4;} break;//KRスカイライダー
  196. case 535:{ride=1,card_name=66,stand_by=1,transform_DIE=1,transform_DEC=69,card_name_delay=1200,led_1=0,led_2=0;} break;//KRケタロス
  197. case 537:{ride=1,card_name=67,stand_by=1,transform_DIE=1,transform_DEC=70,card_name_delay=1200,led_1=0,led_2=0;} break;//KRカブト
  198. case 551:{ride=1,card_name=68,stand_by=1,transform_DIE=1,transform_DEC=71,card_name_delay=1200,led_1=0,led_2=0;} break;//KRヘラクス
  199. case 553:{ride=1,card_name=69,stand_by=1,transform_DIE=1,transform_DEC=72,card_name_delay=1200,led_1=6,led_2=6;} break;//KRゾルダ
  200. case 561:{ride=1,card_name=70,stand_by=1,transform_DIE=1,transform_DEC=73,card_name_delay=1200,led_1=4,led_2=4;} break;//KRイクサ
  201. case 571:{ride=1,card_name=71,stand_by=1,transform_DIE=1,transform_DEC=74,card_name_delay=1200,led_1=3,led_2=3;} break;//KRアーク
  202. case 583:{ride=1,card_name=72,stand_by=1,transform_DIE=1,transform_DEC=75,card_name_delay=1200,led_1=4,led_2=1;} break;//KRタイガ
  203. case 585:{ride=1,card_name=73,stand_by=1,transform_DIE=1,transform_DEC=76,card_name_delay=1200,led_1=0,led_2=0;} break;//KRサガ
  204. case 593:{ride=1,card_name=74,stand_by=1,transform_DIE=1,transform_DEC=77,card_name_delay=4000,led_1=6,led_2=3;} break;//KRWエクストリーム
  205. case 603:{ride=1,card_name=75,stand_by=1,transform_DIE=1,transform_DEC=78,card_name_delay=1200,led_1=4,led_2=4;} break;//KRレイ
  206. case 609:{ride=1,card_name=76,stand_by=1,transform_DIE=1,transform_DEC=79,card_name_delay=1200,led_1=0,led_2=0;} break;//KRギャレン
  207. case 619:{ride=1,card_name=77,stand_by=1,transform_DIE=1,transform_DEC=80,card_name_delay=1200,led_1=1,led_2=1;} break;//KRインペラー(ウルトラマンデッカー)
  208. case 627:{ride=1,card_name=78,stand_by=1,transform_DIE=1,transform_DEC=81,card_name_delay=1200,led_1=0,led_2=0;} break;//KRベルデ
  209. case 637:{ride=1,card_name=79,stand_by=1,transform_DIE=1,transform_DEC=82,card_name_delay=1200,led_1=1,led_2=1;} break;//KRガタック
  210. case 647:{ride=1,card_name=80,stand_by=1,transform_DIE=1,transform_DEC=83,card_name_delay=1200,led_1=0,led_2=0;} break;//KRオーディン
  211. case 649:{ride=1,card_name=81,stand_by=1,transform_DIE=1,transform_DEC=84,card_name_delay=1200,led_1=6,led_2=6;} break;//KRゼロノス
  212. case 657:{ride=1,card_name=82,stand_by=1,transform_DIE=1,transform_DEC=85,card_name_delay=1200,led_1=0,led_2=0;} break;//KR真
  213. case 667:{ride=1,card_name=83,stand_by=1,transform_DIE=1,transform_DEC=86,card_name_delay=1200,led_1=0,led_2=0;} break;//KRアクセル
  214. case 673:{ride=4,card_name=84,stand_by=1,transform_DIE=2,transform_DEC=87,card_name_delay=1200,led_1=0,led_2=0;} break;//FARアギト
  215. case 683:{ride=1,card_name=85,stand_by=1,transform_DIE=1,transform_DEC=88,card_name_delay=1200,led_1=6,led_2=6;} break;//KRバース
  216. case 691:{ride=1,card_name=86,stand_by=1,transform_DIE=1,transform_DEC=89,card_name_delay=1200,led_1=0,led_2=0;} break;//KRオルタナティブ
  217. case 701:{ride=7,card_name=87,stand_by=1,transform_DIE=3,transform_DEC=90,card_name_delay=1200,led_1=0,led_2=0;} break;//KJRイーグルアンデッド
  218. case 705:{ride=7,card_name=88,stand_by=1,transform_DIE=3,transform_DEC=91,card_name_delay=1200,led_1=0,led_2=0;} break;//KJRムースファンガイア
  219. case 715:{ride=1,card_name=89,stand_by=1,transform_DIE=1,transform_DEC=92,card_name_delay=1200,led_1=0,led_2=0;} break;//KRオルタナティブゼロ
  220. case 723:{ride=1,card_name=90,stand_by=1,transform_DIE=1,transform_DEC=93,card_name_delay=1200,led_1=1,led_2=1;} break;//KRメテオ
  221. case 733:{ride=1,card_name=91,stand_by=1,transform_DIE=1,transform_DEC=94,card_name_delay=1200,led_1=6,led_2=6;} break;//KRV3
  222. case 739:{ride=1,card_name=92,stand_by=1,transform_DIE=1,transform_DEC=95,card_name_delay=1200,led_1=0,led_2=0;} break;//KRビースト
  223. case 749:{ride=2,card_name=93,stand_by=1,transform_DIE=1,transform_DEC=96,card_name_delay=1200,led_1=0,led_2=0;} break;//ARバリア
  224. case 757:{ride=1,card_name=94,stand_by=1,transform_DIE=1,transform_DEC=97,card_name_delay=1200,led_1=0,led_2=0;} break;//KRバロン
  225. case 767:{ride=1,card_name=95,stand_by=1,transform_DIE=1,transform_DEC=98,card_name_delay=1200,led_1=0,led_2=0;} break;//KRマッハ
  226. case 775:{ride=1,card_name=96,stand_by=1,transform_DIE=1,transform_DEC=99,card_name_delay=1200,led_1=1,led_2=1;} break;//KRスペクター
  227. case 777:{ride=1,card_name=97,stand_by=1,transform_DIE=1,transform_DEC=100,card_name_delay=1200,led_1=0,led_2=0;} break;//KRブレイブ
  228. case 785:{ride=5,card_name=98,stand_by=1,transform_DIE=2,transform_DEC=101,card_name_delay=1200,led_1=0,led_2=0;} break;//FFR響鬼
  229. case 795:{ride=1,card_name=99,stand_by=1,transform_DIE=1,transform_DEC=102,card_name_delay=4000,led_1=3,led_2=3;} break;//KRオーズプトティラ
  230. case 801:{ride=1,card_name=100,stand_by=1,transform_DIE=1,transform_DEC=103,card_name_delay=4000,led_1=1,led_2=1;} break;//KRフォーゼコズミック
  231. case 811:{ride=5,card_name=1,stand_by=1,transform_DIE=2,transform_DEC=104,card_name_delay=1200,led_1=0,led_2=0;} break;//FFRディケイド
  232. case 819:{ride=2,card_name=102,stand_by=1,transform_DIE=1,transform_DEC=105,card_name_delay=1200,led_1=0,led_2=0;} break;//ARイリュージョン
  233. case 829:{ride=1,card_name=103,stand_by=1,transform_DIE=1,transform_DEC=106,card_name_delay=1200,led_1=0,led_2=0;} break;//KRアギト
  234. case 833:{ride=2,card_name=104,stand_by=1,transform_DIE=1,transform_DEC=107,card_name_delay=1200,led_1=0,led_2=0;} break;//ARスラッシュ
  235. case 843:{ride=1,card_name=105,stand_by=1,transform_DIE=1,transform_DEC=108,card_name_delay=4000,led_1=4,led_2=4;} break;//KRウィザードインフィニティ
  236. case 851:{ride=2,card_name=106,stand_by=1,transform_DIE=1,transform_DEC=109,card_name_delay=1200,led_1=0,led_2=0;} break;//ARブラスト
  237. case 861:{ride=5,card_name=107,stand_by=1,transform_DIE=2,transform_DEC=110,card_name_delay=1200,led_1=0,led_2=0;} break;//FFRクウガ
  238. case 867:{ride=2,card_name=108,stand_by=1,transform_DIE=1,transform_DEC=111,card_name_delay=1200,led_1=0,led_2=0;} break;//ARインビジブル
  239. case 877:{ride=2,card_name=109,stand_by=1,transform_DIE=1,transform_DEC=112,card_name_delay=1200,led_1=0,led_2=0;} break;//ARギガント
  240. case 885:{ride=1,card_name=110,stand_by=1,transform_DIE=1,transform_DEC=113,card_name_delay=1200,led_1=0,led_2=0;} break;//KRディケイド
  241. case 895:{ride=8,card_name=111,stand_by=1,transform_DIE=1,transform_DEC=114,card_name_delay=1200,led_1=0,led_2=0;} break;//ERRORブランクカード
  242. case 897:{ride=1,card_name=112,stand_by=1,transform_DIE=1,transform_DEC=115,card_name_delay=1200,led_1=5,led_2=5;} break;//KR鎧武極
  243. case 907:{ride=2,card_name=113,stand_by=1,transform_DIE=1,transform_DEC=116,card_name_delay=1200,led_1=0,led_2=0;} break;//ARアドベント
  244. case 915:{ride=1,card_name=114,stand_by=1,transform_DIE=1,transform_DEC=117,card_name_delay=1200,led_1=0,led_2=0;} break;//KRカリス
  245. case 925:{ride=2,card_name=115,stand_by=1,transform_DIE=1,transform_DEC=118,card_name_delay=1200,led_1=0,led_2=0;} break;//ARストライクベント
  246. case 931:{ride=2,card_name=116,stand_by=1,transform_DIE=1,transform_DEC=119,card_name_delay=1200,led_1=0,led_2=0;} break;//ARオートバジン
  247. case 941:{ride=2,card_name=117,stand_by=1,transform_DIE=1,transform_DEC=120,card_name_delay=1200,led_1=0,led_2=0;} break;//ARサイドバッシャー
  248. case 949:{ride=1,card_name=118,stand_by=1,transform_DIE=1,transform_DEC=121,card_name_delay=4000,led_1=0,led_2=0;} break;//KRドライブトライドロン
  249. case 959:{ride=2,card_name=95,stand_by=1,transform_DIE=1,transform_DEC=122,card_name_delay=1200,led_1=4,led_2=4;} break;//ARマッハ
  250. case 963:{ride=2,card_name=120,stand_by=1,transform_DIE=1,transform_DEC=123,card_name_delay=1200,led_1=0,led_2=0;} break;//ARメタル
  251. case 973:{ride=1,card_name=121,stand_by=1,transform_DIE=1,transform_DEC=124,card_name_delay=1200,led_1=0,led_2=0;} break;//KRワイルドカリス
  252. case 981:{ride=2,card_name=122,stand_by=1,transform_DIE=1,transform_DEC=125,card_name_delay=2500,led_1=0,led_2=0;} break;//AR音撃棒烈火
  253. case 991:{ride=1,card_name=123,stand_by=1,transform_DIE=1,transform_DEC=126,card_name_delay=1200,led_1=6,led_2=6;} break;//KRレンゲル
  254. case 997:{ride=1,card_name=124,stand_by=1,transform_DIE=1,transform_DEC=127,card_name_delay=1200,led_1=0,led_2=0;} break;//KRランス
  255. case 1007:{ride=2,card_name=125,stand_by=1,transform_DIE=1,transform_DEC=128,card_name_delay=1200,led_1=0,led_2=0;} break;//AR鬼火
  256. case 1015:{ride=1,card_name=126,stand_by=1,transform_DIE=1,transform_DEC=129,card_name_delay=1200,led_1=0,led_2=0;} break;//KRファイズ
  257. case 1017:{ride=2,card_name=127,stand_by=1,transform_DIE=1,transform_DEC=130,card_name_delay=1200,led_1=0,led_2=0;} break;//ARクロックアップ
  258. case 1029:{ride=2,card_name=128,stand_by=1,transform_DIE=1,transform_DEC=131,card_name_delay=4000,led_1=0,led_2=0;} break;//AR俺参上
  259. case 1039:{ride=4,card_name=7,stand_by=1,transform_DIE=2,transform_DEC=132,card_name_delay=1200,led_1=0,led_2=0;} break;//FAR電王
  260. case 1047:{ride=2,card_name=130,stand_by=1,transform_DIE=1,transform_DEC=133,card_name_delay=4000,led_1=0,led_2=0;} break;//AR僕に釣られてみる?
  261. case 1049:{ride=2,card_name=131,stand_by=1,transform_DIE=1,transform_DEC=134,card_name_delay=4000,led_1=0,led_2=0;} break;//AR答えは聞いてない
  262. case 1063:{ride=3,card_name=132,stand_by=1,transform_DIE=1,transform_DEC=135,card_name_delay=4000,led_1=0,led_2=0;} break;//FRキバ飛翔体
  263. case 1065:{ride=2,card_name=133,stand_by=1,transform_DIE=1,transform_DEC=136,card_name_delay=4000,led_1=0,led_2=0;} break;//AR泣けるで
  264. case 1073:{ride=1,card_name=134,stand_by=1,transform_DIE=1,transform_DEC=137,card_name_delay=4000,led_1=4,led_2=4;} break;//KRゴーストムゲン
  265. case 1083:{ride=1,card_name=135,stand_by=1,transform_DIE=1,transform_DEC=138,card_name_delay=1200,led_1=0,led_2=0;} break;//KRアマゾン
  266. case 1095:{ride=2,card_name=136,stand_by=1,transform_DIE=1,transform_DEC=139,card_name_delay=4000,led_1=0,led_2=0;} break;//AR突っ張り
  267. case 1097:{ride=2,card_name=137,stand_by=1,transform_DIE=1,transform_DEC=140,card_name_delay=1200,led_1=0,led_2=0;} break;//AR劇場版
  268. case 1105:{ride=2,card_name=138,stand_by=1,transform_DIE=1,transform_DEC=141,card_name_delay=4000,led_1=0,led_2=0;} break;//ARうっちゃり
  269. case 1115:{ride=2,card_name=139,stand_by=1,transform_DIE=1,transform_DEC=142,card_name_delay=1200,led_1=0,led_2=0;} break;//ARガガの腕輪
  270. case 1121:{ride=1,card_name=140,stand_by=1,transform_DIE=1,transform_DEC=143,card_name_delay=4000,led_1=2,led_2=2;} break;//KRエグゼイドムテキ
  271. case 1131:{ride=1,card_name=141,stand_by=1,transform_DIE=1,transform_DEC=144,card_name_delay=1200,led_1=0,led_2=0;} break;//KRX
  272. case 1139:{ride=2,card_name=142,stand_by=1,transform_DIE=1,transform_DEC=145,card_name_delay=1200,led_1=0,led_2=0;} break;//ARクロスアタック
  273. case 1149:{ride=1,card_name=143,stand_by=1,transform_DIE=1,transform_DEC=146,card_name_delay=1200,led_1=0,led_2=0;} break;//KRクウガ
  274. case 1159:{ride=1,card_name=144,stand_by=1,transform_DIE=1,transform_DEC=147,card_name_delay=1200,led_1=1,led_2=1;} break;//KRクローズ
  275. case 1161:{ride=1,card_name=145,stand_by=1,transform_DIE=1,transform_DEC=148,card_name_delay=1200,led_1=0,led_2=0;} break;//KRゲイツ
  276. case 1169:{ride=1,card_name=146,stand_by=1,transform_DIE=1,transform_DEC=149,card_name_delay=4000,led_1=4,led_2=4;} break;//KRビルドジーニアス
  277. case 1179:{ride=1,card_name=147,stand_by=1,transform_DIE=1,transform_DEC=150,card_name_delay=1200,led_1=0,led_2=0;} break;//KRラルク
  278. case 1185:{ride=1,card_name=148,stand_by=1,transform_DIE=1,transform_DEC=151,card_name_delay=1200,led_1=0,led_2=0;} break;//KR弾鬼
  279. case 1195:{ride=1,card_name=149,stand_by=1,transform_DIE=1,transform_DEC=152,card_name_delay=1200,led_1=0,led_2=0;} break;//KR裁鬼
  280. case 1203:{ride=4,card_name=150,stand_by=1,transform_DIE=2,transform_DEC=153,card_name_delay=1200,led_1=0,led_2=0;} break;//FARアマゾン
  281. case 1213:{ride=1,card_name=151,stand_by=1,transform_DIE=1,transform_DEC=154,card_name_delay=1200,led_1=0,led_2=0;} break;//KR鋭鬼
  282. case 1217:{ride=1,card_name=152,stand_by=1,transform_DIE=1,transform_DEC=155,card_name_delay=1200,led_1=0,led_2=0;} break;//KR鋭鬼
  283. case 1227:{ride=3,card_name=153,stand_by=1,transform_DIE=1,transform_DEC=156,card_name_delay=1200,led_1=3,led_2=3;} break;//FRクウガタイタン
  284. case 1235:{ride=4,card_name=154,stand_by=1,transform_DIE=2,transform_DEC=157,card_name_delay=1200,led_1=0,led_2=0;} break;//FARファイズ
  285. case 1245:{ride=1,card_name=155,stand_by=1,transform_DIE=1,transform_DEC=158,card_name_delay=1200,led_1=0,led_2=0;} break;//KR朱鬼
  286. case 1251:{ride=3,card_name=156,stand_by=1,transform_DIE=1,transform_DEC=159,card_name_delay=1200,led_1=1,led_2=1;} break;//FRクウガドラゴン
  287. case 1261:{ride=4,card_name=157,stand_by=1,transform_DIE=2,transform_DEC=160,card_name_delay=1200,led_1=0,led_2=0;} break;//FARW
  288. case 1269:{ride=3,card_name=158,stand_by=1,transform_DIE=1,transform_DEC=161,card_name_delay=1200,led_1=6,led_2=6;} break;//FRクウガペガサス
  289. case 1279:{ride=3,card_name=159,stand_by=1,transform_DIE=1,transform_DEC=162,card_name_delay=1200,led_1=6,led_2=6;} break;//FRアギトストーム
  290. case 1287:{ride=4,card_name=160,stand_by=1,transform_DIE=2,transform_DEC=163,card_name_delay=1200,led_1=0,led_2=0;} break;//FARオーズ
  291. case 1289:{ride=3,card_name=161,stand_by=1,transform_DIE=1,transform_DEC=164,card_name_delay=1200,led_1=0,led_2=0;} break;//FRアギトフレイム
  292. case 1297:{ride=1,card_name=162,stand_by=1,transform_DIE=1,transform_DEC=165,card_name_delay=1200,led_1=0,led_2=0;} break;//KR凍鬼
  293. case 1307:{ride=3,card_name=163,stand_by=1,transform_DIE=1,transform_DEC=166,card_name_delay=2200,led_1=0,led_2=0;} break;//FRファイズアクセル
  294. case 1313:{ride=3,card_name=164,stand_by=1,transform_DIE=1,transform_DEC=167,card_name_delay=1200,led_1=1,led_2=1;} break;//FR電王ロッドフォーム
  295. case 1323:{ride=3,card_name=165,stand_by=1,transform_DIE=1,transform_DEC=168,card_name_delay=1200,led_1=3,led_2=3;} break;//FR電王ガンフォーム
  296. case 1331:{ride=4,card_name=166,stand_by=1,transform_DIE=2,transform_DEC=169,card_name_delay=1200,led_1=4,led_2=4;} break;//FARフォーゼ
  297. case 1341:{ride=3,card_name=167,stand_by=1,transform_DIE=1,transform_DEC=170,card_name_delay=1200,led_1=2,led_2=2;} break;//FR電王アックスフォーム
  298. case 1343:{ride=1,card_name=168,stand_by=1,transform_DIE=1,transform_DEC=171,card_name_delay=1200,led_1=0,led_2=0;} break;//KR煌鬼
  299. case 1345:{ride=1,card_name=169,stand_by=1,transform_DIE=1,transform_DEC=172,card_name_delay=1200,led_1=0,led_2=0;} break;//KR煌鬼
  300. case 1355:{ride=5,card_name=84,stand_by=1,transform_DIE=2,transform_DEC=173,card_name_delay=1200,led_1=0,led_2=0;} break;//FFRアギト
  301. case 1363:{ride=4,card_name=9,stand_by=1,transform_DIE=2,transform_DEC=174,card_name_delay=1200,led_1=2,led_2=2;} break;//FARキバ
  302. case 1373:{ride=1,card_name=172,stand_by=1,transform_DIE=1,transform_DEC=175,card_name_delay=1200,led_1=0,led_2=0;} break;//KR西鬼
  303. case 1379:{ride=3,card_name=173,stand_by=1,transform_DIE=1,transform_DEC=176,card_name_delay=1200,led_1=4,led_2=4;} break;//FR電王ウィングフォーム
  304. case 1389:{ride=1,card_name=174,stand_by=1,transform_DIE=1,transform_DEC=177,card_name_delay=1200,led_1=2,led_2=2;} break;//KRキバ
  305. case 1397:{ride=3,card_name=175,stand_by=1,transform_DIE=1,transform_DEC=178,card_name_delay=1200,led_1=2,led_2=1;} break;//FRキバガルルフォーム
  306. case 1407:{ride=1,card_name=176,stand_by=1,transform_DIE=1,transform_DEC=179,card_name_delay=1200,led_1=0,led_2=0;} break;//KR羽撃鬼
  307. case 1409:{ride=3,card_name=177,stand_by=1,transform_DIE=1,transform_DEC=180,card_name_delay=1200,led_1=2,led_2=3;} break;//FRキバドッガフォーム
  308. case 1419:{ride=1,card_name=178,stand_by=1,transform_DIE=1,transform_DEC=181,card_name_delay=1200,led_1=0,led_2=0;} break;//KRZO
  309. case 1427:{ride=4,card_name=179,stand_by=1,transform_DIE=2,transform_DEC=182,card_name_delay=1200,led_1=0,led_2=0;} break;//FARウィザード
  310. case 1437:{ride=3,card_name=180,stand_by=1,transform_DIE=1,transform_DEC=183,card_name_delay=1200,led_1=2,led_2=6;} break;//FRキババッシャーフォーム
  311. case 1443:{ride=1,card_name=181,stand_by=1,transform_DIE=1,transform_DEC=184,card_name_delay=1200,led_1=1,led_2=1;} break;//KRナイト
  312. case 1453:{ride=1,card_name=182,stand_by=1,transform_DIE=1,transform_DEC=185,card_name_delay=1200,led_1=3,led_2=3;} break;//KRBLACK RX
  313. case 1461:{ride=1,card_name=183,stand_by=1,transform_DIE=1,transform_DEC=186,card_name_delay=1200,led_1=2,led_2=2;} break;//KRカイザ
  314. case 1471:{ride=1,card_name=184,stand_by=1,transform_DIE=1,transform_DEC=187,card_name_delay=1200,led_1=0,led_2=0;} break;//KR京介変身体
  315. case 1475:{ride=1,card_name=185,stand_by=1,transform_DIE=1,transform_DEC=188,card_name_delay=1200,led_1=0,led_2=0;} break;//KR天鬼
  316. case 1485:{ride=1,card_name=186,stand_by=1,transform_DIE=1,transform_DEC=189,card_name_delay=4000,led_1=1,led_2=1;} break;//KRガタックハイパー
  317. case 1493:{ride=1,card_name=187,stand_by=1,transform_DIE=1,transform_DEC=190,card_name_delay=1200,led_1=4,led_2=4;} break;//KRスーパー1
  318. case 1503:{ride=1,card_name=188,stand_by=1,transform_DIE=1,transform_DEC=191,card_name_delay=1200,led_1=0,led_2=0;} break;//KRザビー
  319. case 1509:{ride=1,card_name=189,stand_by=1,transform_DIE=1,transform_DEC=192,card_name_delay=1200,led_1=6,led_2=6;} break;//KRキックホッパー
  320. case 1519:{ride=1,card_name=190,stand_by=1,transform_DIE=1,transform_DEC=193,card_name_delay=1200,led_1=3,led_2=3;} break;//KRダークカブト
  321. case 1527:{ride=5,card_name=17,stand_by=1,transform_DIE=2,transform_DEC=194,card_name_delay=1200,led_1=1,led_2=1;} break;//FFRブレイド
  322. case 1529:{ride=1,card_name=192,stand_by=1,transform_DIE=1,transform_DEC=195,card_name_delay=4000,led_1=0,led_2=0;} break;//KRゼロノスゼロフォーム
  323. case 1543:{ride=1,card_name=193,stand_by=1,transform_DIE=1,transform_DEC=196,card_name_delay=1200,led_1=0,led_2=0;} break;//KRNEW電王
  324. case 1545:{ride=1,card_name=194,stand_by=1,transform_DIE=1,transform_DEC=197,card_name_delay=1200,led_1=3,led_2=3;} break;//KR牙王
  325. case 1553:{ride=1,card_name=195,stand_by=1,transform_DIE=1,transform_DEC=198,card_name_delay=1200,led_1=3,led_2=3;} break;//KRネガ電王
  326. case 1563:{ride=4,card_name=196,stand_by=1,transform_DIE=2,transform_DEC=199,card_name_delay=1200,led_1=5,led_2=5;} break;//FAR鎧武
  327. case 1569:{ride=1,card_name=197,stand_by=1,transform_DIE=1,transform_DEC=200,card_name_delay=4000,led_1=0,led_2=0;} break;//KR幽汽スカルフォーム
  328. case 1579:{ride=1,card_name=198,stand_by=1,transform_DIE=1,transform_DEC=201,card_name_delay=4000,led_1=0,led_2=0;} break;//KR幽汽ハイジャックフォーム
  329. case 1587:{ride=5,card_name=154,stand_by=1,transform_DIE=2,transform_DEC=202,card_name_delay=1200,led_1=0,led_2=0;} break;//FFRファイズ
  330. case 1597:{ride=1,card_name=200,stand_by=1,transform_DIE=1,transform_DEC=203,card_name_delay=1200,led_1=0,led_2=0;} break;//KRG電王
  331. case 1601:{ride=1,card_name=201,stand_by=1,transform_DIE=1,transform_DEC=204,card_name_delay=1200,led_1=0,led_2=0;} break;//KR響鬼
  332. case 1611:{ride=1,card_name=34,stand_by=1,transform_DIE=1,transform_DEC=205,card_name_delay=1200,led_1=0,led_2=0;} break;//KRストロンガー
  333. case 1619:{ride=4,card_name=107,stand_by=1,transform_DIE=2,transform_DEC=206,card_name_delay=1200,led_1=0,led_2=0;} break;//FARクウガ
  334. case 1629:{ride=1,card_name=204,stand_by=1,transform_DIE=1,transform_DEC=207,card_name_delay=4000,led_1=1,led_2=1;} break;//KRイクサライジング
  335. case 1635:{ride=1,card_name=205,stand_by=1,transform_DIE=1,transform_DEC=208,card_name_delay=1200,led_1=3,led_2=3;} break;//KRダークキバ
  336. case 1645:{ride=1,card_name=206,stand_by=1,transform_DIE=1,transform_DEC=209,card_name_delay=1200,led_1=4,led_2=4;} break;//KRキバーラ
  337. case 1653:{ride=1,card_name=207,stand_by=1,transform_DIE=1,transform_DEC=210,card_name_delay=1200,led_1=0,led_2=0;} break;//KRアビス
  338. case 1663:{ride=3,card_name=208,stand_by=1,transform_DIE=1,transform_DEC=211,card_name_delay=4000,led_1=0,led_2=0;} break;//FRBLACK RXロボライダー
  339. case 1665:{ride=4,card_name=209,stand_by=1,transform_DIE=2,transform_DEC=212,card_name_delay=1200,led_1=0,led_2=0;} break;//FARドライブ
  340. case 1675:{ride=1,card_name=210,stand_by=1,transform_DIE=1,transform_DEC=213,card_name_delay=1200,led_1=0,led_2=0;} break;//KRディケイド撃状態
  341. case 1683:{ride=1,card_name=211,stand_by=1,transform_DIE=1,transform_DEC=214,card_name_delay=1200,led_1=0,led_2=0;} break;//KRZX
  342. case 1693:{ride=1,card_name=212,stand_by=1,transform_DIE=1,transform_DEC=215,card_name_delay=1200,led_1=4,led_2=4;} break;//KRシャドームーン
  343. case 1699:{ride=3,card_name=213,stand_by=1,transform_DIE=1,transform_DEC=216,card_name_delay=1200,led_1=4,led_2=4;} break;//FRクウガグローイン
  344. case 1709:{ride=3,card_name=214,stand_by=1,transform_DIE=1,transform_DEC=217,card_name_delay=1200,led_1=0,led_2=2;} break;//FRクウガライジングマイティ
  345. case 1717:{ride=3,card_name=215,stand_by=1,transform_DIE=1,transform_DEC=218,card_name_delay=1200,led_1=1,led_2=2;} break;//FRライジングドラゴン
  346. case 1727:{ride=3,card_name=216,stand_by=1,transform_DIE=1,transform_DEC=219,card_name_delay=1200,led_1=6,led_2=2;} break;//FRライジングペガサス
  347. case 1731:{ride=1,card_name=217,stand_by=1,transform_DIE=1,transform_DEC=220,card_name_delay=1200,led_1=2,led_2=2;} break;//KRゼロツー
  348. case 1741:{ride=3,card_name=218,stand_by=1,transform_DIE=1,transform_DEC=221,card_name_delay=1200,led_1=3,led_2=2;} break;//FRライジングタイタン
  349. case 1749:{ride=3,card_name=219,stand_by=1,transform_DIE=1,transform_DEC=222,card_name_delay=1200,led_1=3,led_2=2;} break;//FRアメイジングマイティ
  350. case 1759:{ride=4,card_name=220,stand_by=1,transform_DIE=2,transform_DEC=223,card_name_delay=1200,led_1=3,led_2=3;} break;//FARゴースト
  351. case 1765:{ride=3,card_name=221,stand_by=1,transform_DIE=1,transform_DEC=224,card_name_delay=1200,led_1=0,led_2=6;} break;//FRアギトトリニティ
  352. case 1775:{ride=1,card_name=222,stand_by=1,transform_DIE=1,transform_DEC=225,card_name_delay=1200,led_1=0,led_2=0;} break;//KRてれびくん
  353. case 1783:{ride=4,card_name=223,stand_by=1,transform_DIE=2,transform_DEC=226,card_name_delay=1200,led_1=7,led_2=7;} break;//FARエグゼイド
  354. case 1785:{ride=3,card_name=224,stand_by=1,transform_DIE=1,transform_DEC=227,card_name_delay=4000,led_1=0,led_2=0;} break;//FRアギトバーニング
  355. case 1793:{ride=3,card_name=225,stand_by=1,transform_DIE=1,transform_DEC=228,card_name_delay=1200,led_1=0,led_2=0;} break;//FR龍騎ブランク
  356. case 1803:{ride=3,card_name=226,stand_by=1,transform_DIE=1,transform_DEC=229,card_name_delay=4000,led_1=1,led_2=2;} break;//FRブレイドジャックフォーム
  357. case 1811:{ride=4,card_name=227,stand_by=1,transform_DIE=2,transform_DEC=230,card_name_delay=1200,led_1=1,led_2=0;} break;//FARビルド
  358. case 1821:{ride=3,card_name=228,stand_by=1,transform_DIE=1,transform_DEC=231,card_name_delay=4000,led_1=0,led_2=2;} break;//FRギャレンジャックフォーム
  359. case 1827:{ride=5,card_name=7,stand_by=1,transform_DIE=2,transform_DEC=232,card_name_delay=1200,led_1=0,led_2=0;} break;//FFR電王モモタロス
  360. case 1835:{ride=3,card_name=230,stand_by=1,transform_DIE=1,transform_DEC=233,card_name_delay=4000,led_1=0,led_2=0;} break;//FR響鬼紅
  361. case 1845:{ride=5,card_name=36,stand_by=1,transform_DIE=2,transform_DEC=234,card_name_delay=1200,led_1=0,led_2=0;} break;//FFRカブト
  362. case 1855:{ride=1,card_name=232,stand_by=1,transform_DIE=1,transform_DEC=235,card_name_delay=1200,led_1=6,led_2=3;} break;//KRW
  363. case 1859:{ride=1,card_name=233,stand_by=1,transform_DIE=1,transform_DEC=236,card_name_delay=1200,led_1=0,led_2=0;} break;//KRオーズ
  364. case 1869:{ride=1,card_name=234,stand_by=1,transform_DIE=1,transform_DEC=237,card_name_delay=1200,led_1=4,led_2=4;} break;//KRフォーゼ
  365. case 1877:{ride=4,card_name=1,stand_by=1,transform_DIE=2,transform_DEC=238,card_name_delay=1200,led_1=0,led_2=0;} break;//FARディケイド
  366. case 1887:{ride=1,card_name=236,stand_by=1,transform_DIE=1,transform_DEC=239,card_name_delay=1200,led_1=0,led_2=0;} break;//KRウィザード
  367. case 1893:{ride=1,card_name=237,stand_by=1,transform_DIE=1,transform_DEC=240,card_name_delay=1200,led_1=0,led_2=0;} break;//KRJ
  368. case 1903:{ride=3,card_name=238,stand_by=1,transform_DIE=1,transform_DEC=241,card_name_delay=1200,led_1=0,led_2=0;} break;//FRカブトマスクドフォーム
  369. case 1911:{ride=3,card_name=239,stand_by=1,transform_DIE=1,transform_DEC=242,card_name_delay=1200,led_1=0,led_2=0;} break;//FRガダックマスクドフォーム
  370. case 1913:{ride=1,card_name=240,stand_by=1,transform_DIE=1,transform_DEC=243,card_name_delay=1200,led_1=0,led_2=0;} break;//KR電王
  371. case 1923:{ride=1,card_name=241,stand_by=1,transform_DIE=1,transform_DEC=244,card_name_delay=1200,led_1=0,led_2=0;} break;//KRライダーマン
  372. case 1933:{ride=1,card_name=242,stand_by=1,transform_DIE=1,transform_DEC=245,card_name_delay=1200,led_1=6,led_2=6;} break;//KR1号
  373. case 1941:{ride=1,card_name=243,stand_by=1,transform_DIE=1,transform_DEC=246,card_name_delay=1200,led_1=5,led_2=5;} break;//KR鎧武
  374. case 1951:{ride=3,card_name=244,stand_by=1,transform_DIE=1,transform_DEC=247,card_name_delay=1200,led_1=0,led_2=0;} break;//FRザビーマスクドフォーム
  375. case 1957:{ride=3,card_name=245,stand_by=1,transform_DIE=1,transform_DEC=248,card_name_delay=1200,led_1=0,led_2=0;} break;//FRドレイクマスクドフォーム
  376. case 1967:{ride=3,card_name=246,stand_by=1,transform_DIE=1,transform_DEC=249,card_name_delay=1200,led_1=0,led_2=0;} break;//FRサソードマスクドフォーム
  377. case 1975:{ride=1,card_name=247,stand_by=1,transform_DIE=1,transform_DEC=250,card_name_delay=1200,led_1=0,led_2=0;} break;//KRドライブ
  378. case 1977:{ride=3,card_name=1,stand_by=1,transform_DIE=1,transform_DEC=1,card_name_delay=1200,led_1=0,led_2=0;} break;//FRダークカブトマスクドフォーム
  379. case 1989:{ride=3,card_name=2,stand_by=1,transform_DIE=1,transform_DEC=2,card_name_delay=1200,led_1=0,led_2=0;} break;//FR電王プラットフォーム
  380. case 1999:{ride=3,card_name=3,stand_by=1,transform_DIE=1,transform_DEC=3,card_name_delay=1200,led_1=0,led_2=0;} break;//FR電王クライマックスフォーム
  381. case 2007:{ride=3,card_name=4,stand_by=1,transform_DIE=1,transform_DEC=4,card_name_delay=1200,led_1=0,led_2=0;} break;//FRゼロノスベガフォーム
  382. case 2009:{ride=5,card_name=157,stand_by=1,transform_DIE=2,transform_DEC=5,card_name_delay=1200,led_1=6,led_2=3;} break;//FFRW
  383. case 2023:{ride=3,card_name=5,stand_by=1,transform_DIE=1,transform_DEC=6,card_name_delay=1200,led_1=0,led_2=0;} break;//FRNEW電王ベガフォーム
  384. case 2025:{ride=5,card_name=6,stand_by=1,transform_DIE=2,transform_DEC=7,card_name_delay=1200,led_1=0,led_2=0;} break;//FFRオールラララライダーズ
  385. case 2033:{ride=2,card_name=7,stand_by=1,transform_DIE=1,transform_DEC=8,card_name_delay=1200,led_1=0,led_2=0;} break;//ARキバドガバキフォーム
  386. case 2043:{ride=4,card_name=98,stand_by=1,transform_DIE=2,transform_DEC=9,card_name_delay=1200,led_1=0,led_2=0;} break;//FAR響鬼
  387. case 2063:{ride=4,card_name=8,stand_by=1,transform_DIE=2,transform_DEC=10,card_name_delay=1200,led_1=0,led_2=0;} break;//FAR1号
  388. case 2071:{ride=4,card_name=9,stand_by=1,transform_DIE=2,transform_DEC=11,card_name_delay=1200,led_1=0,led_2=0;} break;//FAR2号
  389. case 2073:{ride=4,card_name=10,stand_by=1,transform_DIE=2,transform_DEC=12,card_name_delay=1200,led_1=0,led_2=0;} break;//FARV3
  390. case 2087:{ride=4,card_name=11,stand_by=1,transform_DIE=2,transform_DEC=13,card_name_delay=1200,led_1=0,led_2=0;} break;//FARライダーマン
  391. case 2089:{ride=4,card_name=12,stand_by=1,transform_DIE=2,transform_DEC=14,card_name_delay=1200,led_1=0,led_2=0;} break;//FARX
  392. case 2097:{ride=4,card_name=13,stand_by=1,transform_DIE=2,transform_DEC=15,card_name_delay=1200,led_1=0,led_2=0;} break;//FARストロンガー
  393. case 2107:{ride=4,card_name=14,stand_by=1,transform_DIE=2,transform_DEC=16,card_name_delay=1200,led_1=0,led_2=0;} break;//FARスカイライダー
  394. case 2119:{ride=4,card_name=15,stand_by=1,transform_DIE=2,transform_DEC=17,card_name_delay=1200,led_1=0,led_2=0;} break;//FARスーパー1
  395. case 2121:{ride=4,card_name=16,stand_by=1,transform_DIE=2,transform_DEC=18,card_name_delay=1200,led_1=0,led_2=0;} break;//FARZX
  396. case 2129:{ride=4,card_name=17,stand_by=1,transform_DIE=2,transform_DEC=19,card_name_delay=1200,led_1=0,led_2=0;} break;//FARBLACK
  397. case 2139:{ride=4,card_name=18,stand_by=1,transform_DIE=2,transform_DEC=20,card_name_delay=1200,led_1=0,led_2=0;} break;//FARBLACK RX
  398. case 2145:{ride=4,card_name=19,stand_by=1,transform_DIE=2,transform_DEC=21,card_name_delay=1200,led_1=0,led_2=0;} break;//FAR真
  399. case 2155:{ride=4,card_name=20,stand_by=1,transform_DIE=2,transform_DEC=22,card_name_delay=1200,led_1=0,led_2=0;} break;//FARZO
  400. case 2163:{ride=4,card_name=21,stand_by=1,transform_DIE=2,transform_DEC=23,card_name_delay=1200,led_1=0,led_2=0;} break;//FARJ
  401. case 2173:{ride=3,card_name=22,stand_by=1,transform_DIE=1,transform_DEC=24,card_name_delay=4000,led_1=0,led_2=0;} break;//FRBLACK RXバイオライダー
  402. case 2183:{ride=1,card_name=23,stand_by=1,transform_DIE=1,transform_DEC=25,card_name_delay=4000,led_1=0,led_2=0;} break;//KRアルティメットブラックアイ
  403. case 2185:{ride=1,card_name=24,stand_by=1,transform_DIE=1,transform_DEC=26,card_name_delay=4000,led_1=0,led_2=0;} break;//KRライジングアルティメットブラックアイ
  404. case 2209:{ride=2,card_name=25,stand_by=1,transform_DIE=1,transform_DEC=27,card_name_delay=1200,led_1=0,led_2=0;} break;//ARリフレクラウド
  405. case 2501:{ride=1,card_name=26,stand_by=1,transform_DIE=1,transform_DEC=28,card_name_delay=2700,led_1=0,led_2=0;} break;//KRドンモモタロウ
  406. case 2503:{ride=1,card_name=27,stand_by=1,transform_DIE=1,transform_DEC=29,card_name_delay=2300,led_1=2,led_2=2;} break;//KRオニシスター
  407. case 2505:{ride=1,card_name=28,stand_by=1,transform_DIE=1,transform_DEC=30,card_name_delay=2300,led_1=1,led_2=1;} break;//KRサルブラザー
  408. case 2507:{ride=1,card_name=29,stand_by=1,transform_DIE=1,transform_DEC=31,card_name_delay=2300,led_1=3,led_2=3;} break;//KRイヌブラザー
  409. case 2509:{ride=1,card_name=30,stand_by=1,transform_DIE=1,transform_DEC=32,card_name_delay=2300,led_1=7,led_2=7;} break;//KRキジブラザー
  410. }
  411. //-----------------------------------------------------
  412. RGBLed.setPixelColor(0,rgb[led_1][0],rgb[led_1][1],rgb[led_1][2]);//
  413. RGBLed.setPixelColor(1,rgb[led_2][0],rgb[led_2][1],rgb[led_2][2]);//
  414. RGBLed.show();
  415. if(code_number > 1976){fol_2=fol_2+1;if(dec_mode == 1){fol_4=fol_4+1;}}
  416.   
  417. folder=fol_1;
  418. file=ride;mp3();delay(1200);//カメンライド
  419. if(dec_mode == 0){folder=fol_2;file=card_name;mp3();//カード名
  420. delay(card_name_delay);
  421. }
  422. RGBLed.setPixelColor(0,off) ; //
  423. RGBLed.setPixelColor(1,off) ; //
  424. RGBLed.show() ;
  425. folder=fol_3;
  426. if(dec_mode == 1){if(code_number == 517){stand_by=stand_by+3;}//グランドジオウ用
  427. else{stand_by=stand_by+1;}}
  428. file=stand_by;
  429. mp3();//待機音
  430.   while(digitalRead(ride_pin) == 1){
  431.     //if(digitalRead(ride_pin)==LOW){break;}
  432.     
  433.     RGBLed.setPixelColor(0,rgb[led_1][0],rgb[led_1][1],rgb[led_1][2]);//
  434.     RGBLed.setPixelColor(1,rgb[led_2][0],rgb[led_2][1],rgb[led_2][2]);//
  435.     RGBLed.show();
  436.     
  437.     int us = millis();
  438.     while (int(us + 600 - millis()) > 0){
  439.       if(digitalRead(ride_pin)==LOW){break;}}
  440.     
  441.     RGBLed.setPixelColor(0,off) ; //
  442.     RGBLed.setPixelColor(1,off) ; //
  443.     RGBLed.show() ;
  444.     
  445.     us = millis();
  446.     while (int(us + 600 - millis()) > 0){
  447.       if(digitalRead(ride_pin)==LOW){break;}}
  448.     
  449.     }
  450.     RGBLed.setPixelColor(0,off) ; //
  451.     RGBLed.setPixelColor(1,off) ; //
  452.     RGBLed.show() ;
  453.     folder=fol_4,
  454.     file=transform_DIE;mp3();
  455.     if(dec_mode == 1){file=transform_DEC;mp3();}
  456.     folder=1;delay(200);led();//変身音
  457. }
  458. //-------------------------------------------------------------
  459. void led(){
  460.   while (!digitalRead(busy_pin)){
  461.     RGBLed.setPixelColor(0,rgb[led_1][0],rgb[led_1][1],rgb[led_1][2]);//
  462.     RGBLed.setPixelColor(1,rgb[led_2][0],rgb[led_2][1],rgb[led_2][2]);//
  463.     RGBLed.show();
  464.     if(digitalRead(rear_slide_pin)==LOW){break;}
  465.   }
  466.     RGBLed.setPixelColor(0,off) ; //
  467.     RGBLed.setPixelColor(1,off) ; //
  468.     RGBLed.show() ;
  469.   }
  470. //------------------------------------------------------------------------------------
  471. void mp3()
  472. {
  473.   mySerial_1.listen();
  474.   //ファイル指定再生
  475.   unsigned char mp3[8] = {0x7E,0xFF,0x06,0x0F,(byte)0,folder,file,0xEF};
  476.    mySerial.write(mp3,8);
  477. }
  478. //------------------------------------------------------------------------------------------------------
  479. void mp3_bgm()
  480. {
  481.   mySerial.listen();
  482.   //ファイル指定再生
  483.   unsigned char mp3_bgm[8] = {0x7E,0xFF,0x06,0x0F,(byte)0,folder_bgm,file_bgm,0xEF};
  484.    mySerial_1.write(mp3_bgm,8);
  485.   delay(10);
  486. }
  487. //------------------------------------------------------------------------------------------------------
  488. void bgm_play(){
  489.   
  490.     delay(200);
  491.     if(bgm_off == 1){file_bgm=99;bgm_off=0;}//無音
  492.     else {file_bgm=21;bgm_off=1;
  493.        if(code_number == 885 || code_number == 13){file_bgm=10;bgm_off=1;}//ディケイド
  494.        if(code_number == 517 || code_number == 493){file_bgm=20;bgm_off=1;}//ジオウ
  495.        if(long_push_on == 1){file_bgm=22;bgm_off=1;}//海東台詞
  496.        }
  497.     mp3_bgm();
  498. }
  499. //------------------------------------------------------------------------------------------------------
  500. void driver_change(){//ドライバーチェンジ
  501.   if(slide_on == 0 && digitalRead(ride_pin) == LOW && digitalRead(rear_slide_pin) == HIGH){delay(200);
  502.     if(dec_mode == 0){folder=10;file=1;mp3();dec_mode=1;folder=1;}//ディケイド切り替え
  503.      else {folder=10;file=27;mp3();dec_mode=0;folder=1;} //ディエンド切り替え
  504.      }
  505.     if (long_push_on == 1){folder=1;file=106;mp3();delay(3000);}//回転音
  506.     else if(digitalRead(ride_pin) == LOW){
  507.       time_1=millis()+ 1500;//1.5秒プラス
  508.          while(!digitalRead(ride_pin)){time_2=millis();}
  509.             if(time_1 < time_2){long_push_on=1;}//1.5秒以上ならON
  510.     
  511.     else {folder=1;file=gunshot_sound;mp3();}}//銃撃音
  512.   
  513.     //Serial.println(long_push_on);
  514. }
  515. //-------------------------------------------------------------------------------------------------------
  516. void setup() {
  517.   Serial.begin( 9600 );
  518.   mySerial.begin( 9600 );
  519.   mySerial_1.begin( 9600 );
  520.   pinMode(reading_pin,INPUT_PULLUP); //読み取り開始ピン D3
  521.   pinMode(front_slide_pin,INPUT_PULLUP); //スライド前進ピン D4
  522.   pinMode(rear_slide_pin,INPUT_PULLUP); //スライド後進ピン D5
  523.   pinMode(ride_pin,INPUT_PULLUP); //カメンライドピン D8
  524.   pinMode(bgm_pin,INPUT_PULLUP); //BGMピン D9
  525.   pinMode(busy_pin,INPUT_PULLUP); //MP3再生検知ピン D10
  526.   
  527. file=1;mp3();//スタート音声
  528.   RGBLed.begin();
  529.   RGBLed.setBrightness(50);//輝度の設定(0〜255)
  530.   RGBLed.setPixelColor(0,0,0,150);//RGBの設定
  531.   RGBLed.setPixelColor(1,0,0,150);//
  532.   RGBLed.show();
  533.   delay(4000);
  534.   RGBLed.setPixelColor(0,0,0,0);//
  535.   RGBLed.setPixelColor(1,0,0,0);//
  536.   RGBLed.show();
  537.   //SE音量指定
  538.   unsigned char mp3_v[8] = {0x7E,0xFF,0x06,0x06,(byte)0,(byte)0,(byte)23,0xEF};//7個目の値を変更1〜30まで
  539.    mySerial.write(mp3_v,8);
  540.   //BGM音量指定
  541.   unsigned char mp3_bgm_v[8] = {0x7E,0xFF,0x06,0x06,(byte)0,(byte)0,(byte)15,0xEF};//7個目の値を変更1〜30まで
  542.    mySerial_1.write(mp3_bgm_v,8);
  543. }
  544. void loop() {
  545. //置き換え
  546. int reading=digitalRead(reading_pin); //読み取り開始
  547. int front_slide=digitalRead(front_slide_pin);//スライド前進
  548. int rear_slide=digitalRead(rear_slide_pin); //スライド後進
  549. int ride=digitalRead(ride_pin); //カメンライド
  550. int bgm=digitalRead(bgm_pin); //BGM
  551. int busy=digitalRead(busy_pin); //MP3再生検知
  552. //---------------------------------------------------------
  553.   
  554. //BGM再生
  555. if(bgm == LOW){bgm_play();}
  556. //銃撃音
  557. if(ride == LOW){driver_change();}
  558. //開閉音
  559. if(slide_on == 1 && rear_slide == LOW && front_slide == LOW){file=opening_and_closing;mp3();slide_on=0;}
  560. //カード挿入音
  561. if(card_on == 0){if(reading == LOW && front_slide == LOW && rear_slide == LOW){file=card_in;mp3();card_on=1;long_push_on=0;}}
  562. //カード排出音
  563. if(card_on == 1){if(reading == HIGH && front_slide == LOW && rear_slide == LOW){file=card_unplug;mp3();card_on=0;}}
  564. //バーコードリード
  565. if(slide_on == 0 ){if(rear_slide == HIGH && card_on == 1){barcode_read();slide_on=1;lead_on=1;}}
  566. //フォトリフレクタテスト用
  567. //int val = analogRead(0);
  568. //Serial.println(val);
  569. //delay(100);
  570. }

ガンデフォン50解析

youtu.be


※公開を再開しました。

ガンデフォン50の赤外線信号解析をして任意に音声を鳴らしてみたいと思います。

必要部品
・seeeduino xiao
https://akizukidenshi.com/catalog/g/gM-15178/
・赤外線LED
https://akizukidenshi.com/catalog/g/gI-03261/
・タクトスイッチ
https://akizukidenshi.com/catalog/g/gP-03647/
・ユニバーサル基板とか配線とかブレッドボードとか

解析用品
オシロスコープ
https://akizukidenshi.com/catalog/g/gM-12972/
アマゾンでも売っていますが私は秋月電子で買いました。秋月電子で買う場合ACアダプタは必ず指定の物を買ってください。


あとはガンデフォン50、バイスタンプ複数個(複数あった方が数値の比較が出来るので解析しやすい)です。私はレックスとバッタしか持っていません。

まずはバイスタンプというかリバイス玩具全般の仕様を簡単に説明します。
何かボタンを押すと赤外線ポートは信号を1分間くらい送信続けます。
ポートは1つで送受信を兼ねています。
バイスドライバーで説明すると押印するとドライバーから信号送信。同時にバイスタンプも押されているので信号送信。バイスタンプをセットした時にお互い信号を送受信し続ける事によって装填していると認識して装填音、待機音。その送受信が途絶えると着脱と認識し着脱音が鳴る仕組みです。
装填中にレバーを倒すと変身音用の信号をスタンプに送信。スタンプは受け取ったらLED発光信号をドライバーに送信して変身動作完了です。
今回はバイスタンプからガンデフォン用の信号を送信のみ再現します。


まずはバイスタンプを開けて赤外線LEDが繋がっている部分を探し出しオシロスコープのプロープが付けられるような線をはんだ付けします。

バイスタンプを起動させ信号の波形を確認します。

オシロスコープの設定は2msにしていますので1メモリは500μsです。ちょっとズレてますが左から線が上に6ms(6000μs)それから500μs下がる、次に1500μs上がって、500μs下がる。これが6回続いて今度は500μs上がって1500μs下がる(画像は1500μs以上下がってますがこれは信号終わりだからです)
この波形は数字に直せます。
それと今の内に上がるをHIGH、下がるをLOWと置き換えます。
最初の6000μsHIGH、500μsLOWはスタートビットなので含みません。
1500μsHIGH、500μsLOWの1セットで0
500μsLOW、1500μsHIGHの1セットで1
これを当てはめて読んでみると
00000001となり2進数表記なんですけど10進数にしてもそのまま1です。信号を読み取ったスタンプはレックスなのでレックスの固有番号は1となります。
それをふまえた上で今度はこっちです。

2進数にすると00100110です。これを10進数にすると38番となります。これはバッタバイスタンプです。

私はこの2つしかないのでこれ以上は調べられないのですがツイッターのタイムラインで流れてきた書き込みにリバイスを1番として逆から仮面ライダーを数えていけば1号は38番なるのでは?との情報があったので調べてみるとまさにその通りでした。

その情報をありがたく使わせて頂きます。

オシロスコープの波形を見続けているとわかるのですがバイスタンプはこの固有番号をループで発信しています。

なのでまずはこの波形を再現します。

再現する上で気をつけなければいけないのが赤外線の送信方法です。

ただ1500μsをHIGH、500μsをLOWにすればいいのではなくHIGHの時は28μsでオンオフを繰り返しています。もっと高額なオシロスコープで赤外線の波形を見ればHIGHの時の線が1本ではなくギザギザになっているとわかりますがこのオシロスコープではよくわかりません。
ここら辺の詳しい情報はarduino 赤外線リモコンなどで検索すれば他の方が詳しく解説させているのでそちらをご参照ください。

それでは先に回路図の方を載せます。
画像はArduino Unoを使っていますが使用しているのはseeeduino xiaoです。
繋げているIO端子の番号は自分の環境に合わせて変えてください。
電源はUSB端子から直接引っ張っています。

そして以下のスケッチがです。

スタンプ固有番号だけだと反応しないのでガンデフォン用の信号を探します。
私がやった探し方はレックスの信号を流しながら2進数の信号を1から順に流してヒットするまで総当りでやってました。
まあ答えを言ってしまうと番号は150番です。
そしてこの2つの信号をガンデフォンに流すとバイスタンプ講座が流れます。

スイッチ単押しで講座音声、長押しでスタンプ切り替えになっています。

長くなりましたが以上です。信号のタイミングはリバイス玩具は全部同じなので応用すればスタンプも鳴らせます。ぜひ挑戦してみてください。

www.youtube.com


  1. //ガンデフォン制御
  2. #define data_pin A2 //赤外線
  3. #define start_pin 1 //スイッチ
  4. unsigned int data_1[] = {0,0,0,0,0,0,0,1};//レックス
  5. unsigned int data_4[] = {0,0,0,0,0,1,0,0};//ブラキオ
  6. unsigned int data_6[] = {0,0,0,0,0,1,1,0};//ジャッカル
  7. unsigned int data_9[] = {0,0,0,0,1,0,0,1};//カマキリ
  8. unsigned int data_11[] = {0,0,0,0,1,0,1,1};//コング
  9. unsigned int data_13[] = {0,0,0,0,1,1,0,1};//イーグル
  10. unsigned int data_14[] = {0,0,0,0,1,1,1,0};//メガロドン
  11. unsigned int data_16[] = {0,0,0,1,0,0,0,0};//マンモス
  12. unsigned int data_23[] = {0,0,0,1,0,1,1,1};//ライオン
  13. unsigned int data_70[] = {0,1,0,0,0,1,1,0};//汎用
  14. unsigned int data_71[] = {0,1,0,0,0,1,1,1};//新しいリバイスをご覧あれ
  15. unsigned int data_72[] = {0,1,0,0,1,0,0,0};//
  16. unsigned int data_73[] = {0,1,0,0,1,0,0,1};//新しいリバイスをご覧あれ
  17. unsigned int data_74[] = {0,1,0,0,1,0,1,0};//プテラ
  18. unsigned int data_125[] = {0,1,1,1,1,1,0,1};//効果音のみ
  19. unsigned int data_150[] = {1,0,0,1,0,1,1,0};//スタンプ講座用基本信号
  20. unsigned long start_bit_time = 6000;
  21. unsigned long end_bit_time = 198500;
  22. unsigned long ir_long_time = 1500;
  23. unsigned long ir_short_time = 500;
  24. int ir_blinking_seconds = 8;
  25. int i=0;
  26. int start__sw;
  27. int id_number;
  28. int id_count=150;//150はスタンプ講座用基本信号
  29. int id_count_1=1;//
  30. int val;
  31. //-------------------------------------------------------------------------------------
  32. void ir_led_start(){
  33.     unsigned long us = micros();
  34.     
  35.     while (long(us + start_bit_time - micros()) > 0){
  36.       digitalWrite(data_pin, 1); //
  37.       delayMicroseconds(ir_blinking_seconds); //
  38.       digitalWrite(data_pin, 0);
  39.       delayMicroseconds(ir_blinking_seconds);
  40.       }
  41.     us = micros();
  42.     while (long(us + ir_short_time - micros()) > 0){
  43.       digitalWrite(data_pin, 0); //
  44.       delayMicroseconds(ir_blinking_seconds); //
  45.       digitalWrite(data_pin, 0);
  46.       delayMicroseconds(ir_blinking_seconds);
  47.       }
  48. }
  49. //----------------------------------------------------------------------------------------
  50. void ir_led_end(){
  51.     unsigned long us = micros();
  52.     
  53.     while (long(us + end_bit_time - micros()) > 0){
  54.       digitalWrite(data_pin, 0); //
  55.       delayMicroseconds(ir_blinking_seconds); //
  56.       digitalWrite(data_pin, 0);
  57.       delayMicroseconds(ir_blinking_seconds);
  58.       }
  59. }
  60. //----------------------------------------------------------------------------------------
  61. void ir_led_1(){
  62.     unsigned long us = micros();
  63.     
  64.     while (long(us + ir_short_time - micros()) > 0){
  65.       digitalWrite(data_pin, 1); //
  66.       delayMicroseconds(ir_blinking_seconds); //
  67.       digitalWrite(data_pin, 0);
  68.       delayMicroseconds(ir_blinking_seconds);
  69.       }
  70.     us = micros();
  71.     while (long(us + ir_long_time - micros()) > 0){
  72.       digitalWrite(data_pin, 0); //
  73.       delayMicroseconds(ir_blinking_seconds); //
  74.       digitalWrite(data_pin, 0);
  75.       delayMicroseconds(ir_blinking_seconds);
  76.       }
  77. }
  78. //----------------------------------------------------------------------------------------
  79. void ir_led_0(){
  80.     unsigned long us = micros();
  81.     
  82.     while (long(us + ir_long_time - micros()) > 0){
  83.       digitalWrite(data_pin, 1); //
  84.       delayMicroseconds(ir_blinking_seconds); //
  85.       digitalWrite(data_pin, 0);
  86.       delayMicroseconds(ir_blinking_seconds);
  87.       }
  88.     us = micros();
  89.     while (long(us + ir_short_time - micros()) > 0){
  90.       digitalWrite(data_pin, 0); //
  91.       delayMicroseconds(ir_blinking_seconds); //
  92.       digitalWrite(data_pin, 0);
  93.       delayMicroseconds(ir_blinking_seconds);
  94.       }
  95. }
  96. //----------------------------------------------------------------------------------------
  97. void id_Signal(){
  98.  ir_led_start();
  99.  
  100.  switch(id_number){//
  101. case 1 :{ for (int i=0; i <= 7;){if(data_1[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//レックス
  102. case 2 :{ for (int i=0; i <= 7;){if(data_14[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//メガロドン
  103. case 3 :{ for (int i=0; i <= 7;){if(data_13[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//イーグル
  104. case 4 :{ for (int i=0; i <= 7;){if(data_16[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//マンモス
  105. case 5 :{ for (int i=0; i <= 7;){if(data_74[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//プテラ
  106. case 6 :{ for (int i=0; i <= 7;){if(data_23[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//ライオン
  107. case 7 :{ for (int i=0; i <= 7;){if(data_6[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//ジャッカル
  108. case 8 :{ for (int i=0; i <= 7;){if(data_11[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//コング
  109. case 9 :{ for (int i=0; i <= 7;){if(data_9[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//カマキリ
  110. case 10:{ for (int i=0; i <= 7;){if(data_4[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//ブラキオ
  111. case 11:{ for (int i=0; i <= 7;){if(data_70[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//汎用
  112. case 12:{ for (int i=0; i <= 7;){if(data_71[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//新しいリバイスをご覧あれ
  113. case 13:{ for (int i=0; i <= 7;){if(data_72[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//
  114. case 150:{ for (int i=0; i <= 7;){if(data_150[i] == 1){ir_led_1();}else{ir_led_0();}i++;}} break;//スタンプ講座用基本信号
  115. default: ;
  116.  }
  117.   ir_led_end();
  118. }
  119. //-----------------------------------------スタンプチェンジ------------------------------------------
  120. void stamp_change(){
  121.   #define PUSH_SHORT 200000
  122.   unsigned long gauge = 0;
  123.   while (!digitalRead(start_pin)){gauge++;}
  124.   if (gauge < PUSH_SHORT){
  125.     //Serial.println("ボタン単押し");
  126.     id_number=id_count_1;id_Signal();
  127.     id_number=id_count;id_Signal();
  128.     }else{
  129.     //Serial.println("ボタン長押し");
  130.      id_count_1++;
  131.      if(id_count_1 == 14){id_count_1=1;}
  132.      delay(300);
  133.   }
  134. }
  135. //---------------------------------------------------------------------------------------------
  136. void setup() {
  137.   Serial.begin( 9600 );
  138.   pinMode(data_pin, INPUT_PULLUP);
  139.   pinMode(data_pin, OUTPUT);
  140.   pinMode(start_pin, INPUT_PULLUP);
  141. }
  142. void loop() {
  143. if(digitalRead(start_pin) == LOW){delay(300);stamp_change();
  144. Serial.println( id_count_1 );}
  145. }

※デモンズドライバーにこのスケッチをそのまま使うこともできます

【劇中再現】ゼロワンドライバー起動音切り替え改造

劇中と玩具の仕様が違うなんて今までだってあったのですけどあらかさまに玩具の仕様ガン無視はやめて欲しいのですよ。ってか劇中でゼロツードライバーとか鳴らすなよ。
そんなわけで再現するとしてぱっと思いついたのが
1、中身を全部作り変える
2、起動音をかき消すくらいの大音量で被せる

1は物凄い大変なので却下。2はうるせえ。

まあゼロツーユニット持ってないし別にいいかーって感じだったんですけどふっと思いついたのが
起動音鳴らしている時にスピーカーの配線切って別の音声鳴らして終わったらまた繋ぎ直せば起動音だけ変更できるんじゃないか?

そのアイディアから今回の改造に至ったわけです。

今回の主要部品は少ないです。3つです。

attiny85
https://akizukidenshi.com/catalog/g/gI-09573/

リレー3V
https://akizukidenshi.com/catalog/g/gP-01347/

dfplaye rmini
https://akizukidenshi.com/catalog/g/gM-12544/

あとは1kΩ抵抗一本と8ピンのICソケットとmicrosdカードと配線ですね。


リレーというのは簡単に言うと配線の間に噛ませてリレーに電流を流すと繋いだり切ったりしてくれる部品です。電流を流すタイミング、時間をattiny85で制御するわけです。


まずはゼロワンドライバーを開けて基板まで辿り着きます。
f:id:une-lettre-arrive:20200913134213j:plain
f:id:une-lettre-arrive:20200913134256j:plain

スピーカーがややこしいのですが左の配線を延長。基板部には新しい配線を取り付ける。右に一本配線を追加する。これはdfplayer miniとスピーカーを共通にするためです。

回路図はこちらです。
f:id:une-lettre-arrive:20200913134033j:plain


仕様としてはユニットを付けた時に押されるスイッチを検知するとリレーに電流が流れ基板側の音声カット。代わりにdfplayer mini
の音声が流れる。4秒後電流を切って基板の配線が繋がるとやってる事は物凄く単純です。

変更スイッチの配線はここに取り付けてください。左に一本付けるだけで大丈夫です。
f:id:une-lettre-arrive:20200913143034j:plain


起動音ですがmicrosdカードに01というフォルダを作りその中に鳴らしたい音声の名前を001.mp3にして入れておいてください。

テストしながらだったので配線は長いままだし端子は切り取ってないですがゼロワンドライバーに空きスペースが多かったのでなんとか入りました。
f:id:une-lettre-arrive:20200913134118j:plain

こちらはYou Tube動画、Twitter動画です


【劇中再現】ゼロワンドライバー起動音切り替え【ゼロツードライバー】

音声を変えれば絶滅ドライバー、エデンドライバーにも対応出来ます。

1つ注意点ですが実際は基板の起動音を完全に消せたわけではありません。消すつもりで作ったのですが基板の音量が凄く小さくなりDFplayer miniの音量で被せている感じです。多分同じスピーカーを使っているので完全に電流を遮断出来ないんじゃないかなと思ってます。それでも目的は達成してるので完成としました。

最後はスケッチを載せます。
最後まで読んで頂いてありがとうございました。



  1. #include <SoftwareSerial.h>
  2. SoftwareSerial mySerial(1,0); // TX
  3. #include <avr/sleep.h>//スリープを使えるようにする
  4. #include <avr/interrupt.h>//割込みが使えるようにする
  5. #define change_pin 1//変更スイッチ
  6. #define relay_pin 2//リレースイッチ
  7. int folder=1,file;//MP3用変数
  8. int start_voice;
  9. void setup() {
  10.   mySerial.begin (9600);
  11.   pinMode(relay_pin, OUTPUT); //リレースイッチ
  12.   pinMode(change_pin,INPUT_PULLUP); //変更スイッチ
  13.   set_sleep_mode(SLEEP_MODE_PWR_DOWN); //スリープモード設定
  14. }
  15.  
  16. void loop() {
  17. if (digitalRead(change_pin) == LOW){
  18.   if(start_voice == 0){
  19.     digitalWrite(relay_pin,HIGH);//リレーオン スピーカーオフ
  20.     delay(1000);//
  21.     file=1;mp3();//スタート音声
  22.     delay(4000);//4秒スピーカーオフ
  23.     digitalWrite(relay_pin,LOW);//リレーオフ スピーカーオン
  24.     start_voice=1;
  25.   }
  26. }
  27.     sleep_mode();//スリープ動作
  28. }
  29. //-------------------------------------------MP3再生-------------------------------------------
  30. void mp3()
  31. {
  32.   //ファイル指定再生
  33.   unsigned char mp3[8] = {0x7E,0xFF,0x06,0x0F,(byte)0,folder,file,0xEF};
  34.    mySerial.write(mp3,8);
  35.   delay(10);
  36. }
  37. //---------------------------------------------------------------------------------------------

ルパパトサウンドロップ改造


ルパパトサウンドロップ改造

ルパパトのサウンドロップをボタンでキャラ切り替えができるように改造しました。

f:id:une-lettre-arrive:20200807090348j:plain

使った部品です。

・AVRマイコン ATTINY85-20PU
http://akizukidenshi.com/catalog/g/gI-09573/

・タクトスイッチ(黒)
http://akizukidenshi.com/catalog/g/gP-08073/

・·基板取付用小型ダイナミックスピーカー UGCM0903EPD(5.0)
http://akizukidenshi.com/catalog/g/gP-10129/


こんなもんですね。電源はサウンドロップボタン電池から供給しているので別電源はありません。ちなみに電源スイッチもないので基本的使わないに時は絶縁シートをつけています。

まずは開けます。

f:id:une-lettre-arrive:20200807090426j:plain

いじくりまわした後なので汚いですが
右にR3R4R5があります。これを繋げることで音声が変化します。

パトレン1号  なし
パトレン2号  R3
パトレン3号  R4
ルパンレッド  R3R4
ルパンブルー  R5
ルパンイエロー R3R5

1音声だけ鳴らしたいなら上記の番号を横に繋げれば変更できます。

今回は全ての音声を鳴らしたいのでPICで制御しています。

f:id:une-lettre-arrive:20200808042036j:plain

配線箇所ですが
青はVCC
緑はGND
赤はR端子になります。
VCCは縦に繋がっているので一か所配線すれば大丈夫です。

それを踏まえた上でこのように繋げます。

f:id:une-lettre-arrive:20200808042715p:plain

実際繋げた写真です。

f:id:une-lettre-arrive:20200808045811j:plain

スペース確保の為に備え付けのスピーカーを外し小型に変えています。

収めた写真です。

f:id:une-lettre-arrive:20200808050023j:plain

切り替えスイッチは端に穴を開けてグルーガンで固定しました。
ピンバイスやデザインナイフで加工しています。怪我に注意してください。

f:id:une-lettre-arrive:20200808050215j:plain

あとは 蓋をしてシールを張り替えて完成です。シールはネットで良さそうなのを丸く切って使いました。配線の関係で片方のネジが止められなかったのはナイショです(笑)

f:id:une-lettre-arrive:20200808050559j:plain



以下スケッチです。
前回作った仮面ライダーサウンドロップのスケッチを流用してるので使わない行が何個かあります。
一応//はかけておきましたが動作に支障はないはずです。


次はプリキュアのでも改造しようかと思っています。
ちなみにキラメイジャーはできません。
検証したら2種類の基盤に分かれて音声が収録されていたので一つのサウンドロップでというのは無理でした。
プリキュアは一つの基板に全部入っています。


■スケッチ

  1. #define r3_pin 3//R3
  2. #define r4_pin 4//R4
  3. #define r5_pin 1//R5
  4. //#define vcc_pin 2//VCC
  5. #define select_pin 0//セレクトピン
  6. int select;
  7. void setup() {
  8.   //Serial.begin(9600);
  9.   pinMode(r3_pin , OUTPUT); //R3
  10.   pinMode(r4_pin , OUTPUT); //R4
  11.   pinMode(r5_pin , OUTPUT); //R5
  12.   //pinMode(vcc_pin , OUTPUT); //基板VCC
  13.   pinMode(select_pin, INPUT_PULLUP); //キャラクター選択
  14. }
  15. void loop() {
  16.  
  17.   //digitalWrite(vcc_pin, HIGH); //基板電源ON
  18.  
  19.  
  20.   if(digitalRead(select_pin) == LOW){delay(200);select++;if(select > 6){select=1;} //キャラクター選択
  21.   digitalWrite(r3_pin, LOW);digitalWrite(r4_pin, LOW);digitalWrite(r5_pin, LOW);//リセット
  22.   switch(select){
  23.   case 1:{digitalWrite(r3_pin, LOW);digitalWrite(r4_pin , LOW);digitalWrite(r5_pin, LOW);} break;//パトレン1号
  24.   case 2:{digitalWrite(r3_pin, HIGH);} break;//パトレン2号
  25.   case 3:{digitalWrite(r4_pin , HIGH);} break;//パトレン3号
  26.   case 4:{digitalWrite(r3_pin, HIGH);digitalWrite(r4_pin , HIGH);} break;//ルパンレッド
  27.   case 5:{digitalWrite(r5_pin, HIGH);} break;//ルパンブルー
  28.   case 6:{digitalWrite(r3_pin, HIGH);digitalWrite(r5_pin, HIGH);} break;//ルパンイエロー
  29.   }
  30.   }
  31.   
  32.   //Serial.println(digitalRead(6));
  33.   //Serial.println(select);
  34. }

ディケイドライバー制作(DXディケイドライバー改造)

タイトル意味わかんないですけどそのままです。

今回は再制作記事です。
ネオディケイドライバー制作ですが数人の方からうまく動作しないとご相談を受けた事があります。都度やり取りをしたのですがうまく動かなかったようです。もしかしてブログの内容がわかりにくいのかなと思うようになり私はネオのマゼンタより白の方が好きなので制作記事のおさらいを込めて再制作しようと思います。


■必要な物
●DXディケイドライバー
中古ショップで2980円(カード1枚付)でした。

●ATTINY85-20PU
http://akizukidenshi.com/catalog/g/gI-09573/
小型化省電力化の為にこちらを使用しました。

●DFPlayer mini
http://akizukidenshi.com/catalog/g/gM-12544/
音声再生に使います。

●5V出力昇圧DCDCコンバーター
http://akizukidenshi.com/catalog/g/gK-13065/
乾電池2本3Vを5Vに昇圧する為に使用。

●PAM8012使用2ワットD級アンプモジュール
http://akizukidenshi.com/catalog/g/gK-08217/
本来の用途とは違いますがLEDに使います。


●その他
microSDカード
抵抗1K
ICソケット8P
配線
ユニバーサル基板

今回おさらいをと言っていますが新規にコンデンサを1個追加しています。

電解コンデンサー22μF50V85℃ ルビコンPK
http://akizukidenshi.com/catalog/g/gP-03177/

理由なんですがカード挿入後、劇中のように勢いよくバックルを閉める(回転させる)と変身音が鳴りませんでした。調べてみるとハードウェア的問題で勢いよく回転させると電池の接触が一瞬外れてしまい電源オフになってしまうからです。実はこの現象なんですがCSMディケイドライバーの初期ロットに同じ症状の個体がありました(私はそれを引き当てましたw)当時、電池蓋にスポンジなどをかませて電池が動かないようにして修整しました。

電池ボックスはバネの部分があり電池を取りやすいように作られているのですが動く原因になっているのでプラバンに銅箔テープを巻いて噛ませてガッチリ固定出来るようにしました。これ以降は勢いよく回転させても電池が動かなくなりました。
f:id:une-lettre-arrive:20200420075650j:plain

ですが電池蓋が閉められない、電池が外しにくいという欠点がありどうしようかと考えていたらコンデンサは電気を貯めて放出すると知り(基本ですがw)電池が一瞬離れてもコンデンサの電気で通電させ続ければオフにならないのではないかと思いつき今回取り付けています。
取り敢えずうまくいってるっぽいです。


■ハードウェア
まずは基板を破壊しま…せん。
2回目の工作なのでユニバーサル基板でスイッチ部を作成しました。高さの問題があるので基板の厚みは同じ物を使用しドライバーのスイッチを再利用しています。
これによって基板を破壊しないので最悪元に戻せます。

元基板を取り外し赤丸の部分を切り取ります。
f:id:une-lettre-arrive:20200420083418j:plain


ライドスイッチ基板を作り元基板のスイッチを同じ位置に取り付けます。
f:id:une-lettre-arrive:20200420083603j:plain
f:id:une-lettre-arrive:20200420083759j:plain

元基板
f:id:une-lettre-arrive:20200420084354j:plain

自作基板
f:id:une-lettre-arrive:20200420084404j:plain


ユニバーサル基板をこの形に切り取り部品のレイアウトを決め取り付けていきます。
前回とは微妙に位置や向きが変わっています。
※最初は緑色の十字配線基板を使っていたのですが失敗してなくなったのでいつもの茶色の基板を使っています。
f:id:une-lettre-arrive:20200420083919j:plain
f:id:une-lettre-arrive:20200420083929j:plain

回路図はこちらです。
f:id:une-lettre-arrive:20190903224849j:plain

LEDを直列になるように繋げます。
f:id:une-lettre-arrive:20200420084553j:plain

アンプに取り付けなんですがLEDの配線が逆でした(回路図でいうとLEDのSPK+-が逆でした)取り付けは最後に動作確認をしながら配線を直すのがいいと思います。ちゃんと光るまで付け替えていたのでどれが正解かいまいちわかりません。
f:id:une-lettre-arrive:20200420084619j:plain
f:id:une-lettre-arrive:20200420084626j:plain

全ての部品、配線を取り付けます。
注意点はバーコードリーダは昇圧前の3Vに取り付けてください。5Vに取り付けるとラミネート加工のカードが読めなくなります。
コンデンサをつけ忘れていたので最後に空いている部分に取り付けました。5Vの電気を貯めるので必ず5Vが通っている所につけてください。
※雑な取り付けですが勘弁してくださいw
f:id:une-lettre-arrive:20200420084939j:plain


次に音声関係です。
※コピペです。

基本的な音声の流れですが

回転音→カード挿入音→カメンライド読み上げ→待機音→回転音→発動音→回転音→カード引き抜き音

このようになっています。一つ一つ音声を並べていけばいいんですがmp3モジュールの特性上次が再生されるまで若干のラグがありテンポが悪いです。

ですので

回転音→カード挿入音カメンライド読み上げ待機音→回転音発動音→回転音→カード引き抜き音

このように一部の音声を繋げてなるべくラグが気にならないようにしています。

実際の音声の分け方です。
f:id:une-lettre-arrive:20200420085249j:plain
f:id:une-lettre-arrive:20200420085254j:plain

フォルダ1-20はクウガ-ジオウ、21はディエンド、22はその他で分けています。
共通音声001.002.003.004.005.006.101.102.104(103はライド系の音声に繋げて1つにしていますので使っていません)はすべてのフォルダに入っています。
後記のスケッチをみてもらえばわかると思いますがカメンライドは10の位、フォームライドは50の位とルール付けをしたのですが結構崩れているものもありますw


■ソフトウェア
スケッチは一番最後に載せてあります。

一部前回と変更部分があります。
・LOOP部に起動音を追加しました。起動音はフォルダ01、ファイル名105.mp3で入っています
・mp3再生用関数の書式を変更しました


■動作確認
配線間違えて基板取り替えたり昇圧回路がまさかの初期不良で昇圧されなかったりとトラブルはありましたが普通に動きました。とはいえ私は一回作れたのでスムーズに再制作できたのもあると思います。危ない点はLED関係かもしれません。繋げ方を間違えていると起動しませんでした。
前の制作記事は詳しく説明しようとして余計複雑でわかりにくい物になっていたのかなと思いなるべく簡潔に写真多めで書いたつもりですがどうでしょう?


■スケッチ

  1. //ネオディケイドライバー再現attiny85用
  2. #include <SoftwareSerial.h>
  3. //SoftwareSerial mySerial(0,1); // RX, TX
  4. SoftwareSerial mySerial(1,0); // TX
  5. //黄色0 緑1
  6. int folder=1,file;//MP3用変数
  7. int reading_on; //カメンライド 1
  8.                    //ファイナルカメンライド 2
  9.                    //アタックライド 3
  10.                    //ファイナルアタックライド 4
  11.                    //フォームライド 5
  12.                    //ファイナルフォームライド 6
  13.                  
  14. int ride_on; //カメンライド音 11
  15.                    //ファイナルカメンライド音 21
  16.                    //アタックライド音 31
  17.                    //ファイナルアタックライド音 41
  18.                    //フォームライド音 51
  19.                    //ファイナルフォームライド音 61
  20. #define card_in 101 //カードIN
  21. #define card_unplug 102 //カード引き抜き
  22. #define reading_wait 103 //ライド待機音
  23. #define opening_and_closing 104//開閉
  24. int reading_sw;//読み取りスイッチ
  25. int ride_sw;//カメンライドスイッチ
  26. #define reading_pin 1 //読み取り開始ピン D1
  27. #define ride_pin 2 //カメンライドピン D2
  28. #define clock_pin 3 //A2/3ピン
  29. #define data_pin 2 //A3/2ピン
  30. int open_clos;
  31. int card_off;
  32. int start_sound;
  33. int power_on;
  34. //バーコード読み取り(フォトリフレクタ)----------------------------------------------
  35. #define bwhite 0
  36. #define bblack 1
  37. unsigned int bardat=0;
  38. unsigned char bitcnt = 0;
  39. unsigned char ck_read( void ){
  40. if ( analogRead( clock_pin ) > 55){ return bblack; }
  41. return bwhite;
  42. }
  43. unsigned char dat_read( void ){
  44. if ( analogRead( data_pin ) > 55 ){ return bblack; }
  45. return bwhite;
  46. }
  47. void bardat_read( void ){ bardat = ( bardat<<1 ) + dat_read(); }
  48. void wb_read( void){
  49. while( ck_read() == bwhite ); // 白
  50. bardat_read();
  51. }
  52. void bw_read( void ){
  53. while( ck_read() == bblack ); // 黒
  54. bardat_read();
  55. }
  56. //----------------------------------------------------------------------------
  57. //バーコード出力----------------------------------------------------------------------
  58. void barcode_read()
  59. {
  60. bardat = 0; bitcnt =0;
  61. while( ck_read() == bwhite ); // 白
  62. while( ck_read() == bblack ); // 黒
  63. delay(10);
  64. bw_read(); // bit 0
  65. wb_read(); // bit 1
  66. bw_read(); // bit 2
  67. wb_read(); // bit 3
  68. bw_read(); // bit 4
  69. wb_read(); // bit 5
  70. bw_read(); // bit 6
  71. wb_read(); // bit 7
  72. bw_read(); // bit 8
  73. wb_read(); // bit 9
  74. bw_read(); // bit 10
  75. wb_read(); // bit 11
  76. bw_read(); // bit 12
  77. //mySerial.println( bardat , BIN );
  78. //Serial.println( bardat );
  79. switch(bardat){//
  80. //カメンライド
  81. case 1149:{folder=1,reading_on=1,ride_on=11;} break;//カメンライドクウガ
  82. case 31:{folder=1,reading_on=1,ride_on=12;} break;//カメンライドクウガアルティメット
  83. case 153:{folder=1,reading_on=1,ride_on=13;} break;//カメンライドクウガライジングアルティメット
  84. case 829:{folder=2,reading_on=1,ride_on=11;} break;//カメンライドアギト
  85. case 47:{folder=2,reading_on=1,ride_on=12;} break;//カメンライドアギトシャイニング
  86. case 79:{folder=3,reading_on=1,ride_on=11;} break;//カメンライド龍騎
  87. case 57:{folder=3,reading_on=1,ride_on=12;} break;//カメンライド龍騎サバイブ
  88. case 1015:{folder=4,reading_on=1,ride_on=11;} break;//カメンライドファイズ
  89. case 87:{folder=4,reading_on=1,ride_on=12;} break;//カメンライドファイズブラスター
  90. case 225:{folder=5,reading_on=1,ride_on=11;} break;//カメンライドブレイド
  91. case 103:{folder=5,reading_on=1,ride_on=12;} break;//カメンライドブレイドキング
  92. case 1601:{folder=6,reading_on=1,ride_on=11;} break;//カメンライド響鬼
  93. case 105:{folder=6,reading_on=1,ride_on=12;} break;//カメンライド装甲響鬼
  94. case 537:{folder=7,reading_on=1,ride_on=11;} break;//カメンライドカブト
  95. case 143:{folder=7,reading_on=1,ride_on=12;} break;//カメンライドカブトハイパー
  96. case 1913:{folder=8,reading_on=1,ride_on=11;} break;//カメンライド電王
  97. case 113:{folder=8,reading_on=1,ride_on=12;} break;//カメンライド電王ライナー
  98. case 169:{folder=8,reading_on=1,ride_on=13;} break;//カメンライド電王超クライマックス
  99. case 1389:{folder=9,reading_on=1,ride_on=11;} break;//カメンライドキバ
  100. case 151:{folder=9,reading_on=1,ride_on=12;} break;//カメンライドキバエンペラー
  101. case 885:{folder=10,reading_on=1,ride_on=11;} break;//カメンライドディケイド
  102. case 13:{folder=10,reading_on=1,ride_on=12;} break;//カメンライドディケイドコンプリート
  103. case 1855:{folder=11,reading_on=1,ride_on=11;} break;//カメンライドW
  104. case 593:{folder=11,reading_on=1,ride_on=12;} break;//カメンライドWエクストリーム
  105. case 1859:{folder=12,reading_on=1,ride_on=11;} break;//カメンライドオーズ
  106. case 795:{folder=12,reading_on=1,ride_on=12;} break;//カメンライドオーズプトティラ
  107. case 1869:{folder=13,reading_on=1,ride_on=11;} break;//カメンライドフォーゼ
  108. case 801:{folder=13,reading_on=1,ride_on=12;} break;//カメンライドフォーゼコズミック
  109. case 1887:{folder=14,reading_on=1,ride_on=11;} break;//カメンライドウィザード
  110. case 843:{folder=14,reading_on=1,ride_on=12;} break;//カメンライドウィザードインフィニティ
  111. case 1941:{folder=15,reading_on=1,ride_on=11;} break;//カメンライド鎧武
  112. case 897:{folder=15,reading_on=1,ride_on=12;} break;//カメンライド鎧武極
  113. case 1975:{folder=16,reading_on=1,ride_on=11;} break;//カメンライドドライブ
  114. case 949:{folder=16,reading_on=1,ride_on=12;} break;//カメンライドドライブトライドロン
  115. case 37:{folder=17,reading_on=1,ride_on=11;} break;//カメンライドゴースト
  116. case 1073:{folder=17,reading_on=1,ride_on=12;} break;//カメンライドゴーストムゲン
  117. case 199:{folder=18,reading_on=1,ride_on=11;} break;//カメンライドエグゼイド
  118. case 1121:{folder=18,reading_on=1,ride_on=12;} break;//カメンライドエグゼイドムテキ
  119. case 477:{folder=19,reading_on=1,ride_on=11;} break;//カメンライドビルド
  120. case 1169:{folder=19,reading_on=1,ride_on=12;} break;//カメンライドビルドジーニアス
  121. case 493:{folder=20,reading_on=1,ride_on=11;} break;//カメンライドジオウ
  122. case 535:{folder=20,reading_on=7,ride_on=12;} break;//カメンライドグランドジオウ
  123. case 739:{folder=20,reading_on=1,ride_on=13;} break;//カメンライドオーマジオウ
  124. case 201:{folder=21,reading_on=1,ride_on=11;} break;//カメンライドディエンド
  125. case 235:{folder=21,reading_on=1,ride_on=12;} break;//カメンライドディエンドコンプリート
  126. //folder=22 オリジナル
  127. case 587:{folder=22,reading_on=1;ride_on=11;} break;//KAMEN RIDEゼロワン
  128. case 1825:{folder=22,reading_on=2;ride_on=12;} break;//KAMEN RIDEルパンレンジャー
  129. case 1979:{folder=22,reading_on=3;ride_on=13;} break;//KAMEN RIDEパトレンジャー
  130. //case :{folder=22,reading_on=1;ride_on=14;} break;//KAMEN RIDEゲイツ
  131. //case :{folder=22,reading_on=1;ride_on=15;} break;//KAMEN RIDEジョーカー
  132. //case :{folder=22,reading_on=1;ride_on=16;} break;//KAMEN RIDEスカル
  133. //ファイナルアタックライド
  134. case 1619:{folder=1,reading_on=4,ride_on=41;} break;//ファイナルアタックライドクウガ
  135. case 673:{folder=2,reading_on=4,ride_on=41;} break;//ファイナルアタックライドアアアアギト
  136. case 445:{folder=3,reading_on=4,ride_on=41;} break;//ファイナルアタックライドリュリュリュ龍騎
  137. case 1235:{folder=4,reading_on=4,ride_on=41;} break;//ファイナルアタックライドファファファファイズ
  138. case 133:{folder=5,reading_on=4,ride_on=41;} break;//ファイナルアタックライドブブブブレイド
  139. case 2043:{folder=6,reading_on=4,ride_on=41;} break;//ファイナルアタックライドヒヒヒ響鬼
  140. case 295:{folder=7,reading_on=4,ride_on=41;} break;//ファイナルアタックライドカカカカブト
  141. case 1039:{folder=8,reading_on=4,ride_on=41;} break;//ファイナルアタックライドデデデ電王
  142. case 1363:{folder=9,reading_on=4,ride_on=41;} break;//ファイナルアタックライドキキキキバ
  143. case 1877:{folder=10,reading_on=4,ride_on=41;} break;//ファイナルアタックライドディディディディケイド
  144. case 1261:{folder=11,reading_on=4,ride_on=41;} break;//ファイナルアタックライドダダダW
  145. case 1287:{folder=12,reading_on=4,ride_on=41;} break;//ファイナルアタックライドオオオオーズ
  146. case 1331:{folder=13,reading_on=4,ride_on=41;} break;//ファイナルアタックライドフォフォフォフォーゼ
  147. case 1427:{folder=14,reading_on=4,ride_on=41;} break;//ファイナルアタックライドウィウィウィウィザード
  148. case 1563:{folder=15,reading_on=4,ride_on=41;} break;//ファイナルアタックライドガガガ鎧武
  149. case 1665:{folder=16,reading_on=4,ride_on=41;} break;//ファイナルアタックライドドドドドライブ
  150. case 1759:{folder=17,reading_on=4,ride_on=41;} break;//ファイナルアタックライドゴゴゴゴースト
  151. case 1783:{folder=18,reading_on=4,ride_on=41;} break;//ファイナルアタックライドエエエエグゼイド
  152. case 1811:{folder=19,reading_on=4,ride_on=41;} break;//ファイナルアタックライドビビビビルド
  153. case 123:{folder=20,reading_on=4,ride_on=41;} break;//ファイナルアタックライドジジジジオウ
  154. //アタックライド
  155. case 981:{folder=6,reading_on=3;ride_on=31;} break;//ATTACK RIDE音撃棒烈火
  156. case 1017:{folder=7,reading_on=3;ride_on=31;} break;//ATTACK RIDEクロックアップ
  157. case 833:{folder=10,reading_on=3;ride_on=31;} break;//ATTACK RIDEスラッシュ
  158. case 851:{folder=10,reading_on=3;ride_on=32;} break;//ATTACK RIDEブラスト
  159. case 819:{folder=10,reading_on=3;ride_on=33;} break;//ATTACK RIDEイリュージョン
  160. case 867:{folder=10,reading_on=3;ride_on=34;} break;//ATTACK RIDEインビジブル
  161. case 749:{folder=10,reading_on=3;ride_on=35;} break;//ATTACK RIDE烈火大斬刀
  162. //フォームライド
  163. case 1307:{folder=4,reading_on=5;ride_on=51;} break;//FORM RIDEファイズアクセル
  164. //ファイナルフォームライド
  165. }
  166. file=reading_on;mp3();//カメンライド待機音ロング
  167. card_off=1;
  168. }
  169. //-------------------------------------------------------------------
  170. //カメンライド------------------------------------------------------------------------
  171. void kamen_ride()
  172. {
  173.    file=ride_on;mp3();//カメンライド発動
  174.    while(digitalRead(ride_pin) == LOW){}//開いたら抜け出す
  175.    file=opening_and_closing;mp3();//開閉音
  176.    while(digitalRead(reading_pin) == LOW){}//
  177.    file=card_unplug;mp3();delay(100);card_off=0;//カード引き抜き
  178. }
  179. //------------------------------------------------------------------------------------
  180. void mp3()
  181. {
  182.   //ファイル指定再生
  183.   unsigned char mp3[8] = {0x7E,0xFF,0x06,0x0F,(byte)0,folder,file,0xEF};
  184.    mySerial.write(mp3,8);
  185.   delay(10);
  186.   //音量指定
  187.   unsigned char mp3_v[8] = {0x7E,0xFF,0x06,0x06,(byte)0,(byte)0,(byte)20,0xEF};//7個目の値を変更1〜30まで
  188.    mySerial.write(mp3_v,8);
  189. }
  190. void setup() {
  191. mySerial.begin( 9600 );
  192. pinMode(reading_pin,INPUT_PULLUP); //読み取り開始ピン
  193. pinMode(ride_pin,INPUT_PULLUP); //カメンライドピン
  194. }
  195. void loop() {
  196.  if(power_on == 0){delay(1000);file=105;mp3();power_on=1;}//スタート音声
  197. if(open_clos == 1){
  198. if(digitalRead(ride_pin) == HIGH){file=opening_and_closing;mp3();open_clos=0;}//開閉音
  199. }
  200. if(digitalRead(ride_pin) == LOW){open_clos=1;}
  201.   if(card_off == 0){
  202.   //while(digitalRead(ride_pin) == LOW){}
  203. if(digitalRead(reading_pin) == LOW){barcode_read();}}//カードIN/バーコードリード
  204. //カードが入っていて閉じると発動
  205. if(digitalRead(ride_pin) == LOW && digitalRead(reading_pin) == LOW ){ kamen_ride();}//発動
  206. }

光る!鳴る!ネオディケイドライバーのバックル

https://youtu.be/Bu4kS1o1LW8
CSMで思いつくのは
・劇中に近い見た目
・ギミックの再現度
・BGM
・演者台詞
・最近金額が5万近い
こんな感じだと思います。
そんなわけでDXをCSMに近づける為、以前作ったネオディケイドライバーのバックル部を発光、前回の改造で入れられなかったBGMの追加をやってみようと思います。

 

今回、BGMは連動させていません。理由は
・劇中だと変身!の掛け声でBGMが切り替わるのでバックルの開閉で切り替えてもしっくりこない
・使ったattinyのピンの数が足りなかった


この2つです。ピンの数が足りないってのがあったので単独では鳴らせないdfr0534というMP3モジュールは使わずdfplayerminiを使用しました。

 

作るにあたってこちらのウェブサイト、動画を参考にさせていただきました。
特に動画の中の回路なんですがまったく無駄がなく凄いの一言です。

http://blog.livedoor.jp/sato805/archives/50773687.html

https://youtu.be/S3V2_dmEZgw

 

使った部品です

・ATTINY85-20PU

・LED5ミリ赤青緑2個ずつ

・ユニバーサル基板十字配線

・スライドスイッチ

・ディテクタスイッチ

・リチウムイオンポリマー110mAh

・Adafruit USB端子に直接つながるリチウムイオン電池充電器

・dfplayermini

・タクトスイッチ

・基板取付用小型ダイナミックスピーカー

・配線

・ピンヘッダ、ピンソケット

 

回路図はこんな感じです。簡単なんで手書きでいいですか?
f:id:une-lettre-arrive:20200329214948j:plain



ガワの加工です。

f:id:une-lettre-arrive:20200329215034j:plain

f:id:une-lettre-arrive:20200329215048j:plain

f:id:une-lettre-arrive:20200329215054j:plain
スライドさせても配線が引っかからないように穴を開けます。



f:id:une-lettre-arrive:20200329215626j:plain
LEDはここに設置します。

 


f:id:une-lettre-arrive:20200329215649j:plain
f:id:une-lettre-arrive:20200329215654j:plain
あとは何ヶ所か穴を開けたりします。
夜中にやっていたので段々雑になってきてます。


f:id:une-lettre-arrive:20200329215720j:plain
MP3関係はこの位置に取り付けました。
いつもならメンテナンスしやすいようにネジ止め加工するのですが面倒くさくなってきたのでグルーガン止めです。

両サイドからLEDの配線が来て真ん中の基板経由で下に配線がいきます。

ベルトの留め具ですが前にツイッターでみたネオジム磁石を取り付けて脱着可能に加工しています。中々強力でつけていても外れません。


f:id:une-lettre-arrive:20200329215757j:plain
f:id:une-lettre-arrive:20200329215804j:plain
今回ユニバーサル基板はいつものではなく十字配線基板を使っています。片面が全て結線してあり必要な部分以外の線を切断して使用します。配線を減らす事ができ便利なのですが使い方が難しく敬遠していました。最近リューターを手に入れて結線の切断が楽になったので試してみました。

真ん中に大穴を開けた工具はリーマーという工具です。



f:id:une-lettre-arrive:20200329215829j:plain
閉じた時に押されるディテクタスイッチはここに設置しました。





f:id:une-lettre-arrive:20200329215846j:plain
組み立てです。

今回は厚みを極力減らす為attinyに直接配線しています。

 

BGMの曲ですがdfplayerminiは入ってる曲を順番に流すだけのリピートモードですので曲が終わらないと再生が止まりません。ですので強制的に止める為、無音の曲を一曲入れています。

 

最後にスケッチとなります。今回は順番に光らせるだけなので簡単です。Lチカの応用みたいな感じです。

 

 

LED改造キットの動画を見てこんなシンプルに出来るんだー作れそうだなーなんて始めて見ましたがとんでもない。スペースはあるけど配線の取り回しでかなり苦労しました。

あとはベルトの帯を変えればCSMと名乗れるかな?と思っているのですが帯は作れる気がまったくしません(+_+)




  1. //ディケイドバックルLED
  2. #define green_led 2//
  3. #define red_red 3//
  4. #define blue_led 4//
  5. #define led_sw 1//
  6. #define delay_time 30//
  7. int flash_count;
  8. void setup() {
  9.   pinMode(red_red , OUTPUT); //
  10.   pinMode(blue_led, OUTPUT); //
  11.   pinMode(green_led, OUTPUT); //
  12.   pinMode(led_sw,INPUT_PULLUP);
  13. }
  14. void loop() {
  15.   if(digitalRead(led_sw) == HIGH){flash_count=0;}
  16.   if(digitalRead(led_sw) == LOW){
  17.   if(flash_count == 0){
  18.   digitalWrite(green_led, HIGH);
  19.   delay(delay_time);
  20.   digitalWrite(green_led, LOW);
  21.   digitalWrite(red_red, HIGH);
  22.   delay(delay_time);
  23.   digitalWrite(red_red, LOW);
  24.   digitalWrite(blue_led, HIGH);
  25.   delay(delay_time);
  26.   digitalWrite(blue_led, LOW);
  27.   delay(200);
  28.   flash_count=1;
  29.   }}
  30. }

ネオディエンドライバー制作(DXディエンドライバー改造)

www.youtube.com
ネオディエンドライバーを制作しましたので制作の過程を紹介します。
今回はネオディケイドライバーと違いガワの加工、バーコード読み取り機の移植と難易度が跳ね上がっていますのでご注意ください。

ネオディケイドライバーは前回の記事にあります。
ネオディケイドライバー制作(DXディケイドライバー改造) - かっぱの覚え書き


※改造は自己責任でお願いします。


■必要な物
●DXディエンドライバーもしくはCSMディエンドライバー
私はメルカリで動かない物を1800円で買いましたが今は高いですね。
一つの案ですがCSM版を使う手もあります。こちらはバーコード読み取り機の移植が必要ないので楽なのですが値段が高いのでオススメできません。それに中が見たくて分解動画など探してみたのですが見つからなかったので本当に利用できるかは不明です。

●ゴセイパワー解放器 テンソウダー
必要なのはバーコード読み取り機のみです。近所のオフ系やプラネット系は300円以内で買えました。
同じメーカーのバーコードを使う玩具なら使えるとは思います。ラウザー系はバラしたことがないのでわからないですがディケイドライバーはネジ穴の位置が違うだけで作りは同じです。組み込む時は基板をギリギリまでカットするのでどれを使っても問題ないと思いますのでなるべく安いものをオススメします。失敗した時のダメージは最小にしたいですし。


●AE-ATMEGA328-MINI (Arduino Pro Mini上位互換)
http://akizukidenshi.com/catalog/g/gK-10347/
今回はこちらを組み込みました。スペースに余裕があるのとバーコード読み取り機を移植するので位置合わせなどで備え付けた状態でシリアルモニタを確認できるからです。

●FT-232RQ USBシリアル変換モジュール
http://akizukidenshi.com/catalog/g/gM-11007/
AE-ATMEGA328-MINIをパソコンに繋げる為に必要です。

●DFPlayer mini
http://akizukidenshi.com/catalog/g/gM-12544/
音声再生に使います。

ダイソー モバイルバッテリー
単3電池2本でスマホを充電するタイプのものです。これの中の基板を昇圧回路として使用します。
f:id:une-lettre-arrive:20190903192430p:plain
f:id:une-lettre-arrive:20190903224222j:plain

小型スライドスイッチ 1回路2接点 SS12D01G4
http://akizukidenshi.com/catalog/g/gP-12723/
電源用スイッチです。元の電源スイッチは見てもらえればわかると思いますが特殊なので再利用しにくいです。色も赤ですしね。

●ディテクタスイッチESE22MH4XDK(10個入)
http://akizukidenshi.com/catalog/g/gP-05031/
スイッチを1個増やすので使用します。

●プラバン、プラ角、ピンバイスとかノコギリとかヤスリとか瞬着パテとか
プラモデルを作る一式プラスアルファみたいな感じです。ガワの加工に使用しました。
プラバンは0.3、0.5、1.0を使っています。どこにどの厚みを使ったかまでは正確に覚えていませんが一部切り落として蓋をしなきゃいけない部分もあるので0.3と1.0はあるといいと思います。0.3はバーコード読み取り機の配線がスライド時に干渉しないように貼り付けるのに使っています。ちなみに0.3ならダイソーでも取り扱っています。
瞬着パテは既製品でもいいですが瞬着とベビーパウダーでパテ代わりにしています。これに関してはネットで調べてください。


●その他
microSDカード
抵抗1K×2本
配線
ユニバーサル基板
ねじ(私はテンソウダーのを使いました)

■部品の加工
・まずはバーコード読み取り機の埋め込み場所を加工します。プラバンで高さを調整するので掘りすぎても大丈夫です。ただ平らにはしてください。
f:id:une-lettre-arrive:20190902222435j:plain

・バーコード読み取り機の基板加工です。今のままだと収まらないので両端を削ってこんな感じにします。
f:id:une-lettre-arrive:20190902222526j:plain
加工前です
f:id:une-lettre-arrive:20190902223214j:plain

・読み取りのフィルム部分です。フィルムに傷をつけないように注意してください。この部分に密着した状態で読み取るので傷が付くと安定した読み取りができません。
プラの部分ですが入りと戻りの端をRにしておかないとスライド時カードが引っかかって折れます。戻りの方はうまく削れなかったので0.3のプラバンを貼って引っかからないようにしています。
マスキングテープに線が2本書いてありますがフォトリフレクタの位置です。これを目安に読み取り位置を決めました。
下や横に色々な厚みのプラバンを入れての位置調整がやりやすいかと思います。
f:id:une-lettre-arrive:20190902222606j:plain
加工前です
f:id:une-lettre-arrive:20190902223249j:plain

・透明部の加工です。カードを戻した際に読み取り機に干渉しないよう削ります。硬く割れやすいので注意してください。
f:id:une-lettre-arrive:20190902222658j:plain

・カード収納部の加工です。
こちらも読み取り機に干渉しないように加工します。一部切断しプラバンを貼り付けてあります。これはCSM版を参考にしています。
f:id:une-lettre-arrive:20190902222729j:plain

・カード固定部です。これは元はナナメになっていました。このままスライドさせるとカード押し出し部が低い為、カードが滑って入っていきません。ですのでプラバンで高くしました。0.3ミリのプラバンを貼ったり角を落としたりして元の形状っぽくしてあります。
f:id:une-lettre-arrive:20190902222754j:plain
元画像です。
f:id:une-lettre-arrive:20190902223814j:plain

・スライド部加工です。読み取り機干渉部を切り落としプラバンを貼りました。
f:id:une-lettre-arrive:20190902223733j:plain

・よくわからない蓋の裏の加工。干渉部を削ります。
f:id:une-lettre-arrive:20190902223014j:plain

・スライド部下部、元基板のスイッチを押す出っ張りを削ります。
f:id:une-lettre-arrive:20190902223055j:plain

・電源スイッチ部。用意したスイッチが取り付けられるよう加工します。
f:id:une-lettre-arrive:20190902223126j:plain


■回路図
f:id:une-lettre-arrive:20190903225445j:plain
※AE-ATMEGA328-MINIはピンの位置が違います。注意してください。

回路図上でバーコード読み取り機は5Vに接続してあります。理由は試作の段階で5Vに繋げて問題なく動いていたため大丈夫だろうとそのまま制作したからです。ディケイドライバーを作り直している際に気づいたのですがラミネート加工のカードは3Vでは読めますが5Vでは読めません。直した方がいいとは思いますがカードは厚紙で自作している為、今のところ不便がないのでそのままししています。
それにディエンドライバーの方はバーコード読み取り機を移植してディケイドライバーと同じ条件ではない為、想定通りになるかわからなかったからというのもあります。
(本音は直すのめんどくさい直して動かなくなったらやだなです)

■ハードウェア
元基板は取り外し元基板以外はすべて利用します。
パーツを配線し基板裏にスライド用のディテクタスイッチを取り付け閉じた時に押しっぱなしになるようにプラバンを貼り付けます。
f:id:une-lettre-arrive:20190902230841j:plain
f:id:une-lettre-arrive:20190902232340j:plain

これが取り付けた状態になります。
f:id:une-lettre-arrive:20190902231546j:plain

次に音声関係です。
音声の流れですが

カード挿入音→スライド音→カメンライド→ライダー名→待機音→発動音→スライド音→カード引き抜き音

ネオディケイドライバーの方でも書きましたが再生にラグがあるので
カード挿入音→スライド音→カメンライドライダー名待機音→発動音→スライド音→カード引き抜き音
このように作成しました。

音声の分け方です
f:id:une-lettre-arrive:20191019223349j:plain
f:id:une-lettre-arrive:20191019223402j:plain
f:id:une-lettre-arrive:20191019223415j:plain
使うフォルダは番号が振ってあるものだけです。

これも分け方は同じでフォルダ1-20はクウガ-ジオウ、21はディエンド、22は使っていません。23がその他で分けています。
共通音声101.102.103.104(105.106はディエンドフォルダのみです)はすべてのフォルダに入っています。

ネオディケイドライバーの音声ルールはこちらでは使えないので(ディケイドはカード名後半読み上げ、ディエンドは前半読み上げの為)
なるべく管理しやすいように番号分けしてあります。

■ソフトウェア
しつこいようですがバーコード読み取りのプログラムは私が作ったものではありません。知恵袋に投稿して作っていただいたものです。
ご了承ください。
arduinoでDXディケイドライバーの読み取り部分を再現しようと... - Yahoo!知恵袋

注意点ですがディエンドライバーはバーコード読み取り方向が逆です。
キバのカードで説明すると
f:id:une-lettre-arrive:20190829001216j:plain
ディケイドライバー 2進数10101101101 10進数1389
ディエンドライバー 2進数01101101010 10進数874
※読み取り開始は下のクロックからなのでディエンドライバーの上のデータバーコードの一番左は飛ばしています。その分同じ桁数にする為最後を0にしています。

このようにまったく別物になります。
ですのでディケイドライバーの数値は利用できません。。
主要なものは入れておきましたがすべてではないので大変でしょうが追加する際はご自分でお願いします。
とはいえ2進数のリストさえあればエクセルで数字ひっくり返して一気にサイトで変換できると思います。

それではスケッチの中身の説明です。
はじめにですが今回のスケッチ決められた動作以外の動きをすると止まります。
例えば
カード挿入→前にスライド→トリガー→この間はトリガー連発ok→後ろにスライド→カード引き抜き
これが一連の動作になっておりこれ以外の動作を差し込むと止まります。
私の知識ではこれが限界です。。


●40と44行目のフォトリフレクタの数値は自分の環境に合せて設定してください。
●80、81行目の//を外せばバーコードの数値がシリアルモニタで確認できますので利用しバーコード読み取り機の位置を調整してください。
私はこんな感じでやりました。

●231、232行目は以前作ったポンプアクションモードを残したままです。カードがない状態でトリガーを押しながら前にスライドさせるとモードになります。//を外せば利用できます。
●カードが入っていない状態でトリガー長押しでBGM再生です。
カイジンライドディエンドでレジェンドライダーアナザーモード、通常ディエンドで元に戻ります。
●バーコードが登録してあるのは主要の一部です。
●今回音量調整はつけていません。セロテープで調整しています。つけるのでしたらネオディケイドライバーのスケッチを参照してください。
下記のサイトを参考にしネオディケイドライバー基準でバーコードの数値を登録しました。
※ただしディエンドライバーは読む方向が逆です。

DXディケイドライバーまとめ
https://sites.google.com/site/dxdikeidoraiba/tips

2進数→10進数変換ですが大量に変換したい場合は下記のサイトが便利です。
2~36進数から10進数へ進数変換(基数変換)
http://alphasis.info/2013/03/webapp-radix-converter-to10/

■塗装
簡単に説明しますが
ホワイトサーフェーサー 缶スプレー
ライトブルー      缶スプレー
ゴールド        ガンダムマーカーエアブラシシステム
シルバー        ガンダムマーカーエアブラシシステム
ブラック        アクリジョン筆塗り
クリアーつやあり    缶スプレー
エンブレム部 シルバーアクリジョン筆塗り
塗装後です。
f:id:une-lettre-arrive:20190903230426j:plain

これで解説は終了です。もう少し動作をスマートに再現出来ればかっこいいのですが今後の課題ということで。ここまで読んでいただいてありがとうございました。

何個かネオディエンドライバー関係の動画をあげていますのでよろしければご観覧ください。
www.youtube.com
www.youtube.com
www.youtube.com



■スケッチ

  1. //ネオディエンドライバー
  2. #define card_in 101 //カードIN
  3. #define card_unplug 102 //カード引き抜き
  4. #define gunshot_sound 103 //銃撃音
  5. #define opening_and_closing 104//スライド音
  6. #define bgm_on 105 //BGM再生
  7. int reading_sw;
  8. int ride_sw;
  9. #define reading_pin 3 //読み取り開始ピン3
  10. #define ride_pin 2 //カメンライドピン2
  11. #define slide_pin 11//スライドピン11
  12. int folder=21;
  13. int file;
  14. int card_off;
  15. int slide_on;
  16. int start_up;
  17. int rider_1,rider_2,rider_3;
  18. int another,kaijin;
  19. int open_clos=0;//バーコードデータ消す
  20. //長押し用
  21. #define PUSH_SHORT 300000
  22. //---------------------------バーコード読み取り---------------------------------------
  23. unsigned char bitcnt = 0;
  24. unsigned int bardat=0;
  25. #define bwhite 0
  26. #define bblack 1
  27. unsigned char ck_read( void ){
  28. if ( analogRead( A0 ) > 55 ){ return bblack; }//
  29. return bwhite;
  30. }
  31. unsigned char dat_read( void ){
  32. if ( analogRead( A1 ) > 55 ){ return bblack; }
  33. return bwhite;
  34. }
  35. void bardat_read( void ){ bardat = ( bardat<<1 ) + dat_read(); }
  36. void wb_read( void){
  37. while( ck_read() == bwhite ); // 白
  38. bardat_read();
  39. }
  40. void bw_read( void ){
  41. while( ck_read() == bblack ); // 黒
  42. bardat_read();
  43. }
  44. //------------------------------------------------------------------------
  45. //バーコード出力----------------------------------------------------------------------
  46. void barcode_read()
  47. {
  48. bardat = 0; bitcnt =0;
  49. while( ck_read() == bwhite ); // 白
  50. while( ck_read() == bblack ); // 黒
  51. bw_read(); // bit 0
  52. wb_read(); // bit 1
  53. bw_read(); // bit 2
  54. wb_read(); // bit 3
  55. bw_read(); // bit 4
  56. wb_read(); // bit 5
  57. bw_read(); // bit 6
  58. wb_read(); // bit 7
  59. bw_read(); // bit 8
  60. wb_read(); // bit 9
  61. bw_read(); // bit 10
  62. //Serial.println( bardat , BIN );
  63. //Serial.println( bardat );
  64. file=opening_and_closing;mp3();delay(700);//カード挿入音
  65. switch(bardat){//
  66. //カメンライド
  67.  case 994:{folder=1;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//クウガ
  68.  
  69.  case 1920:{folder=1;file=2;mp3();file=11;} break;//クウガアルティメット
  70.  case 400:{folder=1;file=3;mp3();file=11;} break;//クウガライジングアルティメット
  71.  case 972:{folder=2;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//アギト
  72.  case 1856:{folder=2;file=2;mp3();file=11;} break;//アギトシャイニング
  73.  case 1824:{folder=3;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//龍騎
  74.  case 448:{folder=3;file=2;mp3();file=11;} break;//龍騎サバイブ
  75.  case 1788:{folder=4;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//ファイズ
  76.  case 1696:{folder=4;file=2;mp3();file=11;} break;//ファイズブラスター
  77.  case 112:{folder=5;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//ブレイド
  78.  case 1632:{folder=5;file=2;mp3();file=11;} break;//ブレイドキング
  79.  case 38:{folder=6;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//響鬼
  80.  case 352:{folder=6;file=2;mp3();file=11;} break;//装甲響鬼
  81.  case 388:{folder=7;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//カブト
  82.  case 1808:{folder=7;file=2;mp3();file=11;} break;//カブトハイパー
  83.  case 494:{folder=8;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//電王
  84.  case 224:{folder=8;file=2;mp3();file=11;} break;//電王ライナー
  85.  case 336:{folder=8;file=3;mp3();file=11;} break;//電王超クライマックス
  86.  case 874:{folder=9;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//キバ
  87.  case 1680:{folder=9;file=2;mp3();file=11;} break;//キバエンペラー
  88.  case 748:{folder=10;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//ディケイド
  89.  case 768:{folder=10;file=2;mp3();file=11;} break;//ディケイドコンプリート
  90.  case 1998:{folder=11;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//W
  91.  case 164:{folder=11;file=2;mp3();file=11;} break;//Wエクストリーム
  92.  case 1070:{folder=12;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//オーズ
  93.  case 1420:{folder=12;file=2;mp3();file=11;} break;//オーズプトティラ
  94.  case 814:{folder=13;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//フォーゼ
  95.  case 76:{folder=13;file=2;mp3();file=11;} break;//フォーゼコズミック
  96.  case 1966:{folder=14;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//ウィザード
  97.  case 1324:{folder=14;file=2;mp3();file=11;} break;//ウィザードインフィニティ
  98.  case 670:{folder=15;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//鎧武
  99.  case 28:{folder=15;file=2;mp3();file=11;} break;//鎧武極
  100.  case 1758:{folder=16;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//ドライブ
  101.  case 732:{folder=16;file=2;mp3();file=11;} break;//ドライブトライドロン
  102.  case 576:{folder=17;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//ゴースト
  103.  case 194:{folder=17;file=2;mp3();file=11;} break;//ゴーストムゲン
  104.  case 1584:{folder=18;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//エグゼイド
  105.  case 98:{folder=18;file=2;mp3();file=11;} break;//エグゼイドムテキ
  106.  case 952:{folder=19;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//ビルド
  107.  case 146:{folder=19;file=2;mp3();file=11;} break;//ビルドジーニアス
  108.  case 888:{folder=20;if(another == 1){file=9;mp3();}else{file=1;mp3();}file=11;} break;//ジオウ
  109.  case 1668:{folder=20;file=2;mp3();file=11;} break;//グランドジオウ
  110.  case 304:{folder=21;file=1;mp3();file=11;another=0;} break;//ディエンド
  111.  case 1392:{folder=21;file=1;mp3();file=12;} break;//ディエンドコンプリート
  112.  //オリジナルカメンライド
  113.  case 1110:{folder=23;file=1;mp3();file=11;} break;//モサチェンジャー
  114.  case 78:{folder=23;file=2;mp3();file=12;} break;//ルパンレンジャー
  115.  case 1502:{folder=23;file=3;mp3();file=13;} break;//パトレンジャー
  116.  case 1316:{folder=23;file=4;mp3();file=14;} break;//ゼロワン
  117.  //ファイナルアタックライド
  118. case 1190:{folder=1,file=4,mp3();file=13;} break;//ファイナルアタックライドクウガ
  119. case 84:{folder=2,file=3,mp3();file=13;} break;//ファイナルアタックライドアアアアギト
  120. case 984:{folder=3,file=3,mp3();file=13;} break;//ファイナルアタックライドリュリュリュ龍騎
  121. case 1202:{folder=4,file=3,mp3();file=13;} break;//ファイナルアタックライドファファファファイズ
  122. case 528:{folder=5,file=3,mp3();file=13;} break;//ファイナルアタックライドブブブブレイド
  123. case 1534:{folder=6,file=3,mp3();file=13;} break;//ファイナルアタックライドヒヒヒ響鬼
  124. case 1608:{folder=7,file=3,mp3();file=13;} break;//ファイナルアタックライドカカカカブト
  125. case 1794:{folder=8,file=4,mp3();file=13;} break;//ファイナルアタックライドデデデ電王
  126. case 1194:{folder=9,file=3,mp3();file=13;} break;//ファイナルアタックライドキキキキバ
  127. case 686:{folder=10,file=3,mp3();file=13;} break;//ファイナルアタックライドディディディディケイド
  128. case 882:{folder=11,file=3,mp3();file=13;} break;//ファイナルアタックライドダダダW
  129. case 1546:{folder=12,file=3,mp3();file=13;} break;//ファイナルアタックライドオオオオーズ
  130. case 1226:{folder=13,file=3,mp3();file=13;} break;//ファイナルアタックライドフォフォフォフォーゼ
  131. case 1178:{folder=14,file=3,mp3();file=13;} break;//ファイナルアタックライドウィウィウィウィザード
  132. case 1414:{folder=15,file=3,mp3();file=13;} break;//ファイナルアタックライドガガガ鎧武
  133. case 22:{folder=16,file=3,mp3();file=13;} break;//ファイナルアタックライドドドドドライブ
  134. case 1974:{folder=17,file=3,mp3();file=13;} break;//ファイナルアタックライドゴゴゴゴースト
  135. case 1782:{folder=18,file=3,mp3();file=13;} break;//ファイナルアタックライドエエエエグゼイド
  136. case 1166:{folder=19,file=3,mp3();file=13;} break;//ファイナルアタックライドビビビビルド
  137. case 1504:{folder=20,file=3,mp3();file=13;} break;//ファイナルアタックライドジジジジオウ
  138. case 176:{folder=21,file=8,mp3();file=13;} break;//ファイナルアタックライドディディディディエンド
  139. //アタックライド
  140. case 700:{folder=6,file=3;mp3();file=31;} break;//アタックライド音撃棒烈火
  141. case 1228:{folder=21,file=3;mp3();file=13;} break;//アタックライドイリュージョン
  142. case 1196:{folder=21,file=4;mp3();file=13;} break;//アタックライドブラスト
  143. case 1132:{folder=21,file=5;mp3();file=13;} break;//アタックライドインビジブル
  144. case 1250:{folder=21,file=6;mp3();file=13;} break;//アタックライドクロスアタック
  145. case 884:{folder=21,file=7;mp3();file=13;} break;//アタックライドバリア
  146. //カイジンライド
  147. case 1456:{folder=22;file=21;mp3();file=22;another=1;} break;//カイジンライドディエンド
  148. }
  149. reading_sw=1;
  150. delay(1000);
  151. }
  152. //カメンライド------------------------------------------------------------------------
  153. void kamen_ride()
  154. {
  155.  // Serial.println("カメンライド");
  156.    if(digitalRead(ride_pin) == LOW){
  157.     delay(50);
  158.  mp3();
  159.  delay(1000);
  160.  while(digitalRead(reading_pin) == HIGH){
  161.   //Serial.println("発動後スライド前");
  162.  if(digitalRead(ride_pin) == LOW){file=gunshot_sound;mp3();}//銃撃音
  163.  }
  164.  while(digitalRead(reading_pin) == LOW){
  165.   //Serial.println("発動後スライド後ろ");
  166.  if(slide_on == 0){if(digitalRead(slide_pin) == LOW){file=opening_and_closing;mp3();slide_on=1;}}//スライド音
  167.  if(digitalRead(ride_pin) == LOW){file=gunshot_sound;mp3();}//銃撃音
  168.  }
  169. file=card_unplug;mp3();
  170. //Serial.println("カード引き抜き");
  171. reading_sw=0;
  172. slide_on=0;
  173. }
  174. }
  175. //------------------------------------------------------------------------------------
  176. //----------------------------オールライダーモード----------------------------------------
  177. void all_rider(){
  178.   folder=1;
  179. while(rider_1 == 0){
  180.   while(rider_2 == 0){file=opening_and_closing;mp3();delay(700);file=1;mp3();rider_2=1;}
  181.   if(digitalRead(slide_pin) == LOW){ delay(700);if(digitalRead(slide_pin) == HIGH){folder++;rider_2=0;}}
  182.   if(digitalRead(ride_pin) == LOW){delay(50);file=11;mp3();}
  183.   if(folder > 21){folder=1;}
  184.   }
  185. }
  186. //----------------------------------------------------------------------------------------------
  187. //-----------------------------------------長押し判定------------------------------------------
  188. void nagaoshi(){
  189.   //int gauge = 0;
  190.   unsigned long gauge = 0;
  191.   while (!digitalRead(ride_pin))
  192.   {gauge++;}
  193.   //Serial.print(gauge);
  194.   if (gauge < PUSH_SHORT){
  195.     //Serial.println("ボタン単押し");
  196.     file=gunshot_sound;mp3();//銃撃音
  197.     }else{
  198.     //Serial.println("ボタン長押し");
  199.     folder=21;file=bgm_on;mp3();}//BGM音
  200.     //if(digitalRead(slide_pin) == HIGH){Serial.println("オールライダー");
  201.     //all_rider();
  202.     //}
  203.   }
  204. //---------------------------------------------------------------------------------------------
  205. //MP3再生---------------------------------------------------------------------------
  206. void mp3()
  207. {
  208.    //ファイル指定再生
  209.   Serial.write(0x7E);
  210.   Serial.write(0xFF);
  211.   Serial.write(0x06);
  212.   Serial.write(0x0F); //「フォルダ指定再生」コマンド
  213.   Serial.write((byte)0);
  214.   Serial.write(folder); //この例では、「folder」という変数が指定される
  215.   Serial.write(file); //この例では、「file.mp3」という変数のmp3が指定される
  216.   Serial.write(0xEF);
  217.   delay(10);
  218. }
  219. //----------------------------------------------------------------------------------
  220. void setup() {
  221. Serial.begin( 9600 );
  222. pinMode(reading_pin,INPUT_PULLUP); //読み取り開始ピン
  223. pinMode(ride_pin,INPUT_PULLUP); //カメンライドピン
  224. pinMode(slide_pin,INPUT_PULLUP); //スライドピン
  225. folder=21;file=106;mp3();//起動音
  226. }
  227. void loop() {
  228. //mode_sleep();
  229. if(reading_sw == 0){
  230. if(digitalRead(ride_pin) == LOW){nagaoshi();}//銃撃音
  231. }
  232. if(card_off == 0){
  233. if(digitalRead(reading_pin) == LOW){file=card_in;mp3();delay(700);card_off=1;}}//カード挿入音
  234. if(digitalRead(reading_pin) == HIGH){card_off=0;}
  235. if(reading_sw == 0){if(digitalRead(slide_pin) == HIGH){barcode_read();}}//バーコード読み取り
  236. if( reading_sw == 1){ kamen_ride();}//発動
  237. //Serial.println(digitalRead(reading_pin));//読み取り開始ピン
  238. //Serial.println(digitalRead(ride_pin));//カメンライドピン
  239. //Serial.println(digitalRead(slide_pin));//スライドピン
  240. }