連射装置を作る②

これまでの経緯

以前垂直同期信号にタイミングを合わせて+5V/0Vを切り替えるものを作りました。
この時は実際にコンパネに取り付けるところまでいかずに、オシロによる単体での確認止まりでした。
連射装置を作る①

実際にどう取り付ければいいのだろう、と考えていく中で、負論理(off:+5V/on:0V)で作らなくてはならないことに気づきます。
とても参考になるサイトも見つけることができました。

ボタン・レバー入力について学ぶ

修正する

ちょっと作りも良くないと思うので本当は最初から作り直したかったのですが、他に作りたいものもあったので、とりあえず手間をかけずに動くものにしてしまおうかと簡単な修正にしています。

主な修正点
  • 負論理用に修正した(配列renとdigitalWrite())
  • 複数の連射速度に対応させるため変数やロジックをコピペで増やした(超安易な方法)

秒間30発は表/裏を出力できるようにしたので、交互連としても使えるはずです。

この連射装置はバトルガレッガで使用する予定なのですが、自分は秒間12発/15発/30発(ボム連)しか使いません。
開幕はショット12発/sで始め、途中で15発/sに切り替えるのですが、ダイヤル連だとダイヤルを回すのを忘れてしまうことがあるんですよね~。
そこで、試しに12発/sと15発/sを別ボタンに割り当ててみることにしました。

そのためロータリースイッチはつけずに、連射速度ごとに別のGPIOピンから信号を出すようにしています。

接続図

ソース(修正版)

V-SYNC割込みで飛ぶルーチンは限られた時間で処理しなくてはならないため、少しでも余分なロジックは通さない方が良いかと、使わない連射速度の箇所はコメントアウトしています。(それでも無駄が多いですが…)

※シリアルモニターで簡単に確認はしましたが、オシロやゲームでの確認はまだできていないので、あくまで机上で直した参考レベルのものです。
実績ができたらまた記事を書きます。

適当ソース(改)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です