DIY Analog pad(ラズパイPicoバージョン)

DIY Analog pad」のラズパイPico版を作ってみました。14×2.5cmの超小型サイズのゲームパッドです。

動作電圧の違いは、レベル変換IC(FXMA108)で解決しました。

www.youtube.com

動画だとすんなり動作したように写ってますが、実際は通信エラーの問題で3日くらい悩みました。エラーの原因はdelayMicroseconds関数が不正確だったこと。代わりに使ったbusy_wait_us関数もダメで、sysTickもダメで、結局、add_alarm_in_us関数のタイマ割り込みで解決しました。

 

OLEDディスプレイはデバッグ用です。付けなくても構いません。

3Dプリンタジョイスティックのレバーとカバーを作りました。秋月で売っているアルプス電気ジョイスティック(RKJXV1224005)はレバーを倒しすぎると、パキッという音がしてレバーが戻ってこなくなってしまうので、レバーの動きを制限する必要があります。

 

GitHubでソース、回路図等を公開しています。

github.com

 

nicotakuya.hatenablog.com

USBキーボードとして認識されるジョイスティック

USBキーボードとして認識されるジョイスティックです。プロジェクトEGGで配信している「マジクリメント」とか「獣神ローガス」とか「バビロン」とか、キーボード専用のゲームを遊ぶために作ってみました。

レバーの入力はテンキーの「2」「4」「6」「8」に割り振って、ボタンの入力は「z」「x」「c」「Esc」「Shift」「Alt」「Space」「Enter」に割り振りました。好きなだけカスタマイズは可能です。

 

ケースの中身です。今回はラズパイPicoを使いましたが、Seeeduino Xiaoでも問題なく動きます。

ケースは3Dプリンタで作っています。

 

github.com

ソースファイルとSTLファイルをGitHubに公開しました。ソースコードは50行です。

動作チェックがまだ不十分な状態です。

 

日経ソフトウエア2024年5月号

23日発売の「日経ソフトウエア2024年5月号」でIoT電子工作の連載記事を書かせて頂きました。

 

今回作ったのはカメラで撮った画像をスマホで見れる装置です。画像に人が含まれているかどうかの判定機能も搭載しています。

これはボツ写真です。Pico4MLのカメラはUSBコネクタのあるほうが「下」なので、このまま撮るとリンゴが逆さまになってしまいます。

 

これもボツ写真。person_detectionの実行例です。

 

日経ソフトウエア2024年3月号

日経ソフトウエア 2024年3月号」で、2件ほど記事を書かせて頂きました。

・(特集) C言語弾幕シューティングゲームを作ろう Part2。

・(連載) IoT時代の電子工作 第13回目。

 

弾幕系シューティング特集は今回で最終回です。

弾幕系っぽい見た目になるように頑張りました。プログラムは250行くらいです。DXライブラリを使っています。

 

www.youtube.com

 

これは雑誌に未掲載ですが、画面内の弾の数を測定している様子です。

こんな激しい状態でも、1画面あたり160発くらいでした。今回はバッファの要素数を500に設定しているので、足りなくなる心配はいらないと思います。

 

「IoT時代の電子工作」では、鉢植えの水分を測定する方法を紹介しています。土壌水分センサーとRaspberry Pi Pico Wを使っています。


「ワンダラーズ・フロム・スーパースキーム for PC-8801」をクリア(ネタバレ)

オニオンソフトの「ワンダラーズ・フロム・スーパースキーム for PC-8801」をクリアしました。

前回(2年前)の続きです。

nicotakuya.hatenablog.com

前回はSTAGE 4の前半まで行けましたが、難しすぎて途中で投げてしまいました。実はこのSTAGE 4が最終面で、ラスボスの一歩手前だったようです。

今回はステートセーブを多用して、できるだけダメージが蓄積しないように心がけました。よくわからないうちに攻撃を食らってしまうので、LIFEのバーグラフを注視するのがポイントです。

 

STAGE 4にある1UPのアイテムです。

 

ここが隠し通路です。

 

ラスボス手前の狭い通路。上から襲ってくる敵は到着する前に倒します。

正面からザコ敵がレーザーで攻撃してきますが、ジャンプして避けることはできません。そこで、レーザーが出ない時に近づいて、弾を撃って引き返すという操作を繰り返します(レーザーはプレイヤーと移動速度が同じなので回避可能)。敵が頑丈すぎて物凄い手間がかかります。

 

ラスボス手前でハートのアイテムが出現。体力が満タンになります。このアイテム、プレイ中に1度しか見ませんでした。

 

巨大なラスボスが登場。向こう側に居るザコは無敵です。ザコのレーザーはジャンプで避けます。

ボスの頭が伸びてる時にジャンプして弾を当てます。処理が重くて連射パッドが機能しなくなるので、手作業で連射します。何度も弾を当てていると、ボスを倒すことができます。

ステートセーブを使いまくったおかげで、ノーミスでクリアすることができました。

 

多重スクロールしながらスタッフクレジットが表示されます。

内容は以下の通りです。

PROGRAM

  SALTO SUZUKI

 

MUSIC
  YUZO KOSHIRO
  SALTO SUZUKI

 

GRAPHIC
  AYANO KOSHIRO
  TAMAGO
  ONITAMA
  SENCHA
  SALTO SUZUKI

 

「THE END」と表示されたあと、自動的にサウンドモードに移行します。全5曲のうち4曲が古代さんの作曲のようです。

Zキーを押すと次の曲に進みます。前の曲に戻すことはできないようです。

5曲ぶんの再生が終了すると、「THE END」と表示されて、キー操作ができなくなります。