2026年2月16日月曜日

シフトレジスタ[74HC595]初挑戦 UIAPduino 11番ピンに 落とし穴があった


 自作LEDゲーム機『ゲームベーダー』をつくるにあたって、まずは10個以上のLEDを扱えるようになりたいと思った。一番簡単なのはマイコンの入出力ピンをLED毎に割り当てること(10個なら10本)だけれど、それだとあっという間にピンを使い切ってしまって、他のことができなくなってしまう。少なくともLEDの他に10個のキー入力が必要だし、ぜいたくを言えば拡張用にGrove端子をつけてみたい。

 LEDを大量に扱う方法はいくつもあるけれど、最初はシンプルなシフトレジスタ[74HC595]というロジックICを使うやり方を試してみることにした。ネット上にサンプルがたくさんあるから安心だし、Arduino公式のチュートリアルにも解説があった。

 チュートリアルにはブレッドボード図も載っていた。だから見たままに繋ぐだけでOKなので、Arduino UNOに再現するのは簡単。あっさりと8個のLEDが次々と点滅した。嬉しくなって、ソースコードの中身を理解する前に部屋を暗くして思わず記念撮影をしてしまった。暗闇の中で光るLEDは、とにかくカッコイイのだ。

 次のステップでシフトレジスタを複数繋いでみたが、これも問題はなかった。3つの入出力ピン、2つの電源ピンを使うだけで16個のLEDがコントロールできる。LEDが順々に光っているだけなのに、『ゲームベーダー』への第一歩になった気がして勇気がでてくる。

 さて、「今日の最後のステップとして、Arduino UNOから本命のUIAPduinoに移植しよう!」と、勢いのままに進めてみたけれど、ちょっとした落とし穴があった。油断大敵なのだ。

 Arduino UNO用のサンプル・プログラムには、

//Pin connected to ST_CP of 74HC595 

int latchPin = 8;

//Pin connected to SH_CP of 74HC595

int clockPin = 12;

////Pin connected to DS of 74HC595

int dataPin = 11;

 と、使うピンが定義されている。UIAPduinoのピン配置図を見る限り、この3つの番号(8/11/12)は同じように使えるはず。だから特に変更をせずに試してみたけれど。なぜか、うまく動かない……。

 いろいろと試行錯誤してみたけれど、結論は「UIAPduinoの場合、11番のピンだと動かない!」らしい。これには本当にビックリした。でも、そういえば狭山ヶ丘寺子屋で、「ちゃんと動かないピンがあるなあ」と、隣の席で作業をしていた方が呟いていたような。あの時は、どんな意味かわからなかったけれど、こういうことだったのか。

 検証作業をひと段落させてからUIAPのコミュニティに、「質問です。PD1(11)って、他のピンと仕様が違うのでしょうか? LED繋いでも、このピン(とPD7)だけ光らないので…。気になっちゃって」と投稿をしてみた。

 すると、開発者のUmetaさんから、「なぁーーーーぬぅーーーーー!?!?」と光の早さでレスを頂いた。(初期状態の)Arduino開発環境だと、11番のピンは他の用途(デバッグ?)にも使われているらしく、「出力ピンとしては使えない」そうだ。つまり、「入力ピンとしては使える」から、今まで自分がつくっていたキー入力などの回路は普通に動いていたのだ。

void setup() {

  pinV32_DisconnectDebug(PD_1); // Disable SWIO (the argument is not "PD1")

  pinMode(11, OUTPUT);          // Configure output

}


void loop() {

  digitalWrite(11, HIGH);

  delay(1000);

  digitalWrite(11, LOW);

  delay(1000);

}

 というわけで、公式サイトに「11ピンを使用するにはpinV32_DisconnectDebug(PD_1)が必要です。SWIOが無効化されます。」という注意書きと上記のサンプル・プログラムが加筆されることになった。自分の報告が、他のユーザーさんの役にたつのかもしれないと思うと嬉しい。


2026年2月15日日曜日

