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/

PS3周辺機器のBDリモコンCECH-ZRC1Jを分解

純正品のBDリモコンって買いなおそうとするとなぜか高いんですよね、とても便利なのに。

ZRC1J分解写真
上ケース・ボタン・基板と下ケース

もう時代はPS5ですが、いまだにテスト機としては古い機材のほうが便利なのでPS3がときどき稼働してくれています。

ただ・・・操作するためのコントローラ(DUALSHOCK3)は徐々に調子が悪くなってきて、なんとなく買い替えるにもコスパが悪くどうしたものかと。そこに、ちょっと調子の悪い(ボタンの戻りが悪い)専用リモコンが転がり込んできたので分解してみることにしました。

ねじ止め部分が無いので分解は簡単

このリモコン、ねじ止めなどはされていないので上下にはめ込まれているだけになります。なので分解するときには上下の隙間からツメを1つずつ外していく地道な作業が必要になりますがスマホなどの分解に慣れている方であればたいした難易度ではないでしょう。

私も日常的にUSBメモリなどの小さな製品を極力綺麗に分解することを生業の一つにしているわけで(作業後に分解した痕跡すら見えないくらいになったらこっそり喜んでいます)、それに比べたらとても楽な作業です。

上側ケースのツメアップ
上ケースのツメ部分2つをアップ

ツメは下側(電池ケースがわ)にあり、上側(ボタンがあるがわ)を引っかける形になります。なので上下の隙間から下側(電池を入れるがわ)方向にリムーバーを突っ込むイメージで両サイドに10か所ほどあるツメを丁寧に外してしまえば上下に分かれます。

この時、内部の基板はフレキ状のペラペラなものですので無理な力をかけて破いてしまわないようにしましょう。もし破いてしまったら修復は効きません。

ケースのツメ部分
赤丸のあたりにツメが引っかかる部分があります

基板は下側のケースのさらに中(赤外線LEDがあるあたり、テンキー部分の左サイド)に挟みこまれるような形で電池などと接続されているようで、うっかり基板を持ちあげようとすると破れて使い物にならなくなってしまいます。なのでボタンを剥がずときにはゆっくり慎重に行ったほうがよいでしょう。

上側のボタンは基本的にすべてラバーで繋がっています。ただしEnterキーの周囲の上下左右キーとPSボタンだけは独立したプラ部品として溝にはまっているので、落としたり割ったりしないように注意してください。

私の場合、上下左右のキーの戻りが悪い原因がこのプラ部品と上側ケースとの隙間に粘着質な何かがしみ込んでいたのが主な原因だったので、ウェットティッシュなどで綺麗にふきとることで万事解決です。
その他の部分もクリーニングが済んだらもとにもどし、上下のユニットをはめ込んでしまうのですが、ペラペラの基板を変なところに挟み込んでしまわないように注意しましょう。

動作確認とBDリモコン再設定

電池を入れたらまず動作確認のためにLEDが点灯するボタンをどれか押してみることにします。たとえばDEVICESのTVボタンやPS3ボタンは押した時点で1秒ほど赤く点灯するのでわかりやすいですね。

正常に動作していることが確認できれば次はPS3とのペアリング(これはPS3を起動してメニューからBDリモコンの設定を選ぶと、あとは画面の指示に従ってボタン操作するだけで簡単です)と、TVのメーカー設定が必要になります。

TVのメーカー設定はDEVICESの表示の下のTVボタン(押すと赤く点灯するボタン)を押しながらCLEARボタンを押すことで赤LEDが点滅して設定モードに入ります。

その状態で三桁のメーカー番号(例えばシャープ製の場合119や120,121,122・・・など)を入力してEnterキーを押すと完了です。

以下、リモコンコードの設定部分とメーカーリストを掲載しますので参考にしてみてください。

メーカー別リモコンコード表
取扱い説明書よりリモコンコード部分を抜粋

三桁の入力後にEnterを押すのを忘れていつまでも設定ごできないなーと悩むことのないように(私がそうでした)

もしメーカー表にないTVを使う場合には過去のこんな記事を参考にしてみてください。

完璧に動くようになったので長く活躍してもらえそう

設定さえ済んでしまえば基本的にBluetoothでコントロールするリモコンなのでPS3本体の設置場所を気にする必要もないし、なかなかしっかりしたつくりでまだまだ使える印象の強いリモコンです。

なぜこれをPS4やPS5でも使えるようにしなかったのか不思議でなりませんが・・・内部のつくりを見るとけっこうな精度を要求していた様子なので、当時の販売価格を考えたらソニーさんにとっては製造コスパが悪かったのかもしれませんねえ。


消えちゃった動画や写真データの復元は
安心安全な『株式会社パソコントラブル救助隊』へ。
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/

M5stackを初いじり-江戸時間時計を作りました

いったい世間に遅れること何周回めだろうというくらい、いまさらかと言う声が聞こえてきそうですが^_^

やはりこういう小さいモノをいじるのはもともと大好きなのでついハマっておりました、M5stack。

中を開けてみてみるとなにやらぎっしり
ボトムモジュールを外した中身

つい先月にRaspberry Pi Picoをいじりはじめ、なにかセンサーでもついけて室内のCO2濃度でも測定しておこうかと思いつつ・・・画面がついててバッテリーも内蔵でかなり手軽そうなM5stackも一度くらい触ってみたいなーと、ほかの部品を注文するときについでに1つ確保してしまいました。

