スタックチャンの顔をM5Stack用ディスプレイモジュールでHDMI出力する話
スタックチャンについて
「スタックチャン」という可愛いコミュニケーションロボットが話題になっている。ジェネレーティブAIのChatGPTを@robo8080さんがスタックチャンに組み込んだことをきっかけに大きな広がりを見せているのである。
今回は、M5Stack用ディスプレイモジュールでスタックチャンの顔をHDMI出力するための手順についてまとめておく。
できること
こんな感じにスタックチャンの顔をHDMIディスプレイに表示することができる(タカオ(Takao)@mongonta555さんのTwitterより)。
スタックチャンは小さいからカワイイのだが、デカくてもやっぱりカワイイのである。
必要なもの
M5Stack用ディスプレイモジュールは以下の製品です。
こうしたモジュールで拡張する際にはスタックして固定するためのM3ネジが必要になるのでこちらもどうぞ。
対象ソースコード
事例として使用するソースコードは@robo8080さんの以下のものをベースに説明する。
なお、Visual Studio CodeにPlatformIOが組み込まれてビルド可能な状態になっている前提で以下に手順をまとめる。
組み込み手順
includeするヘッダ
まずはM5StackにModule Displayを組み込むために関連ヘッダファイルを追加する。
この際に重要なのは
#include <M5Unified.h>
よりも前にヘッダファイルのincludeを追加する点だ。
#include <M5ModuleDisplay.h>
#include <M5Unified.h>
これについてはM5Unified開発者のらびやん@lovyan03さんの以下のツイートを参照して欲しい。
setup()関数に追加するコード
次にソースコードの914行以降にあるsetup()関数内に記述するコードだ。
以下のコード(前提:スピーカーの設定はいじらない)を
cfg.module_display.logical_width = 320;
cfg.module_display.logical_height = 240;
cfg.external_display.module_display = true;
以下のようにペーストする。
さらに以下のコードを
M5.setPrimaryDisplayType(m5gfx::board_M5ModuleDisplay);
以下のようにペーストする。
ビルド
これでビルドしてM5Stackに書き込もう。忘れずにHDMIケーブルをM5StackとHDMIディスプレイに接続して起動を待つ。
すると・・・
実行結果
BtnCで自己紹介したり、BtnAでヒトリゴトモードにするとM5Stack側から声が聞こえてきてHDMIディスプレイにはスタックチャンの大きな顔が出るのだ。
HDMIディスプレイから音声出力
この場合は出力先を以下のように変更してみて欲しい
cfg.external_spk = true;
↓
cfg.external_speaker.module_display = true;
犬顔に変更
また、犬顔を有効にする場合は、コメントアウトされている行を選択してCTRL+/でコメントを外すだけで顔を切り替えられるので試してみて欲しい。
HDMI出力でできること
スタックチャンのお顔をHDMI出力にできることでこんなことができるのではないだろうか。
オンラインミーティングのカメラにスタックチャンの顔を出してスタックチャンカンファレンス(ミーティング参加者全員スタックチャン顔)
ATEM Miniシリーズで複数のM5Stack+ModuleDisplayのHDMI入力を入れてスタックチャンアバター切り替え(誰得?)
デジタルサイネージで「しゃべる」「歌う」「ひとりごと言う」スタックチャン
会社や学校などの玄関口でウェルカムスタックチャンなど
イベント会場や店舗での大型ディスプレイでの製品/商品/サービスの宣伝スタックチャン
アイデア次第でカワイイスタックチャンの活用の幅が広がるだろう。
スタックチャンコミュニティに参加しよう
スタックチャンの情報はTwitterやDiscordにたくさん集まっている。
スタックチャンコミュニティの皆さんは本当に優しくて暖かいのでスタックチャンが気になったらコミュニティに参加してみよう。
Discordは以下からどうぞ。
この記事が気に入ったらサポートをしてみませんか?