M5stackの画面が出なくなった

珈琲時間のおともにちょこちょことパズル感覚で遊んでいるM5stackなのですが、つい先日とうとう壊してしまったかと思う事態に陥ったので忘れないうちにメモ書き。

ようやく再び表示が出るようになったM5Stack
センサを抱きすぎるとどうも見た目がスッキリしませんねぇ

まず、いつの間にか実験机の周りにはM5stack BASIC、M5stickCplus、M5atom liteが転がっているようになり、なんだかんだと遊ぶにはコスパのよいものたちだなあと感心していたわけなのです。

購入した順序でいくとM5stickCplusがもっとも最近なのですが、どうやら今回の顛末はここがキーポイントのようです。

■更新すると画面が真っ黒なままに

というのも、ある日、珈琲をのみながら不具合のあったソースを少しだけ改良して持ち帰って喜び勇んでM5stack BASICに転送したわけなのですが、ふと画面をみると真っ黒なまま。

でも、シリアルモニタには動作情報が刻々と表示されているのでまったく動いていないわけではなさそうな雰囲気。
ただ、いつもバイナリ書き込みの際にダストセンサーをつないだままにしておくと書き込みに失敗するので取り外して配線がブラブラしたままで作業をするのが習慣化していました。

今回もバイナリ書き込み中にケースをあけて配線の整理などをやっていたので、もしやブラブラしていた配線がなにかにショートでもしたか?!と疑ってかかってしまったのも問題を特定するまで余計な時間がかかった敗因です。

自分のコードをいくらコンパイルし転送しなおしても画面が出る気配がないので、サンプルスケッチからFactoryTestを開きコンパイルして書き込んでみるも、やはり画面表示だけが出てきてくれない状態。万事休すか・・・

■FactoryTestのバイナリを直接流すと復活

先日からなにやら1000円ほど値上がりしちゃったからM5stack BASICを買いなおすのもなんだかなーと思ったりしながら、念のためにWindows機でEasyLoaderをダウンロードしてきて(Mac版だとERASEの機能が見当たらなかったので)フラッシュのERASEとFactoryTestの書込みをすると無事に画面が表示されました。

こうなるとソフト的な問題なのか?と思いながら、でもソースの改変部分って中身の計算だけでハードウェア制御にかかわるような部分には触れていないし・・・ライブラリが変わった?と不思議に思いつつ、M5.begin()の引数をあれこれ触ってみて M5.begin( true, false, true, true )とすると画面が正常に出るんですね。

でも、引数を省略したりM5.begin( true, true, true, true )とすると画面が出ない。
M5StackのM5.begin()で第二引数をfalseにするとSDカードへのアクセスができないからファイル操作や日本語フォントが出てくれないなど困ったことがいっぱい。

さんざん、あーでもないこーでもないと悩みまくってとりあえず頭を冷やそうかと諦めかけたとき、ふとArduinoの設定をみると、M5stack-Cと出ている!!

M5stickCのボード設定
M5StickCplusにあわせたボード設定

なんと、M5stack-Cを弄ったあともとに戻すことを忘れたままM5stackに接続し、しかもコンパイル時にもなんらエラーも出ないので完全に見落としておりました。凡ミスも良いところです。

M5Stackのボード設定
M5Stack BASICにあわせた設定。こっちにしておかなかったのが誤動作の原因。

■M5.beginの引数の意味が変わるとは

M5stackシリーズのM5.begin()関数って、それぞれのモデルによって引数の数が違ったり意味が違ったりするんですよね。
なので、M5stackCのままでLCDとSDをtrueにしているつもりだったのに、まったく違う動作になってしまっていたからかと納得しました。

間違ったままコンパイルしていたことで、画面が出なかったり、画面が出てもSDカードにアクセスできなかったりといったことが発生していましたが、すべては設定ミスが原因です。
(ついでにType-Cケーブルにはやはり裏表があることも初めて経験しましたが・・・)