重量はわずか50gほど
microSDカード込みで51gほど

触ってみると画面があるというのはとても快適で、しかも軽量コンパクト。50gほどと軽くて手のひらにすっぽりと包み込めるサイズです。画面があるおかげですぐになにかしら結果を見ることができるというのは良いもんだなぁと痛感しているところです。

で、誰もが通るであろう時計表示でもさせてみようかとさっそくArduino IDEを入れて、夜な夜なポチポチと見様見真似でいじりはじめ、あっさり動いたらなぜか100円ショップで売っていそうな感じに仕上がってしまいました(笑)

まずはサンプル通り現在時刻表示
なぜか盛大に日付を間違っておりますが…この時点ではぜんぜん気づいていないという

せっかく現在時刻表示ができたので、ついでに日の出時刻と日没時刻を計算させて、さらには時代小説を読んでいるときにちょっと感覚としてわかりにくい江戸時間についても不定時法ベースで表示させるようにしてみました。
(皆さんご存じかと思いますが不定時法って昼と夜で一刻の長さが異なり、しかも毎日のように日の出と日没の時間で変わってくるので割と面倒な計算になるんですよね)

ひとまず完成、江戸時間時計。
時代小説を読むときに感覚が掴みやすいよう、江戸時間の表示つき時計になりました(笑)

単純にあれこれとコードを追加していくうちに処理にかかる時間が無視できなくなってきたので、処理しなくてよい条件を考えていくのはなにやら8ビットパソコンで機械語で組んでいた当時を彷彿とさせるなぁなどと思い出してしまいます。

いまどきだと安価で手軽に入手できるスマホでもハードウェア的にはとてもパワフルなので何も考えなくってもスルスルっと動いてくれるのですけれど(そのぶんだけリソースを消費しまくるアプリを賄うのが大変なのでしょうけれど)、むしろこういったハードでじっくり考えて無駄を省くのもなにかパズル的で楽しいものがありますね。

はっ、
こんな趣味的なものでパズルを楽しんでいる場合じゃなくって、はやく実用になるものを作らないと!!


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

Raspberry Pi Picoを買って動かしてみました

■買ってみました。税込み580円のおたのしみ。

つい先日発売されたRaspberry Pi Pico、実は某サイトで無料プレゼントしますという募集があったので応募してたんですが、当選通知が迷惑メールに埋もれていて気づいた時にはすでに期限切れという悲しい目にあってしまいました(涙)

が、しかし気を取り直して、仕入れのついでに電子部品屋さんを覗いてみると5個くらいまとまったものと1個単位で売られているものとがあったので、ひとまず一つ580円で自腹購入。

こういう自腹出費の積み重ねがけっこうな額になってたりするのが困ったものだよなぁ・・・どうせ実験に使うのだし、まとめて買うときにはちゃんと領収証をもらおう。

Raspberry pi pico購入直後の写真

サイズ的にはRaspberry Pi Zero Wみたいな印象だけれどももっと実装されているものが少なくシンプルな基板。microSDカードなどを別途準備する必要もなくPIOも豊富な様子なので、何か手軽に実験したいときに役立ってくれそうな感じです。(Pi ZeroなどのようにLinuxが動くわけではないですが)

さっそく持ち帰って実験用に常時スタンバイしているRaspberry Pi 3B(そろそろPi 4Bがほしいなぁと思うことが多くなってきたのですが…)につないでマスストレージとして認識してもらい、指示に従ってMicroPythonのファームウェアをダウンロード&インストールして準備完了。

■あれれ、説明画面とちょっと違うぞ

すでに多数の勇者さんたちが実際に入手して解説をアップされていますが、個人的にわかりやすいなーと思ったサイトを参考にして動作確認をこころみました。

が、しかし、ラズパイ3Bに最初から入ってるのに初めて開くThonny IDEでなにか動かしてみようとしてもなんだかご機嫌ナナメ。

ラズパイでThonny IDEを使用している写真

どうも私の使っているラズパイが全体的にバージョンが古いままになっているのか、ターミナルからアップデートをかけようとしても見つからない。

ラズパイそのものの環境構築を初めからするほどの時間も見当たらなかったので、とりあえずなんとか動いてくれないかと触っているとInterpreterタブのなかで「MicroPython on a generic device」を選択し、Portを「Board in FS mode – Board CDC (/dev/ttyACM0)」に設定したらなんとか動くようになってくれました。

Thonny optionsの写真

テスト用のコードを適当な場所に保存し、Thonny IDEの実行ボタンを押すと・・・そっとPico上に実装されているLEDがピカピカ。
ついでにPicoに内蔵されている温度計のデータもThonny上に表示させてみるとちゃんと値が返ってくる。ひとまずの動作確認はこれでOK。

picoがピカピカしている写真

まだ個人的にはサンプルを動かしてLEDがピカピカしたり内蔵の温度計から値を拾ってくるくらいしかできてないが、なんだか面白そう^_^

若干、USBケーブルの抜き差しを繰り返すとコネクタ周辺が弱ってしまいそうな気はするけれどもそれ以外には実装されているパーツも少なく、落としても壊れそうにない安心感が気軽に使ってみようという気にさせてくれます。

本気でなにか活用したくなったらまとめ買いしてきてもお財布の中身に優しいし、C/C++でも書けるようだし、そもそもmicroSDも使わないから急な電源断の心配もしなくてよさそうだし、自由度が高そうな印象です。


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