急いでる時に限って手元にあったケーブルを挿してプログラムを書き込もうとするとつながらない。機器は電源がはいってランプは光ってるのに通信できない。なんでだ!なんでだ!!と調べていった結果、なぜか紛れこんでいた充電専用ケーブルのせいで、ケーブル変えたらすんなり動く。 年末のケーブル棚卸を行うが絶対数本は出てくるこの謎の充電専用ケーブル。 このなんとも言えない怒りよりも脱力しかない世界をどう楽しめるかを考え作りました。
Type-Cコネクタを取り付けれたが差し込むとスポッと抜けてしまう →ボディに穴をあけ止めれる端子を購入して変更
既存のものを削って溝を省いたりしていたが削りにムラが出て端子が奥にいってしまい奥までケーブルが刺さらない部分が出た →不具合があるものをはずしては削りはずしては削りを繰り返す。あまりにもカッター作業が厳しくしびれを切らして超音波カッターを締切4日前に購入。それでも厳しい戦いだった…。
GNDとD+で判定していたがケーブルがきっちりはまっていない状態で通信できるケーブルなのに充電専用ケーブルと判定される → CC1もしくはCC2とD+がほぼ同時に反応するので判定するケーブルを2倍の量に変更しチェックするようにした。ただちゃんと回路を組めば本数を半減できるのはわかったが提出1日前なので間に合わず力業に。
ケーブルによって認識しない → どうしても本体の厚みがあるため奥まで完全に挿さりにくい構造になっています。そのためUSB3.2の金額が高めなケーブルは奥まで刺さらず認識されないことが…もっと本体を削ればいいのですが難易度高く。
黒ひげ危機一発を分解します
ナイフが刺さる部分24か所を削って削って削ってType-Cのコネクタを付けます。
飛び出す機構を改造してロック解除をソレノイドで駆動するように改造します。
ATOM MatrixのGROVE端子にMCP23017を4つ接続します。
下半分の12個のType-CコネクタはGND、上半分の12個のCC1,CC2,GND,D+の4端子分の合計48本をMCP23017に接続します。
1つのGPIOをリレーに接続し、その先にソレノイドを接続します。今回は端子数の都合と上下を横断するケーブル削減でソレノイド制御とGNDを取るためだけのMCP23017を1つ利用しました。
ATOM Matrixのプログラムで上半分の12個のCC1,CC2を監視しケーブルが接続されたかチェックします。(VBUSとGNDは軽く刺した差し込まれてない状態でも検知することがありCC1,CC2の監視もしています)
接続されるとカウントダウンを行います。(検知後にケーブルを揺らすなどあると誤反応があるため手を放してもらえるよう意図していれています。)
ケーブルのD+の接続が確認できたら次に進み、確認できなかったら黒ひげを飛ばしてゲームを終了します。
ゲーム終了後にケーブルをすべて抜き、飛び出す部分を押しながらATOM MatrixのLED部分のボタンを押すと、バネがセットされデータをリセットし次のゲームが開始されます。