2021/12/15 よりサイトリニューアルしました

M5stickCの加速度センサ位置情報をRaspberry piへUDP通信で送信してみる(Python)

udp 加速度センサー

 

前回、M5stack~raspberry pi間のUDP通信についてまとめました。↓

 

前回は、ボタン押下時に決められた文字列を送信するだけでした。今回はM5stickCの加速度センサーを利用して、前後左右+斜めの傾き情報に応じた文字列を、Raspberry PiにUDP通信で送信する方法についてまとめたいと思います。

micropythonとpythonで記述しています。

 

 

初めに

m5stackシリーズのmicropythonについて

MicroPythonは、Pythonの文法を使ってマイコンや組み込み機器のプログラミングができる言語ですが、使えるライブラリなどがpythonと異なったりします。

例えばM5stackシリーズでは、多くの製品でmicropythonでの開発が可能ですので、専用のライブラリが用意されていますが、ネットでの情報量が少ないために少し苦労しがちです。

そこで役に立つのがUiFLOWになります。

 

UiFLOW

M5stackのUiFLOWを使えば、使いたい機能をBlockyで選択することで、タブ切替でmicropythonの記述が確認できます。

uiflow
uiflow2

これ実はBlockyの方が難しいと思う(パズルのルールがややこしい。。)ので、ライブラリ名や主要になる記述を把握する用途で使えば、後は自力でmicropythonを書けると思います。

 

 

プログラム

Raspberry Pi側(サーバー、python)

サーバー側は前回と同じです。サーバー宛てのデータを受け取って、表示させているだけです。

 

M5stickC側(クライアント、micropython)

前回のプログラムに、加速度センサーと、傾きの判定を分かりやすくするためにLCDを発光させる記述を追加しています。

ロール角とピッチ角の値の組み合わせで傾きの判定を出しています。判定ごとに紐づけされている文字列をサーバー側にUDP通信で送信しています。

 

 

確認

こんな感じになりました。↓

https://twitter.com/ketunorobio/status/1487569742231654400

 

次回はこれを応用して、Raspberry Pi ZERO W で作成したメカナムクローラーラジコンを、M5stickCの加速度センサーで制御してみたいと思います。

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です