R8.2.16 GUNDATOM
調子に乗ってGUNDATOMを追求してみた!?(^^;)
![]() |
4人になった。
R8.2.11 白いヤツにしてみた
今日あたりスイッチサイエンスさんから頭脳が届く予定。少し遊んで、スーツは「あの白いヤツ」にしてみようかと、今朝スーパーに立ち寄って見つけたバンダイのお菓子で調達(^^;)
![]() |
スイッチサイエンスさんから届いていた(^^)/ あれ?AtomS3Rになったら、灰色になったのね... まあいいけど、白いヤツとはちょっと違うか(^^;) アトムニャン V2 Takaoスーツの到着が待ち遠しいぞ!!
![]() |
以前使っていたPCがとても重くなって使えなくなったので新しいPCに変えた。が、面倒でArduinoIDE環境を再構築せずに放置していた。今回、アトムニャンの件で顔を180度回転させようと、ArduinoIDEを新PCに再構築。しかし、WiFi関連でエラー。どうも最近は変わったらしい(^^;)
上手くコンパイル出来て動作しても、将来に変更することがあるので、ボードマネージャーやライブラリィのバージョンを記録しておかないといけないな。別のスケッチを作成・コンパイルするときに、何気なくバージョンアップしてしまうことがあるからな。アップしたことも忘れるし。
コンパイル時のエラーメッセージをAIに投げアドバイスを受けつつふと気付いた。新PCに構築したArduinoIDE環境に、ESP32ボードを入れてない。M5StackのM5StackボードではI2S関連でエラーが出たが、ESP32ボードでは、赤行が多発するがコンパイルできた(^^)/
FunctionCall用の天文データを2026年版に書き換えなくてはいけないな。
R8.2.9 ザク???
ボディスーツ加工2回目。ちょっと良くなったけど、反対側の面が溶け気味で引き攣った(^^;) ガチャでアトムニャン風の耳を探したけれどなかったので、こんなんで間に合わせた(^^;) 可愛さが弱くなったが、生意気そうになった..... 本体を包む?のプラバンが開いてしまうので、それを締め付ける?のU字型プラバンを用意。ギュッと押さえつけて、赤矢印の辺りで半田こてで溶着。ザグの両脚間に貫通してる3o程の穴に4oタップでネジ切りして?のプラバンに黄矢印のようにネジ止め。
![]() |
R8.2.8 アトムニャンに挑戦
アヲッコさんをはじめ、多くの方が可愛いアトムニャンを飼っている。しかし、悲しいが3Dプリンターがない(^^;) ということで、ATOMS3R AI Chatbotキットを注文。スーツはアトムニャン V2 Takaoを購到着までの間にプラバンで自作する為、冶具を作成した。
![]() |
既存のアトムチャンを直列に組み直した。
![]() |
これにアトムニャンスーツを着せるわけだ。プラバンを低アイロンプレスで曲げていく... 1回目は大体こんなだ(^^;) 何回目までするのかな?(^^;) ていうか完成するのか??
![]() |
R8.1.27 花粉に備える
花粉の季節到来で、スタックちゃんが再びひんぱんに活動する。そこで、飛散状況を聞いてみた。ウェザーニュースさんに聞きに行ってるはず。ウェザーニュースさん感謝です。スケッチは2026年になっても動作した、助かった(^^)/ どんなスケッチ書き込んだか分からなくなってるので.....
R7.6.13 バッテリーパック購入
3カ月ほど前に「EchoBaseと同じ大きさのバッテリーパックが出てくれればいいな」と呟いていたが、ようやく2個ゲットしたATOMIC バッテリーベース。早速つけてみた(^^)/ 5ピン切らねばいけないのね(^^;)
![]() |
大きさはカプセルチャンと同じくらいだな。カプセルチャンは修理がきかないようだから、こちらでいく。芋虫のような姿も可愛いけど、カプセルチャンに似せてみた。半田付け下手くそだけど、こんな具合のコネクタできれいになったようだ。カバーを付ければ、イモハンダは隠れる(^^;)
![]() |
久しぶりにスタックチャンに天気を尋ねたら「null」と答えてくれた(^^;) ん? 以前はちゃんと答えてくれたのに...何故だ〜 悩んだ挙句解決した。weatherUrl がこれまでの "http://weather...." から"https://"に変わっただけ、だった(^^;)
3Dプリンターを持たない私には、道具箱を探すかプラバンを曲げるかしなければならない(^^;) 良いのがあった。壊れたAtomLiteのこのカバー部分だ(^^) こちらのスタックチャンにM5Stack用温湿度気圧センサユニット Ver.4(ENV W)を背負わせてみた。用意されていたM5UnitENV.hを使うのは駄目だった(^^;)
![]() |
SensirionI2cSht4x.h・Adafruit_BMP280.h・Adafruit_Sensor.hを読み込んで処理すると使うことができた(^^)/ もっとも、短くした自作コードが、動作しなかった一番の原因だったかもしれない(^^;)
R7.5.25 ATP3011TQFPを購入
折角たくさんのATP3011TQFPを購入したので(10個セットなんだよね...)Atomに簡単にスタックして使えるようにしてみました。
![]() |
小さいので、老眼の私には難しいのですが、なんとか...
ただこれによって、CardputerとかCardKBとか、あるいは業師ならBluetoothキーボードなんかでも。私は無理だったので、ふと思いついてスマホとつないでみることに。youk720さんの「M5StackでBLE鯖にしてスマホからメッセージ送ってみる」でやってみた。つながりました(^^)/ いろんな使い方ができそうです。
R7.5.5 新メンバー
ようやく手に入ったECHO BASE。私のうっかりで「入荷したよ」のメールに1ヶ月も気が付いていなかった(^^;)
AtomS3スタックチャンのマイクが調子悪くなった。何度も床に落としたので半田が剥がれたかも。そこで、新たに届いたEchoBaseを使ってみた。
![]() |
少々手間取ったけれど、どうやら マイクとスピーカーが完動したようです (^^)
AtomS3+EchoBase+バッテリー にしたら随分体が長くなってしまった(^^;) EchoBaseと同じ大きさのバッテリーパックが出てくれればいいな(^^)
![]() |
R6.9.29 新メンバー
新しい仲間が加わった。
![]() |
緑色のAtomS3R-CAMも当然のことながらESP32-S3なので、従前のスケッチを書き込んだら(一応Avatar部分削除)お相手してくれました(^^)/ 目玉親父みたいで、おやじさんの声で喋ってくれると最高なんだけど(^^;)
R8.2.20 2024/9/19 あたりの改造をまとめてアップ
Sep 19, 2024
AtomS3のスタックチャンをもう少しきれいに作り直す計画中。ついでに音量を調節したい。できるかな?Speaker2HATのMAX98357を調査。2番ピンのGAINが0ΩでGNDになってる。12dBになっているということか。どうする?? まあ、物が届いてからテストだね...
![]() |
Sep 22, 2024
物が揃ったので製作開始。MAX98357の3Vを取り付けるピンを曲げる。MEMSマイクを取り付けられるように双方が接触するところをヤスリで削って(^^;)スペースを確保する。取り敢えずここまで。頭を冷やしてから半田付けしないとミスる(^^;)
![]() |
リポバッテリーの受け口とスイッチを配置する。AtomS3のG8とGND間にタクトスイッチを接続予定だったが、サイズを間違えた(^^;) 押しやすそうだから使うかな...
![]() |
Sep 24, 2024
意を決して半田付け開始。白いコードが伸びているのはタクトスイッチを付けるもの。どうにか上手くコンパクト化できたかな。スピーカを付けていないのでスタックチャンの声は出ません(^^;)
|
スピーカを付けてみたら、何かおかしげな雑音があって聞こえにくい。よく見たらMAX98357のGNDが配線されていなかった(^^;) 意を決した割には抜けている自分。
Sep 25, 2024
音は小さいけど、バッテリー消耗を避けてスピーカは右上のように小型のもの。バッテリーは本体下に配置する。その収納カバー用に、さんざん分解して使いみちのなかったケースを使う(^^;) せめてもの償いとして...
![]() |
Sep 25, 2024
取り敢えずセロテープ張りで成形。こんな具合になった。小さくタクトスイッチも注文したが、折角なので大きめのタクトスイッチにした。
![]() |
Atomacちゃん誕生(^^)/ どの子も可愛いけど、どの子も似たようだな(^^;) ちょっと改変しようかな...
R6.8.14 BME280も装着する
バッテリーを背負ってみると奥行きが長くなった。バッテリー収納だけならまあま短いのだが、こうなるとBME280も背負いたい...(^^;) ということでやってみるとこんな感じだ。
![]() |
R6.8.2 小型バッテリー到着
ようやく小型のバッテリーが届いた(^^)/ 100mAhと少ない容量だが仕方ない(^^;) サイズはギリギリ納まるようだ。
![]() |
![]() |
起こしてみた。(゜.゜)声が小さい...まあ、良しとしよう(^^;)
MAX98357はゲインを色々変えられるようで、デフォルトでは9dB。これが 3dB 〜 15dB の間で調整できるようなのですが、変化が良く分かりませんでした、以前やったことあるけど...やり方悪かったのかも(^^;) ただ、最大出力3Wもありますから、小さいスピーカーでは焼けてしまう可能性もありますね、恐らく。以前のAtomEchoのスピーカのように(^^;) だから、本体を小さくしようとしてスピーカを小型化、音も大きくなんてことは避けた方がいいかも。
左上で使っているのはSPK2に入っていたものだったかな? これでは音が小さいので、下側にあるスピーカを使います。左のは購入品でなかなかパワフルです。右二つは不要になったノートパソコンから外したもの。これもいい音質・音量です。
![]() |
R6.6.24 紆余曲折後
第2作目の計画。前作はスピーカ部分、マイク部分等と後付けで作ったためにまとまりがなかったし作りにくかった(^^;) 2作目は、NewEchoBaseのように最初からまとめて作成し、そのまま9ピンでAtomS3とスタックする(^^)/ つもり... 部品は揃ってる。計画図は下記のとおり。
![]() |
![]() |
壊れてしまったAtomを固定台に使って半田付け。これ便利。マイク基板とアンプ基板が1mmほど重なるな(^^;) やすりで削ってしまえばよかった。次回はそうする。白いコードはG8につないだBTN用。このアンプ基板が使えるかが不明(^^;) 何度も半田付け繰り返したので...結果としては使えた。かなり頑丈なんだな。
このように配線した基板を、BTN・スイッチを固定したケースに入れる。そのケースにさらにバッテリーが納まるようにして、AtomS3にスタックする。
![]() |
![]() |
配線後、15mm幅のケースに入れてみた。固定はグルーガンで接着。やっぱり作ったからにはすぐ試したい(^^;) ということで、やってみたら声が少々小さいけど完動しました(^^)/
![]() |
![]() |
R6.6.20 小型のマイクモジュールを購入
わしし さんに教えて頂いたマイクモジュールを秋月電子通商で購入。届いたので先ずM5Stackで実験。田中正幸さんの「M5Stack PDMマイクユニット」記事中のサンプルだと動作するが、スタックチャンのこれまでのスケッチでは上手く動作しなかった。しかし、M5AtomS3を使ってみたら動作した。良く分からないが、まあいいか(^^;)
R6.6.11 AtomS3でスタックチャン
リポバッテリーのいいサイズ物が見つかった、この時点では、まだ買ってないけど(^^;) これだと、AtomS3後方3cm程度に納まりそうだ。小型のスイッチも必要だな。問題は、PDMマイク基板の大きさと凹凸の程度だ。横から見た計画図を描いてみた。
![]() |
スピーカHAT2を分解する。何回も経験しているので、我ながら上手くいったと自負している(^^;) L字ピンを外して3V・0・25・26・GNDをきれいにする。取り敢えず 0・25・26に3本のピンヘッダを付ける。AtomS3に差し込むとAtomS3の面内には納まった(^^) PDMマイクは明日到着なので今日はここまで。スライドスイッチもあった(^^)
![]() |
下のようにAtomS3へのセットを行う。LRCLK→G5、DIN→G6、BCLK→G7に接続し、3V同士は長いピンを曲げて差し込めるようにした。GNDはAtomS3の反対側のGNDピンへ配線。
![]() |
注文していたPDMマイクが届いたので、早速分解して基板を取り出し、ピンをセットしたがこれはまずかった。最初にGroveポートでテストするべきだったし、配線を間違えていた(^^;) 結局下の通りで動作した。
![]() |
スケッチでは、 setup 内に以下の通りに記述したら動作した。
{
auto mic_cfg = M5.Mic.config();
mic_cfg.sample_rate = 16000;
mic_cfg.pin_ws = 1;
mic_cfg.pin_data_in = 2
M5.Mic.config(mic_cfg);
}
//M5.Mic.begin(); beginしたらダメ
AtomS3のGroveポートを使う場合は上記の通り。私のピン配置では、wsにはG39を、dataにはG38を使用している。また、M5.Mic.begin()を宣言したら駄目のようだ。マイクとスピーカは同時には使えないからだろう。両者の交代は元々のスケッチがやってくれているようだ(^^;)
R6.6.10 AtomS3でスタックチャン
スイッチサイエンスさんのM5Stack Japan Creativity Contest 2024に応募した。参加賞としてAtomS3が貰えるらしい(^^) それを期待して、手持ちのAtomS3をスタックチャン化しようと計画。
AtomS3は画面はあるけれど、スピーカーとマイクはない。しかし、Xでつゆきぱぱさんが作成されているのを知った。ということはできないことではないようだ(^^;) スピーカの方は実績のあるStickC_SPK2を使うことにして、マイクの方はつゆきぱぱのように、PDMマイクを使うらしい。できるかな?
R5.4.15 AtomS3現状
結局、いろいろやって今は、Radikoに落ち着いています。
R5.4.9 メモリ情報
AtomS3でESP32S3DevModuleボードを使ってのChatGPTスケッチは77%使うようなので、サーボ関連を装着することに。でもやはりServoEasingでは動作しない。ServoEasingは中身多いし解読不能なので、単純に並列処理で行う。一応ランダムに動く。
最大2097152バイトのフラッシュメモリのうち、スケッチが1614989バイト(77%)を使っているのに対し、サーボを付加すると、スケッチは1615393バイト(77%)を使っているらしい。僅か404バイトの増加。百分率にすると変化なし。僅かな努力だったんだ。(^^;)
R5.4.7 ChatGPTに挑戦
M5StackでChatGPTをやったら、それなりにうまくいったので、AtomS3でもやってみようかと。
M5StackGrayと同じスケッチをM5AtomS3に書き込んでみた。ただ、M5Stack-ATOMS3のボードでは書き込める パーティションスキームがなかった(100%を超える)ので、以前使っていたESP32S3DevModuleボードNoOTA(2MBApp)を選択。動いたけれど、また声が出ない。どこかのファイルでI2Sピンをセットしなければならない。
残念なことに、M5Unified.cppには、ESP32S3DevModuleボードでのI2Sピン記述がなかった。そこで、M5Unifiedは使うけれど、M5Unifiedのspeakerの部分は諦めて、esp8266のAudioOutputI2Sを使うことに。これは、AtomS3で実績があったライブラリ。で、口パクはなかったけれど、ようやく喋ってくれた。
いろいろ読んだ結果、void lipSync(void *args)の部分で、*out.getBuffer();をout->getLevel();に変更することで口パクもできた。
そんなことをツイートしていると、らびやんさんにアドバイスをいただいた。M5.begin後に、スピーカの設定をしてやると可能らしい。そこで、書式が分からないので、あちこち参照して、見様見真似の書式で書いてみたら、M5Unifiedで完結した。声出し口パクOK。感謝です。
![]() |
R5.4.3 新しい顔作成
オリジナルな顔で大きいものを作成した。背景画として、AtomS3の128×128サイズのjpg顔画像を作ってSPIFFSに入れておく。それをバックにavatorを動かせばいいのだ。
![]() |
デフォルトのavatarではなくて、robo8080さんのM5Stack_WebRadio_Avatarで使われている表情とそのスケッチを使う。このケッチ内では、avatorになっていることに注意。
その顔を色反転させ、目や口の位置を確認して背景となっている顔の画像に重ねる。
同じ手法はM5Stackでも使えるの便利。やっているうちにだんだん慣れてくる。しかし、すぐに忘れる。忘れてもいったんスケッチに仕上げておくと、再度それを参考に新しいスケッチを作ることができるのだ。忘れることを恐れてはならない(^^;)
R5.3.23 VoiceTextは難しい
私には、AtomS3で滑らかなVoiceTextができそうもない。VoiceTextは能力の高いM5Stackがいいのではないかと思う。M5Unifiedを使えば、だいたいのM5Stack用のスケッチは、Atom3のピンや液晶サイズに合わせてやれば動くから、AquesTalkやRadikoがいいかな。
![]() |
サーボを使って上下左右の動きをさせたのだけれど、超小型のサーボでホーンをねじ止めするときにシャフトをねじ切りしてしまったようで動かなくなってしまった。それに換えて新しいサーボを使ったけれど、今度はArminJoさんのServoEasingでは動かなくなってしまった。PWM を14bitで使うと動く。私のスケッチがいけないのかな? やはり、皆さんが使う実績のあるサーボがいいと思う、大きいけどね。
R5.3.20 次の目標
mongontaさんのM5Core2ImageAvatarLiteを実現したいな〜と、girl画像を1枚のbmpにまとめたものをSPIFFSに入れて表示。avatar仕様の動きができたらいいな、ということでこれから挑戦。難しそう...(^^;)
M5Core2ImageAvatarLiteの必要な画像ファイルをAtomS3用に縮小してSPIFFSに入れ、そのままinoファイルを書き込んでみたら、恐ろしいことにエラー無く書き込めてしまった(^^;) ただ、画面が若干反応したものの表示なし。画面サイズが1/4ほどなので表示しないなとは思ったが...jsonファイルの書き込み形式が違ったか? そもそもM5StackとM5AtomS3の液晶が違うからか?
![]() |
とりあえず、たなかまさゆきさんの「M5Stack ATOM EchoにSPIFFSにmp3ファイルを埋め込んで再生する」を参照してAtomS3のSPIFFSにbmpとmp3を入れて再生してみた。jpgはできなかった(^^;)
R5.3.17 課題の解決
音声に反応した口パクと水色の目という2つの課題。
口パクは、robo8080さんの改善策AudioOutputI2S.cpp3カ所への追加のうち、最後の行。INTERNAL_DACでない私の場合は、その下に入れるのではなく、elseの方に入れるんだった。よく読まなければいけません(^^;)
もう一個の課題。uint32_t primaryColorとして色を受け取っていましたが、uint16_t primaryColorと16ビットで受け取ってやると、水色の目が白に変わりました(^^)/ M5AtomS3の液晶の色制限かなと。どこかで、18ビットまで...のようなことを見たかも。
![]() |
![]() |
ついでに、黒背景でなく、白背景にしてみました。単純に、定義するPRIMARY_COLORとSECONDARY_COLORを入れ替えだけと思ったが、悪戦苦闘・試行錯誤の結果、目にクマのある疲れ切った顔になった(^^;)
R5.3.15 Radikoを聴きながら
なかなかうまいこと行かないしコンパイルも長いので、結局とりあえずRadikoプレイヤーにして、放送聞きながらチマチマやることにした。そうすると、デフォルトのavatarではなくて、robo8080さんのM5Stack_WebRadio_Avatarで使われている表情とそのスケッチを使おうと。ただRadikoからの音声getLevelが反映できなかったので、ランダムでの口パク。不思議なことに青色の目となった(^^;)
![]() |
R5.3.12 組み立て
aquestalkのライセンスを購入する前に、HOYAさんのVoicetextが使えないかと。そこで、robo8080さんのM5Core2_VoiceText_TTSをM5AtomEcho用にアレンジしたところ声が出ました(^^)/ robo8080さんいつも感謝です。しかし、音が切れる(^^;) こんな感じ
自宅のネットワークの遅さかな? と思ったが、別のところでも同じ現象だった。M5Stackではそれなりに途切れはわずかだったのに比べ、AtomEchoやAtomS3では途切れたので、ハード性能が起因かな? と思う。速いネットワークではEchoでも大丈夫かも。
R5.3.11 組み立て
いよいよ下右の4つを、内部のサーボの動きを邪魔しないように配置を考えて配線・組立する。それが問題だ(^^;) 失敗しないように少しずつ前へ進む。
![]() |
![]() |
一応組みあがって、こんな感じになった。しかし.....スピーカー音がビビりまくり、サーボが動かない(^^;) 色々試した挙句、PWM_level を 12ビットにしたら、サーボは安定して動作した(^^) この間、壊れたサーボを使って、動かずに悩むということもあった(^^;) よくあること。動きは子犬のようで、満足(^^)
R5.3.11 自作顔で
Avatarの顔をfillEllipseやfillRectやらで描いていたのだけど、赤色が黒になっていた。そこで、robo8080さんのスケッチを参考にあれこれやっていると、何が原因だったのか、何がきっかけだったのか、ようやく色を使えた(^^;)
![]() |
R5.3.8 AquesTalkで喋る
昨年、M5AtomでAquesTalkを喋らせていた時の自作モジュールを発見した。SparkFun I2S Audio Breakout - MAX98357Aを使っているらしい。もう忘れていた。(^^;) M5AtomS3とピン配置が違うがどうにかなるだろう(^^)
![]() |
こんな感じになった。
R5.3.4 スタックちゃん?
ミニのサーボがあったので、スタックちゃんもどきを作ろうかと。
![]() |
![]() |
マイクロビットで使っていた、こんな音声合成LSIも発見!(^^)したので、AtomS3と組んでみた。 こんな感じ(音声大きいので注意)。
![]() |
R5.3.3 AtomS3の始まり
![]() |
やっぱり最初はavatarかな。液晶画面がついているので。TakaoAkakiさんが公開してくださっているスケッチを利用させていただいた。micは無いんだけど(^^;) 最初、スケッチの書き込みで迷いました。
ArduinoIDE環境を使っているけれど、ボード選択で M5Stack-ATOMS3 を選びました。AtomS3を入手したときにはあったのかな? 最初のうちは ESP32S3 Dev Module を使っていた覚えがあります。どちらも使えますが、ツールメニューが変わりますね。ちょっと大きなスケッチを描くときの NO OTA が前者では選べません。いずれできるようになるんだろうけど。ポートを選ぶときにも、場合によって出てくる名前が変わることがあります。関係なさそうだけど。初心者は気になる。LOLIN S3 って誰?
![]() |
![]() |
![]() |
![]() |