方言を話すおしゃべり猫型ロボット『ミーア』をリリースしました(こちらをクリック)

開発・デザイン

Web(Python)

【X(Twitter) bot】GASでスプレッドシートから自動投稿するX Botの作り方:①準備編

Twitter developerアカウント登録して、Client ID・Secret取得し、User authenticationを設定する。GASでtwitter認証を作成し、OAuth2ライブラリ追加して、Twitter API認証処理のコード作成する。
アプリ(Flutter)

【Flutter】ユーザー作成フレーズをシームレスにロードする無限スクロールの実装方法

状態管理を拡張し、フレーズのリストに加えて isLoading や hasMore を含むクラス (UserPhraseState) を使用することで、UI 側でフレーズのリストが空かどうか、データがロード中かどうか、さらにデータが存在するかどうかを正しく判断できるようになり、無限スクロールできるようになった。
ミーア

【ESP32自作基板】配線エラーによるスピーカー音割れ・再生されない原因の調査(拡大鏡・オシロスコープ)

クラスDアンプのICパッケージをTQFNからWLPに変更したところ、25個のうち4個がスピーカー周りで下記不良品だった。音割れ・音声が再生されない原因調査をする。アプリでまず音量を下げて音割れが解消されるか検証。次に拡大鏡を使って、配線不備がないか目視確認
開発・デザイン

【ESP32自作基板】オシロスコープで電圧測定による基板不良原因調査をした結果

配線の電圧を測定したい場合は、基板上の配線がレジスト(絶縁層)で覆われていることが多いので、そのまま配線の上からプローブを当てても電圧は測定できないので、測定したい箇所にカッターで軽く傷をつけ、銅箔部分を剥き出しにしてから電圧を測定する。
ミーア

【ESP32自作基板】表面実装エラーを起こさないように、電源ノイズ対策を加味した回路に修正

MAX98357 自体は、ESP32 WROOM 32Eの25,26,22ピンとつなぐ必要がある。I2S信号(BCLK、LRCLK、DIN)の配線は短く保つことで、信号の劣化やクロストークのリスクを低減できるので、ESP32の25, 26ピンにできるだけ近接させる。電源周辺の回路で電源ノイズ削減のためにデカップリングコンデンサの最適化を試みる。
ミーア

【在庫問題】注文時に部品在庫切れだったら?JLCPCBの予約事前注文(Preorder)を使う

今回のように注文しようと思ったら在庫切れ問題に対応するために、JLCPCBではPreorderができるとのこと。PCB アセンブリの注文を行う前に部品を注文し、PCBA サービスが必要になるまで JLCPCB で在庫を保管できる。この予約注文部品は、基板と別々で部品だけ送られてくるのではなく、基板と一緒に(表面実装もお願いしていたら表面実装も行う)送られてくる。
開発・デザイン

【電子回路】基板100個取付した所、不良品が見つかりJLCPCBにQuality Complaintを提出

JLCPCBに100枚の基板を発注したが、実際にはピンヘッダー部分が微妙に水平ではないものがあり、結果として、LCDディスプレイ同士が干渉してハマらないという問題が発生。JLCPCBの注文履歴欄に「Quality Complaint」の欄があるのでき、不具合内容と不良基板の枚数を入力していく。
開発・デザイン

【MAX98357A】クラスDアンプのICパッケージをTQFNからWLPに変更

ClassDオーディオアンプのMAX98357Aシリーズには、TQFNとWLPパッケージの2種類がある。 WLPパッケージは、従来のTQFNパッケージと比較して小型で、高価なスルーホールビア(PCBを通過する接続ピン)が不要で、コスト効果が高い。
アプリ(Flutter)

【Flutter】ffmpeg_kit_flutter_audioを使って、m4aをmp3に変換する方法

ffmpeg_kit_flutter_audio パッケージを使用して、m4aをmp3に変換する方針に変更。このパッケージは、外部ライブラリを使用して幅広い形式に対応しており、mp3形式への変換に必要な lame ライブラリが含まれている。
アプリ(Flutter)

【Flutter】flutter_soundを用いた音声録音再生、アップロード機能の実装

flutter_sound, file_pickerパッケージを利用して、flutterアプリでユーザーが音声録音再生、音声ファイルアップロードできるようにする。flutter_soundパッケージを使って音声録音機能を利用するには、XCodeでマイクへのアクセス許可をリクエストする必要がある。