ProtoPedeiaでレシピ公開する前に、まずはBlogで簡単に紹介して微調整や作込みしていきたいと思います。なのでご意見ご指摘歓迎です。(環境構築など検索すれば沢山あるので、ご自身で頑張って下さいませ。)
※激しい衝撃が加わる場合、M5StickC+が破損する恐れがあります。また、動作を保証するものではございません。十分に注意頂き、ご自身の責任で作成下さい。
開発経緯などは前回記事を参照下さい。前回のと比較し加速度・ジャイロと受信機信号もロギングできます。
詳細はこちら。
ハードウエア構成
以下の回路図の通りです。
今回は分圧回路を使用して電圧ロギングしていますが、適当なアナログ出力のセンサに置き換えても良いと思います。
内部バッテリーを使用する為、M5StickC+側のBatや5Vには接続不要です。内部バッテリー充電時にはロボットとの接続を解除し、USBから5Vを給電して下さい(ロボットから5V供給しても構いませんが、不用意に高電圧流れると壊れます)
回路図と同じですが、参考までに用意しました。
ソフトウエア構成
ソースコードはこちらで配布しています。C言語のお作法も無視しており、リファクタリングもしてませんが恥を忍んで公開します。
PlatformIOで開発しており、他では動かないかもしれません。
file:設定ファイルの読み書き関数。JSON形式。
init:APモードやSTAモードやOTAやローカルサーバの初期化関数。
main:loopとsetupとグローバル変数たち。
sbus:SBUS読込用ライブラリ。
ロギング方法
起動すると待機状態になり、正面ボタンを押すとロギング開始します。
もう一度正面ボタンを押すか、設定した時間が経過すると待機状態に戻ります。
電源ボタン長押しで終了します。
データ吸上げ方法
APモードの場合(通常)
1.ロガーを起動し待機状態のままにします。
2.SSID:"LeopardLogger",PASS:"log"に接続します(インターネットには接続できません)
3.PC(orスマホ)のブラウザから以下のURLにアクセスし、ロガーと接続します。(http://leopardlogger.local)
4.csvファイルをDLして、Excel等で解析します。
STAモードの場合(デバイスをインターネットに接続したままにしたい場合)
1.ロガーにAPモードで接続し、使用しているWiFiのSSIDとPassを設定し、STAモードをONにしてパラメータ送信します。
2.ロガーを起動し、設定したWiFiからPC(orスマホ)を接続します。
3.PC(orスマホ)のブラウザから以下のURLにアクセスし、ロガーと接続します。(http://leopardlogger.local)
4.csvファイルをDLして、Excel等で解析します。
側面ボタンを押したままロガーを起動すると、強制的に現在と逆のモードで起動します。
また、STAモードで3つの候補に接続できなかった場合はAPモードに戻ります。
名前は直球で"ラジコン用ロガー"にしようか迷いましたが、今後も継続したい意気込みをこめて愛機の名前を冠しました。