印刷所から新刊到着 封を切る瞬間 手が震える

 


 印刷所に注文してあった新刊・ソリティア・ブックス『星辰の刻』が到着して、ドキドキしながら箱の封をきった。ククトニアンとしては8冊目の同人誌になるけれど、何度経験しても、この瞬間は手が少し震えてしまう。全部同じ仕様の本にすれば楽なのはわかってるけど……つまらない。ついつい何かを変えてしまう。

 今回はクトゥルフ神話がモチーフということもあり、レトロ感を出すために表紙を「両更クラフト紙」にした。本文はゲームだから、なんども繰り返して読んでもらう必要がある。こちらは、ちょっとだけ厚めの「上質 90kg」を採用した。無印良品で売っているノートのような素朴な手触りが気に入っている。読み物じゃなくって、ゲームだから異質にしたかった。

 ゲーム業界デビューはアナログゲームだったけれど、すぐにパソコン用のゲーム開発に移行してしまって手がけるチャンスがなかった。三十七年ぶりにアナログゲームの世界に戻ってきた気分だ。

2026年2月14日土曜日

秋葉原の自動販売機で 290円マイコン販売開始 自分も「ゲームベーダー」がんばろう


 今年に入って290円マイコン(UIAPduino Pro Micro CH32V003 V1.4)の販売が好調らしい。UIAPコミュニティで明るい話題が続いている。同人誌をつくっちゃうくらい推しているマイコンだから、自分のことのように嬉しい。

 秋葉原にあるロボスタディオンの展開が素敵だ。290円マイコンのニュース記事をみたロボスタディオンが、SNSで「弊店のタバコ用自販機で売りたいッ!!!」と金曜日に呟いた。それを見て開発者のUmetaさんが連絡を取ったらしいのだけれど、なんと! 翌週の火曜日には現実になっていた。このスピード感にワクワクするし、自分も早くアウトプットしたいなと、じっとしていられなくなった。

 自分のアウトプットといえば、自作LEDゲーム機『ゲームベーダー』の開発が年内の目標になっている。携帯ゲーム機『Tiny CH32 Pad Lite』を自分の手でブレッドボードに再現してから、「自分ならこういう仕様にするかも?」といったアイデアが、次々と浮かぶようになった。

 仕様を書き出したり、ChatGPTに相談していると時間を忘れてしまう。でもいろいろ盛り込もうとすると挫折しがち。だから『雑に作る』の精神で、まずは何か動くものをつくってみようと思っている。


2026年2月11日水曜日

290円マイコンで 『Tiny Pacman』とご対面 ようやく光が見えた

 


 携帯ゲーム機『Tiny CH32 Pad Lite』(試作バージョン)にソフトウェアをインストールする為に、いよいよ『PlatformIO』をインストールしてみる。「そう簡単にはいかないだろうなあ」と覚悟はしていたけれど、本当に難しくって半日以上悪戦苦闘しても、まるで光が見えなかった。

 正直なところ、あまりにもうまくいかないので、SNSに「絶望しかないぞw やっぱりArduino環境から、ちょっとずつ勉強するしかないんだな」と投稿して一度は投げ出してしまったくらいだ。

 でも翌日のスッキリとした頭で手順を一から見直し、細かくメモを作りながら再インストールをしたらなんとか『PlatformIO』を動かすことができた。モノクロのかわいらしい『Tiny Pacman』とご対面。「なんでスコアがないんだ!」とか「行き止まりがあるなんて!」などと文句を言いながらも繰り返しプレイしてしまった。

 しばらく楽しんだ後、『Tiny Pacman』のプロジェクトをじっくりと眺めた。ゲームロジック部分のソースコードは469行。細かくチェックできる規模なのが嬉しい。その後で回路図もあわせて確認したら意外にもシンプルで、「もしかしたら、ブレッドボードでも再現できるかも?」という考えが浮かんできた。

