水位チェッカーを作るよ!(その④:第一部完。おれたちのたたかいはこれからだ)
↑前回(その③)はこちら!
―――
思えば長い(ってほどのこともないw)道のりを歩んできました。
そろそろ最終回。今までの面のボスが中ボスになって総出演する回です(?)
過去の強敵を振り返りながら明日への望みをつなぐ、そんな頃合いです。
いままで……
せっかく買ったスピーカーHatには裏切られ(そもそも想定外の使い方。それに裏蓋開けてるからきっと保証もなくなってる)
お風呂のお湯はだばあして(それは昔のこと)
断腸の思いでジャンパーピンをちょんぎってはんだ付けしたケーブルはオスメスを間違え(自分のせい>< というかジャンパー線をカットするぐらいで大げさな……)
断腸といえば酷使していた3Dプリンタは脱調してへんなオバケを出力しちゃうし(これはぜんぜん関係ないw)
👻👻👻👻👻👻
そんな、さまざまな経験を積んで大きく成長した私とM5Stick-C君は、改めて自らを見つめ直し、ここで最大の敵を迎え撃つべく一大決心をいたしました。
ですって。
もう耐えられないんですって。
なんちゃってw
本人(M5Stick-C)はやる気まんまんなんですけど、やっぱり音出したいわぁというスポンサー(私)のわがままで降板していただくことになりました。
オレンジ色のニクイヤツ(M5Stick-C)に代わってマウンドに上がりますは、そう、彼です。あの四角い顔のやつ。
\よんだ?/
ここのところ枕元で時を刻みつつ温度や湿度を計ってくれていた彼に再登場してもらいます。
元からスピーカーもついていてりっぱに自己主張できる子です。
おとなしいM5Stick-Cちゃんは、ENV-Hatをかぶせてこの四角いやつの代わりに温度チェック君になってもらいましょう。
というわけで、選手交代なのでありました。
ここからはM5Stack編!
散々引っ張っておいてこれですかい。という気もしないこともないですが、まあ、もともとやりたかったのは水位のチェックなんですから、M5Stick-Cにこだわる理由もないわけです。
目的のためには手段をえらんじゃいられないのです。はい。
音を出してみる
とりあえずサンプルコードからスピーカーというのを探して音が出るかやってみます。
画面には何の芸もないですけど、AかBのボタンを押すとピーとかプーとかなります。
けっこう驚きの大音量です。もはや爆音w(StickCちゃん+スピーカーHatよりはるかに大声で鳴きます)
これならとなりの部屋にいてもなったらわかりそう(Slack通知いらないじゃん? むしろ近所迷惑かも? という気もしてきちゃうほどですw)
それと、もう一つうれしい誤算がありました。
ポートがたくさん
M5Stack君のGPIOポートは、メスだけじゃなくてオスのポートもあるみたい。
↑こっちはメス
↑こっちはオス
.oO(雌雄同体ってやつでしょうか?////)
なので、間違って作っちゃったメスのケーブルがそのまま刺さりそうです!(∩´∀`)∩☆
さっすが私。きっとこれを予想して最初からメスでつくったんですよね。うんうん♪
でも、GPIOポートのところを見ると、G25やG26の反対側は「DA」とだけ書かれていて、本当にそのポートなのかちょっと心配になります。(たぶん大丈夫でしょうけど)
ねんのため開けてみましょう。
秘密のヴェールの向こう側
↑M5Stack (BASIC)の開き。
こういう内部までおしゃれにしてくれちゃうのイカスよね~☆ (ここまでは普通に開けるよってことでしょうね)
でも私が見たいのは下半身(BOTTOM)のもっと奥なのw(////) とゆーわけでさらにネジをこじ開けて、白いパン……いえ、板をめくってみます。
あら生々しい。ふふふ。もう飾ることもできなくなってきたわね♪
ってことで、せっかくだから行くところまで行くよーと、この銀色の電池もひっぺがしてみましょう。
べろん♪
むふふ、あなたのひみつ、全部みちゃうですよん♪
馬鹿なことばっか言ってないでテスターさんで両側の対になっている端子間の導通チェックをしてみます。つながっているとピーとなってくれるやつ。よしよし、いい声で鳴きやがるぜ(だからぁw)。
と、いうことで、ちゃんと導通していることがわかりました。
もと通りパ○ツを履かせて、ふたを閉めて、スピーカーの動作を確認してから、いよいよプログラミング。
とりあえずM5Stick-C用に作ったテストプログラムを移植して、そこから拡張していくことにしましょう~♪
ようやくプログラム♪
M5Stick-C用のテストプログラムからいろいろ作り変えていきます。
M5Stick-C時代にはバッテリーチェックできる関数が公式にあったのですが、それはM5Stackでは使えないので、以前の25%毎のやつを復活させ、ソース内に書き込んでいたWiFiやSlackのサービスURLなどをSDカードから読めるよう(つまりは以前のライブラリをそのまま流用ってことですねw)にして、あとは大画面に合わせてちょこちょこと直して……。
うりゃっ!
とりゃっ!
できたっ!☆
どーん♪
画面も大きくなったので見やすくしてみましたよっと♪
この真ん中の「DRY」というときは乾いている状態で、お水にセンサーがドボンすると、
こんなかんじに「WET」になり、そして爆音でピーピーなります(やっぱ五月蠅いw)
でもって、Slackには
このように通知がくる、と。
なんだろうねもう、これ、完璧じゃない?w
M5Stackの電源って脇のスイッチを二度押しとかいうちょっと面倒な裏技的な方法を使わなくてはならないので、画面下の3ボタンはすべて電源オフ用にしておきました。うるさーい! ってとりあえず押せば止まるようにw
それと、電池駆動で電池切れしたら嫌んなので、残量が25%になったら
このように通知がくるようにもしておきました。
んもう 至れり尽くせり!
こりゃもうばっちりですねー☆
プログラム公開
と、いう感じのプログラムを、
↑こちらのGitHubに入れておきました。連載4回目にしてようやくソース公開w
(別にみなさんソースには興味ないでしょ?w 今はまだ作っただけなのでWaterCheckerブランチにしてあります。もうちょっと綺麗にしたらMasterとマージさせますねー)
結局M5Stackで作ることになったので、M5Stackのリポジトリにそのまま入れてあります。(共用する inoファイルとか同じものなんだけど、inoファイルになっているとディレクトリを相対指定とか出来ないのカナァ? 謎~)
※↑カッコの中で言ってる宇宙語がわからない方は、昨日レビューした本を見るかググってみましょうw
まとめ
・M5Stick-Cもかわいいけど、M5Stackもいいね!
・やっぱ音でるといいね! 爆音だけど!
・えっちなのはいけないとおもいます!
では、明日から実運用してみます♪ 使い始めたらまたいろいろ出てきそうだけれど、それはGitHubのほうで少しづつ直していきたいとおもいます。まる。
最期になりましたが、例によってこのプログラムやこのnoteを見て、なんかうまくいかなかったりヤバいことがおきたり、お水がだばあしてハードウェアが壊れちゃったりしたとしても当方は責任負えませんのでそこのところよろしくなのです。
よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費にさせていただきます!感謝!,,Ծ‸Ծ,,