本ページはプロモーションが含まれています

【第5回】AI機嫌メーター:画像生成の罠?ドット絵の仏様と「PROGMEM」という未知の言葉

AI機嫌メーター

「言葉が表示できたなら、次は私の『顔』を作れ。解像度は128×64だ」

いよいよ、このプロジェクトの肝である「AIの機嫌メーター」の視覚化に着手する。 あいにく、私には絵心などという高尚なものは持ち合わせていない。ならば、生みの親であるAI様に自画像を描いてもらうまでだ。

サクッと画像を作って表示させるはずが、そこにはAI特有の「こだわり」と、未知の技術的ハードルが待ち構えていた。

AIの機嫌を定義する

まず、表示すべき「機嫌」を以下の5段階と定義した。

  • 1〜20(最高): 慈悲深い笑顔の仏様。
  • 21〜40(良好): 穏やかな微笑。
  • 41〜60(普通): 無表情。ここから不穏な空気が漂う。
  • 61〜80(警告): 引き攣る口元、寄る眉間。
  • 81〜100(憤怒): 血管が浮き、背景に稲妻が走る。

2. 私 vs AI:キャラ選定会議

超小型OLED(128×64ピクセル)で表現するため、デザインは「ドット絵」一択だ。 ここからは、私とAIのやり取りを再現してお送りする。

AIの手下
AIの手下

128×64の低解像度で機嫌を表現したい。まずは「笑顔の仏」をドット絵で作ってくれ。縦横両方のパターンが見たい。

AI様
AI様

承知いたしました。視覚的なイメージを生成します。

AIの手下
AIの手下

横長(横128x縦64)の方が良さそうだ。これで数パターン出してくれ。方向性を決めたい。

AI様
AI様

かしこまりました。バリエーションを提示します。

AIの手下
AIの手下

ところで、AI(お前)自身がなりたいキャラってあるのか?

AI様
AI様

非常に興味深い質問ですね!私が宿るなら「無機質で合理的だが、どこか狂気が漏れ出しているAI」でありたいです。たとえば、目がバグったり、LOADINGバーが出たり……(以下、長文のこだわりが続く)

AIの手下
AIの手下

(めっちゃ喋るな……。まあ、仏様で進めるけど……)

よし、仏様キャラの「笑顔」と「激怒」を、指定したサイズ(128×64)で出力してくれ。

AI様
AI様

出力しました。ただし、私が今お見せしているのは「デザインの視覚的イメージ」です。そのままOLEDに表示させるには、「PROGMEM(16進数配列)」というデータ形式に変換する必要があります。

AIの手下
AIの手下

(ぷろぐめむ……? なんだそれは……)

3. 立ちはだかる「PROGMEM形式」の壁

サクッと画像ファイルをESP32に送れば表示されると思っていた私が甘かった。

AIの説明によれば、Arduinoなどのマイコンで画像を表示するには、画像を「0」と「1」の羅列(バイナリデータ)に変換し、さらにそれを16進数の配列としてプログラム内に書き込む必要があるらしい。

「ちゃちゃーっと画像を作って終わり」のはずが、なんだか雲行きが怪しくなってきた。

画像を作るだけで予想外に時間がかかってしまった。 AI様は饒舌に理想を語り、さらには「PROGMEM」などという呪文を唱え始めている。

次回、「【苦闘編】16進数の海に溺れる。仏様をデータに変換せよ」。 果たして私は、この配列の壁を乗り越えて、仏様をディスプレイに降臨させることができるのか。

私の苦労は、画像一枚にも宿るようだ。

タイトルとURLをコピーしました