M5StickC Yun Hatのサンプルコードを動くようにしてみた
はじめに
先日、M5StickC Yun Hatを購入しました。雲の形をしており、気温、湿度、気圧の計測が可能で、なおかつフォトトランジスタとLEDがくっついている製品です。
M5StickC Yun Hatを試してみました。サンプルコードでは気温、湿度、気圧が表示できました。 pic.twitter.com/x5125Bt0GI
— クラクス (@kuracux) September 14, 2019
M5StickC Yun Hat(SH20,BMP280,SK6812)m5stack.com
さっそく動かしてみようと思い、公式のサンプルコードを持ってきて実行してみました。 github.com
しかし、そのままでは以下のようなエラーが出て動きませんでした。
Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
本記事では、こちらの問題への対応について記述しますが、別のケースでもたまに間違えてしまいそうな内容だと思ったのでご紹介します。
※YUN.inoに記載がありますが、Adafruit_BMP280についてはインストール済みであるという前提です。
開発環境
- ArduinoIDE
- Windows10
対応内容
色々と試しましたが、私のケースでは以下のことが原因でした。
フォルダ名とinoファイルのファイル名の不一致(大文字小文字の不一致も含む)
Githubに上がっているフォルダ名とinoファイルのファイル名を見てみると、以下の通りです(比較用にbeetleCの場合も載せています)
フォルダ名 | ファイル名 | |
---|---|---|
Yun Hat | hat-yun | YUN.ino |
beetleC | beetleC | beetleC.ino |
私の場合、フォルダ名をhat-yun→yunに変更して動かそうとしていましたが、フォルダ名をYUNまたはファイル名をyun.inoに書き換えることで動かすことが出来ました。
よくよく考えると、確かにArduinoIDEでinoファイルを新規作成して保存するとファイル名と同名のフォルダ配下に格納されますもんね・・・。
おわりに
動作しない原因はコードに問題があるというよりも、フォルダ名とファイル名の問題でした。
一方で、別の話となりますがコード自体は改良の余地があると感じています。 たとえば使っていない変数が残っていたり github.com
また、黄色にしか点滅しないことやアンダーフローのような動作をする点もあります。
暗くすると光りますね(フォトレジスタが入っている理由) pic.twitter.com/SREzLVOyuN
— クラクス (@kuracux) September 14, 2019
ですので、こんな感じに変えてみたりしました。
M5StickC Yun Hat、雲の縁部分の色が黄色固定になっていたので、ある程度自由に設定できるようにしてみました。 pic.twitter.com/6XTmbqax2P
— クラクス (@kuracux) September 14, 2019
色々と出来ることはありそうなので、遊んでみようと思います。