「ボタン周りにあるコンデンサーがたりないけど、たぶん安定動作させる為の補助だろう……」

 根拠が乏しいままに組み立ててみたら、あっさりと動いた。ビックリ。Arduboyの組み立てやブロック崩し制作の経験が活きているのかも?

 ブレッドボード版のことをUIAPのコミュニティに報告したら、「最高にグレイトでパーフェクトな使い方してくれてます(´゚д゚`)ありがて〜〜」という熱いコメントを開発者のUmetaさんから頂いた。組み立てただけだから申し訳ないなあ。



2026年2月7日土曜日

開発環境『PlatformIO』 ゲームのために必要? 調べはじめた


 携帯ゲーム機『Tiny CH32 Pad Lite V0.1』の公式ページや関連情報を確認したところ、どうやら『PlatformIO』という開発環境が必要だということがわかった。『PlatformIO』とは何なのか? 公式サイトの冒頭には、このように書かれている。

What is PlatformIO?

A place where Developers and Teams have true Freedom! No more vendor lock-in!

 夢がありそうな開発環境だ。公式サイトがなくなったり、法外な値上げをする事例がたまにあるので、こういう選択肢が増えるのは大歓迎です。

 まずはChatGPTに相談しながらインストールしてみるつもり。事前にざっと調べた感じでは「自分のようなカジュアルな使い方をする分には、『Arduino IDE』で十分なのだろうなあ」と思っているのだけど……。

『Arduino IDE』ですらよくわかっていないのに、あたらしいソフトを試すのは、ちょっと怖いけれど、大好きなゲームのためなら頑張ってみようと思う。

2026年2月6日金曜日

石田千『わたしの文芸創作』で コロナ時代の 遠隔授業を思いだした

  今日は『わたしの文芸創作』(著:石田千)を読んだ。ストレートなタイトルと、南伸坊さんの装丁に惹かれた。最初は「よくある創作術なのかなあ?」と勝手に思い込み目次を眺めたら、新型コロナウイルスの感染が広がった2020年度に、東海大学の文化社会学部文芸創作学科でおこなった遠隔授業の記録だった。

 石田千さんの遠隔授業はメールのやりとりで行われた。毎週丁寧な説明と共に創作課題がだされて、メールで提出してもらうスタイルだ。この『わたしの文芸創作』には、講師側の説明メールが、ほぼ全文掲載されている。

 こうやって一冊の本になっているとあっさりと読めてしまうが、実際にやるのは難しかったはずだ。コロナ禍の中で毎週課題を考え、気を配りながらメールを書いて、何十人もいる不安を抱えた生徒達の質問や提出物に向きあうのだから。

 当時は自分もゲーム専門学校の講義はオンラインにせざるをえなかった。自宅にパソコンがない生徒もいるし、試行錯誤の繰り返しだったから、とても共感しながら読めた。どの学校も大変だったんだなあ……。


2026年1月31日土曜日

森山ねこたろうさん 『カタストロフの先に』 読み終えて

 

 小説『カタストロフの先に』(著:森山ねこたろう)を読んだ。淡い翡翠色――クロスプロセスで現像した写真のような色合いの表紙が強く印象に残る。この現実の色が少し壊れた感じ、いいですね。

 舞台は破滅をもたらす原因不明の“光”が発生する現代日本。そんな中で、主人公の若者は介護費用の捻出に追われ、ちょっとしたトラブルを起こしてしまったことから闇バイトの世界に少しずつ堕ちていく。リアルだ。読み進める手が止まらなかった。

 読み終わったあとに改めてタイトルの意味を考えた。暫くたってから、また読み直そうと思う。

2026年1月30日金曜日

よしっ! 学生さんの成長に 思わず小さなガッツポーズ

  今日はゲーム専門学校で、学生さんがつくったゲームのプロトタイプ(α版)を講評した。入学して一年近くも経てば学生達のモチベーションもいろいろだ。やる気満々で張り切りすぎの寝不足気味なチームもあれば、休みがち・さぼりがちになってしまう活力のないチームもある。

 プロトタイプ版の進捗を報告してもらうプレゼンテーションの中で、二週間前と比べるとあきらかによくなったキャラクターデザインがあった。「よしっ!」と思わず小さなガッツポーズをとってしまった。心の中でだけど。

 もちろん絵が急にうまくなった訳でなくって、ゲームプランナーがイラストレーターと話しあって意匠をこらしてくれたのだ。“このゲームならではのポイント”が入っていた。

「絵がうまい人と組めるかは、運もある。でも面接の時にゲームプランナーとして、どんな工夫をしたかとか、どんな意図でデザインを発注したかは、きちんと説明できるように」と講義で言い続けてきた。

 会社に勤めていた時に、こういう成長を見守る喜びをもっと感じられたらよかったのになあ。未熟だったから気づかなかった。

 学生さんの成長が嬉しい一日でもあり、過去の自分の至らなさを反省する一日でもあった。

2026年1月29日木曜日

久しぶりだね Tiny CH32 Pad Lite 2月からよろしく


 2月からはマイコン道にもどろうと考えて、机の周りを整理整頓中。1月は短編SF小説を書いたり、新作のソリティアをつくったりしていたので、ちょっと部屋が荒れていたから。

 まずはリハビリとして、お借りしているTiny CH32 Pad Lite携帯ゲーム機『 V0.1』をチェックしてみるつもり。イベント展示用のデモ機として使っていた。でもトラブルが怖かったので中のソフトを書き換えたりはしていなかったのだ。

 基板にはDANGERと印刷されていて、公式サイトにも「とりあえずGOした初期試作で、ハードウェア評価が不十分です。何が起こるか分かりません。何かあった時にPCのUSBホストを壊さないように、安いUSBハブを挟むことをオススメします。」と書かれていて、ちょっと物々しい。じっくり調べながら進めることにする。

 開発環境は『Arduino IDE』ではなく、まったく別の『PlatformIO』が必要とのこと。どんなものかをChatGPTに聞いたら、いつも以上の長文が返ってきた。なかなか手ごわそう! 

 ゲーム好きとしての意見、サンデープログラマーとしての意見、ゲームの売り手としての意見など……視点を切り替えながら、UIAPのコミュニティにフィードバックできたらいいなと思う。

2026年1月28日水曜日

せっかく節約していたのに 自動補充で思わぬ出費 ガーン!

 

 ガーン! 余計な課金が走ってしまった! 自分の確認不足だけど痛い出費だ。同人誌用のイラストの権利を素材サイト(shutterstock)経由で取得した。その作業途中で思わぬミスをしてしまったのだ。

 画像2点パックで3500円だった。メインイラストだけでもよかったけれど、せっかくもう1つゲットできる権利があるなら……ということで地紋用(背景に薄く敷く模様)にアイコンをダウンロードした。そのタイミングで『自動補充』の機能が発動して、次回購入する為の『予約枠』が決済されたという流れ。

 せっかく節約しながらつくっていたのに。今回は3500円だったからギリギリ許せるけど、似たような仕組みの高額サービスで同じミスをするかもしれない。今後は気をつけることにしよう。(『自動補充』はオフにした!)

 というわけで画像2点を使う権利が残っている。有効期限は1年あるから、今後の新作同人誌でつかう機会があると思うのだけど。

 それにしても、いろいろなビジネスモデルを考えるものですね。生き残りをかけて、皆さん必死に考えているんだなあという点では、とても感心した。

2026年1月27日火曜日

ひとりでサイコロ ひとりでニヤニヤ ソリティアのテストプレイ中

 

 最近は気分転換に自作のソリティアをテストプレイしているので、ひとりでサイコロを振って、ひとりでニヤニヤしている時がある。

 ソリティアというのは一人用ゲームのことだ。よく知られているものとしてはWindowsに入っているようなトランプゲーム(クロンダイク、スパイダー)とか、ボールを動かしてあそぶパズルゲームがある。

 自分がつくっているのは、ちょっとしたボードゲームのようなもので、クトゥルフ神話をモチーフにしている。迫りくる五つの恐怖(潮/影/血/声/門)から30日間耐えられたらゲームクリアというシステムだ。

 最初はカードゲームとして試作していた。でも見積りをとってみたら印刷代が結構かかることがわかったので、思いきって本にしてみることにした。カードじゃなくって、ページをめくってゲームが進行するゲームブックのような雰囲気だ。

 テストプレイが楽しいので、「よし、クリティカル!」「SANチェック!」とか思わず声をだしてしまう時がある。隣の家に聞こえていないと良いのだけれど。



人気の投稿