1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

M5Stack Grayで赤外線受信をリハビリプログラミングしてた話...

Last updated at Posted at 2021-07-06

久しぶりにM5Stackを使ってみた時の話を書いてみました。Qiitaは初心者なので温かい目でお願いしますm(_ _)m
また、以下のものは動作を保証するものではなく、ファームやIDEなどの設定などは割愛している部分が多いです。

概要

  • 準備
  • M5GOを使ったアプローチ
  • ファーム入れる
  • UIFlowでプログラミング
  • Arduinoを使ったアプローチ
  • ファームを入れる
  • Arduino IDEでプログラミング

準備

まず、手元にあったM5Stackは少し前に買って遊んでいたものの、しばらく放置プレイ状態になっていたものを、久しぶりに使おうと引っ張り出してきたところから始まります。しかし、単品しか手元になかったため、Switch ScienceにてM5Stack用赤外線送受信ユニット(¥728*送料込)をポチりました。
ただ、自分が持ってるM5Stack Grayでは、GroveポートAタイプ のI2C通信専用で、今回のような赤外線(IR)などの部品には非対応だということが判明し、物理的につなげたのが以下の画像。非常にわかりにくくなっていますが、INと書かれたピンを36番ポートに、OUT26番ポートにそれぞれつなげました。どのポートに繋げればいいかは、GroveポートBタイプのピン番号の仕様を参考にしました。
_IMG1936.JPG

M5StackをM5Goでアプローチ

ファームを入れる

ただ、いざ繋げてみて"Hello World"を書き込もうとしても全くダメだった上に、どのファームを書いたかも忘れてしまったので、ググってみたところM5Burnerを使えばうまくできるようだったので、UIFlow(画像内一番左のもの)を入れてみました。

UIFlowでプログラミング

次に、UIFlowでプログラミングをブロック状のを組み立ててやっていきます。
この過程での話ですが、ブロック→Pythonは普通に切り替えができるんですが、プログラミングした後でPython→ブロックがダメらしく、切り替えようものならブロックで組み立てしていた時点までリセットされるという、少々めんどくさい仕様になってました。
スクリーンショット 2021-07-01 16.54.50.png
左中程にUnitsと書かれたところがありますが、Unitsから赤外線データの読み込みはあまり相性が良くないのか、アナログ・デジタル読み込みで以下のように試してみました。


こちらでは、デジタル読み込みを試してみた様子です。この時に36番ピンに繋がっていたものを、一時的に2番ピンに差し替えています。

以下はシリアルモニタの状況

しかし、それでも出力値が、自分の思うような結果を得ることはできませんでした。
そこで、さらに調べたところ、赤外線データはArduinoIRremoteESP8266を使うことで、どうやらメーカー毎に細かいデータを得ることができるらしいことがわかったため、UIFlowを使ったプログラミングはここで切り上げとなりました。(ただのカカシですな...)

ArduinoIDEでアプローチ

ファームを入れる

こっちのファームは以前入れたことがありましたが、すっかり忘れていたので慌てて調べる羽目になりました。少なくともファームは更新されてなさげだったので以前DLしたものを使いました。

$ esptool.py --chip esp32 --port "M5Stackつなげたポート" write_flash --flash_mode dio -z 0x1000 "各自のディレクトリ/m5stack-20180516-v0.4.0.bin"

この後にも、ArduinoIDEでM5Stackを使えるようにする作業が必要になったりするんですが、以前に使った時の物がすでにあったためここでは割愛しますが、ようやくArduinoIDEで書き出せるようになりました。

ArduinoIDEでプログラミング

今回は IRremoteESP8266IRrecvDumpV2のスケッチ例をもとにM5Stackで使えるようにカスタマイズをします。

以下は、書き換え後(左)と書き換え前(右)のものを比較したものです。



主に変えたところは、スケッチ例の初期ではArduino仕様で書かれている部分をM5Stackに合わせて書き換えています。また、一番最後の方では、シリアルモニタで出力されたデータを、一部M5Stackの画面に表示するためのものを追記してみました。画面があまり大きくないので、一つだけのデータを出すことにして、一行にデコードされたCodedataのデータが格納されたresults.valueから取り出しました。

最終的に、M5Stackで実行したものが以下の通りです。結果の数値を一部隠していますが同一の値が出ています。(M5Stack画面)

(シリアルモニタの結果)

今回はこの辺にしますが、今後はもっと色々組んでいきたいと思います。
最後に、この素人のページにわざわざ立ち寄っていただきありがとうございました。

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?