そのため、結論から言えばEasyLoaderのERASEの機能を使う必要は無かったですが、それでも経験値としては少し積むことはできたのかなあとポジティブに捉えておくことにしたのでした。


消えちゃった動画や写真データの復元は
安心安全な『株式会社パソコントラブル救助隊』へ。
https://hqsecure.net/

安価にCO2センサーを作って換気の目安にしてみよう

簡易CO2測定器
メタルラックの棚板にも磁石でくっ付いた!

ここ大阪市内では本日よりふたたび飲食店の時短営業がはじまってしまいました。ここのところの急激な新型コロナ感染者数の増加ペースを抑え込みたいとの措置なのは理解できますが、昨年からダラダラと続くこういった措置での飲食店さんの痛みはいったいいかほどのものだろうかと想像するだけでもぞっとします。

CO2センサーが巷で求められるように?

そんななか、やはり狭い空間で人が密になることによって感染リスクが高まるということでそれを避けるためにも換気が重要なわけですが、なんの目安もないと真冬や真夏だけでなく花粉・黄砂シーズンや梅雨時でも換気はおっくうになるわけで、CO2センサーの値を目安に換気しようではないかという言葉がチラホラと耳に入ってくるようになりました。

いろんなパーツ
M5stack Basic、M5StickCplus、M5atom liteはお値段も手軽で良いですな

うちは趣味レベルではありますが居室の埃っぽさに辟易してダストセンサーを組んでみたときについでにいろんなセンサーもくっつけて遊んでいたわけですが、そのときに買い込んだものが机のうえに散らばったままの状態です。

小さくて便利なものが増えてますよね

その中でも特にM5stickCPlusなどはちょうど良いサイズ感で手軽にプログラムでき、内蔵のマグネットで適当な場所にくっつけておけるという魅力にハマってしまっています。

M5stickC plus
画面が大きくなったのが最大のウリのようです

なにせ、この小さな筐体のなかに135×240ドットの液晶表示や120mAhのバッテリーを内蔵し、RTCや6軸センサー、MICやIRやブザーやLEDまで含まれているという贅沢な構成。

M5stickC plusの背面の説明書き
贅沢な内部構成が所せましと書かれていてルーペ無しでは読めません!!

もうちょっと安価な従来モデルのM5stickCでも必要充分かなと思ったものの、大きな画面と贅沢な構成はいずれほかの用途に使いまわしたくなった時にも役立ってくれるだろうと、購入時点で+500円ほどの差は先行投資としては安いものかと判断してCplusのほうを手に取っていました。

と言うわけで、あとはありあわせのものでCO2センサー化。
と言っても単純にGroveポートにガスセンサーのSGP30を接続して、以前にM5stack用に作っていた江戸時間時計プログラムのセンサー処理部分だけを抜粋して流し込んだだけのお手軽なものですが。
ほんとにCO2を測る必要があるならMH-Z19あたりの直接CO2を測定できるセンサーを使ったほうが良いのだろうけどコロナ云々ではCO2そのものが悪者というわけでもないし、とりあえず換気の目安という意味ならばSGP30のような簡易なのでも充分使えるかなあ。

Groveコネクタにガスセンサーを接続したところ
コネクタ部分だけはまだ改善の余地がありそう

加工らしい加工はしてないですが

ちょっとケーブルが長いので近々コネクタ同士をくっつけるなりなんなりの加工をしたいとは思いますが、どうしても電源用のUSBケーブルだけは繋いでおかないと内蔵バッテリーだけでは1~2時間しかもたないところが残念なところ。(それでもちょっとの間ならバッテリーで駆動できるというのはとても有難いですが)

ところでM5stickCplusをはじめM5シリーズの値段が先週くらいから急に高くなったような気がするのは税込み表示のせいだけなんだろうか?気のせい?


消えちゃった動画や写真データの復元は
安心安全な『株式会社パソコントラブル救助隊』へ。
https://hqsecure.net/