2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Arduinoで各種コントローラを制御する。①検討

Last updated at Posted at 2020-06-21

※自分用のメモも兼ねてます。随時更新予定。

Arduinoで各種コントローラを制御する。①検討 は こちら
Arduinoで各種コントローラを制御する。②ハードウェア は こちら
Arduinoで各種コントローラを制御する。③ソフトウェア は こちら

開発背景

某ゲームで、決まった操作を連続で行うことがある。
一連の操作を簡単に行えるようにしたい。

概要

既存の有線USBコントローラをベースとする

「中国文字が入ってる怪しい良心的な価格の製品」
https://www.amazon.co.jp/dp/B084ZJG988/ref=cm_sw_em_r_mt_dp_U_QjS7EbEJ80JTX

Arduino互換ボードTeensy3.6を利用して、ボタンの入力を外部から制御する。

「Teensy3.6 - スイッチサイエンス」
https://www.switch-science.com/catalog/2989/

diagram.png

機能

連射機能

HORIのコントローラのようにモード分けをする。
ハード的に実装が困難だったため見送り(2020/07/04追記)
180309_02.jpg
(https://game.girldoll.org/ps4-controller-rensya/#2 参照:2020/06/21)

自動ボタン操作

入力モードと出力モードを設け、パターンを変更できるようにする。
入力モード:各ボタンの入力を保存する
出力モード:押している間、保存されたパターンを出力

ハードウェア検討

連射モード用

TURBOボタン
TURBO LED(緑)
ボタン用抵抗
LED用抵抗

連射モードを実装しないため不要(2020/07/04追記)

自動モード用

AUTOボタン
AUTO RECボタン
AUTO resetボタン
AUTO REC LED(赤)脚を赤塗
AUTO REC LED(緑)脚を黒塗
ボタン用抵抗 *3
Teensy内Pullup抵抗を使うため不要
LED用抵抗 (10Ωx4)

各種ボタン用

電流制限用の抵抗 *18 (タクトスイッチ使ってるやつはいらないかも)

ソフトウェア検討

1/30秒ごとに以下の処理を行う

ボタンのステータス確認・保存
  Teensy接続ボタン3個 (前とステータスが違えば押下&離す認識)
  if AUTO REC flag
    コントローラのボタン18個

if 連射モード押下
  if AUTO REC=ON
    error flag (赤LED&緑LED早点滅)
  Swith ボタン.連射ステータス
    連射: 連射ホールドに
    連射ホールド: 連射OFFに
    連射OFF: 連射モードに
else if AUTOボタン押下
  if AUTO rec =NONE
    error flag (赤LED早点滅)
  else
    AUTO out flag
else if AUTO RECボタン押下
  if 連射モード=ON
    error flag (赤LED&緑LED早点滅)
  else
    AUTO REC flag トグル (REC時赤LED遅点滅 & RECデータ有時赤LED点灯)

ボタン出力 LED更新

参考サイト

「[デュアルショック4乗っ取り] - 松蔵さん家の物置場(仮)」 2020/06/21アクセス
https://rezius2.jimdofree.com/%E5%B7%A5%E4%BD%9C%E3%81%AE%E6%A3%9A/%E3%83%87%E3%83%A5%E3%82%A2%E3%83%AB%E3%82%B7%E3%83%A7%E3%83%83%E3%82%AF4%E4%B9%97%E3%81%A3%E5%8F%96%E3%82%8A/

「DualShock 4-PS4開発者Wiki」2020/06/21アクセス
https://www.psdevwiki.com/ps4/DualShock_4

「デュアルショック4のアナログスティックを乗っ取る(1):分解〜回路図〜試験 | ファミコンと心中するの?」2020/06/21アクセス
https://ameblo.jp/bit287/entry-12426938822.html

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?