電子工作素人によるスタックチャン製作記8(色々カスタム編)
この記事は「スタックチャン(Stack-chan) Advent Calendar 2023」16日目の記事です。
この記事では
スタックチャン記事としてはずいぶん空いてしまいましたが、実は仕事の合間にこそこそ色々試行錯誤を重ねていました。ちょうどスタックチャンのアドベントカレンダーの空きがあったもあって、またちょくちょくやったこととかを書いていこうかなと思います。
というわけで、今回は「色々カスタム編」です。
色々ってなんやねん
1.AIスタックチャンを作ったよ。
2.スタックチャンじゃない形のロボットを作ったよ。
3.レゴ×スタックチャン、Bluetoothでラジコン化したよ。
って感じです。
この記事では、それぞれどんなものかを簡単にご紹介します。もともとアドベントカレンダーとしては「3」のレゴ×スタックチャンの記事をメインに想定してましたが、せっかくなので色々書きます。
1.AIスタックチャンを作ったよ。
Boothでタカオさんのボディとケンネルさんのマグネットアダプターを購入して、Core2 AWSにM5Burnerで公開されているAIスタックチャン2を焼き入れたものです。AIスタックチャンというのは、ChatGPTのAPIを使って、人とのコミュニケーションが可能にしたものです。しかも声にVOICEVOXを使うので「ずんだもん」の声にもできちゃうのだ。
ここでは、AIスタックチャンを動かす簡単な手順をペタリ。
0.【前提】M5Stack(できればCore2)にM5Burnerで公開されているAIスタックチャン2を焼き入れます。
1.16GB以下のマイクロSDカードを用意します。
2.VOICEVOXと、OpenAI/ChatGPTのアカウントを作って、APIキーを発行します。
3.apikey.txtというファイルを作って、中に発行したAPIキーを書きます。
1行目 OpenAI/ChatGPTのAPIキー(sk-から始まるやつ)
2行目 VOICEVOXのAPIキー(15桁くらいのやつ)
4.wifi.txtというファイルを作って、スタックチャンがアクセスするWifiの情報を書きます。
1行目 SSID
2行目 パスワード
5.apikey.txtとwifi.txtをSDカードに保存します。
6.SDカードをM5Stackのスロットにセットしてから、起動。カワイイ。
2.スタックチャンじゃない形のロボットを作ったよ。
製作記7で作っていた、オリジナルのボディを元に、手を振り上げるタイプのロボットを作りました。
(モデルはスマホゲーム/ブルーアーカイブのケイちゃんというやつです。重度のオタクなのでイラストをもとに頑張ってガチ目に3Dモデルを作りました。)
腕を振り上げる機構は、サーボモーターに流れる電流の正負が変わることを利用して、サーボモーターの中の配線に無理やりDCモーターを接続させています。なかなか危険なやり方なので。カイゼン必至です。
AIスタックチャンのGitHubコードを元にオリジナルの顔を追加して、キャラクターらしいロールや、表情に合わせた腕振り機能などを拡張してます。せっかくなのでそのコードも公開しています。そのほか、キャラクターとしての味付け以外にも、色々試行錯誤する中でデバッグでも使える機能を付け足したりしています。
・Cボタンで接続中のIPを確認(IPの番号をしゃべってもらう)
・API経由でWifiのSSID/パスワードを再設定(別のWifiに切り替えやすくすしたかった)
・API経由でパワーオフ
3.レゴ×スタックチャン、Bluetoothでラジコン化したよ。
そしてようやく本題です。
ボディが付いた姿かカワイイのスタックチャンのいいところではあるんですが、レゴのFIAT500を使って、むしろ別のボディを操縦してもらうというアレンジをしてみました。
FIAT500というとあれです、カリオストロの城でルパンがカーチェイスする際に乗っていたやつです。色も同じ黄色!若干プレミア値ついて定価より高かったんですが、背に腹は代えられぬのでポチりました。
動作原理は簡単で、サーボモータの動作確認用のコード「Stack-chan-tester」をもとに、360度サーボを動かすように改造するだけです。むしろ大変だったのはレゴにサーボモーターを固定するところでした(笑)
サーボモーターもLEGOに組み込みやすいGeekServoというやつを使ってはいるのですが、そもそもLEGOの規格として、普通のレゴとレゴテクニックを無理やりくっつけることになったのでまぁ大変。
最終的に結束バンドを使ってむりやり固定させました。
結束バンドサイコー!
とまぁこれだけだとM5Stackの電源入れて走らせっぱなしになってしまうので、ついでにBluetooth接続でサーボの回転を調整する改造と、コントローラとしてのスマホアプリも作りました。
このコードとアプリを使えば、Wifiが無くてもどこでもラジコン化したスタックチャンを動かすことができます。
レゴじゃなくても使えるので色々と応用できるかもですね。
というわけで、スタックチャンアドベントカレンダーでしたー。
ご静聴ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?