UIFlow All Nite

UIFlow All Nite

M5StickC、MSX1-2-3、Micro:bitなんかイジってみるブログ
I wanna UIFlow all night and party every day.

ワンボードマイコンをいじるときの備忘録代わりのブログ。
内容はいつまで経っても初心者レベル。
ホントに趣味の範疇です。
更新は月1回くらい。
Amebaでブログを始めよう!

前回に続き「駐車場のガイド灯システム」の実装

 

車載ユニットがこれ↓

マイカーのシフトレバーの左手前に設置したく、AtomS3Liteを固定できる何かを考えた結果。

 

24㎜幅で軽く挟んで動かない程度のテンションがかかるもの

 

で、思いついたのがプラスチックモール(配線カバー)↓

左から1号モール、3号モール、2号モール。

AtomS3Liteには3号モールのカバー側がジャストフィット。

 

USB-Cコードが浮くのでサポートとしてちょうど良い高さのものを見つけた。↓

そう、VGAコネクタのキャップ。

 

それらを組み合わせて、100均の「おゆプラ」で隙間を埋めることでボタンを押した際の応力に対応させるとともに、AtomS3Liteの固定とVGAキャップを固定させる。

(そうすると最初の写真になる)

 

見るからにDIY感がたっぷり。

 

屋内側のAtomS3Liteのリレーユニットにも100均のテープLEDを結線させて完了↓

単にケーブルの途中を剥いて、2芯のうち一方を切って端子台に差し込んだだけ。

 

あとはテープLED(1m)を目印として最適な位置へ貼り付けるだけ。 実はそれが一番のキモだったりする...

 

のはずが...うまくいかなかったのでφ(`д´)メモメモ...

 

AtomS3Lite×2+リレーユニットの構成

 

我が家の駐車スペースへ後進入庫する際に駐車位置の目印となるライトを点灯させるのが目的。

特に降雪期は駐車ラインが隠れるのでライトもしくはレーザーで見当を付けたいのだ。

S3Lite1個を部屋内においてライトの制御を、もう一つを車内に置けく。

自宅に近づいたらS3Liteのボタンを押すことでメッセージを飛ばし、ライトを点灯させる。

 

ESP-NOWの相互通信はあっさり出来たが、文字列の送受信がうまくいかなかった。

結果、「文字列はエンコード・デコードしろ」ということ。

(上は送信側、”Light On"をエンコードしている)

 

(上は受信側、espnow_dataをデコードしている)

 

もともとESP-NOWはバイトデータのみの送受信という仕様なので、「何かあるだろうなぁ...」とは思ったが。

何も考えずバイトデータでやりとりすれば一発OKだっただろうけど、あえて文字列にしてハマるスタイルw

そんな感じです。

 

無人になった別宅の室温を監視したくて。

使用したのはM5StackC PlusとENV IVユニット、そしてDLIGHTハット。

 

写真は本宅でプログラミング中のもの。

センサーの出力をLCDへ表示し、ブラウザでも表示できるようにした。

そして今回は15分毎にAmbientへアップロードも。

 

センサーの値はFloat型なので、そのまま表示させると時々7桁表示になってよろしくない。

そこで小数点以下1~2桁に揃えて表示するのに使えるのがテキストブロックのひとつ「○○の小数点以下×桁までのテキスト」を使う。

 

たとえば小数点以下2桁の数値にしたければ元の数字を100倍して整数化して100で割ると求められる...

MSXーBASICでは出来ました。MSXーBASICはBCDで計算してたから。

UIFlow・MicroPythonはBCDで計算してないのでうまくいかない。前述のブロックを使うと吉。

 

Ambientを使うときのメモ

  • データはmapで一括してAmbientへ送る。
  • valueは数値だけ。日付型や文字列はNGだ。
  • keyは"d1","d2"・・・"d7","d8"にする。任意のトークンが使えるわけでは無い。
  • チャンネルIDとwriteKeyは埋め込みだ、気をつけろ。
 

1日間ほど本宅で試験運転後、別宅で運用の予定。

実際は、これの他にペットカメラも設置して、別宅での設備の故障や異変の発生に備える。

今年の冬をこれで乗り越えたい。

 

3月23日 MSX0のクラファン リターンの品々が揃いました。
今回支援したのは、MSX0Stack本体とセンサー40種類のセット。

 

リターン品は、工場完成日の都合で2回の分納。

第1陣(2023年10月)で届いていたのはMSX0本体と周辺機器

(写真1)

 

M5StackでMSXをエミュレーションしてます。(写真2)

ほとんど完全エミュレーション(写真は電源ONのあと、MSXロゴが出てからの~コマンドレベル画面。

おまけで付いてきたZanacというシューティングゲームを試しましたが完璧に動作し、処理スピードも非の打ち所が無い出来。

 

第2陣で届いたのが、こちらI/O関係。(写真3)

Grove Creator Kit-γというのがI/Oパーツ40個のセット。

<スイッチサイエンス様のページ>

 

他にMSX0のステッカーや青いストラップが付属。

ケースの中をチョット公開すると(写真4)

写真4

 

第2陣のリターン品に起案者がオマケを付けてくださいました。
入門者用のセンサーセット「Grove Beginner Kit for Arduino」
<スイッチサイエンス様のページ>

 

嬉しいサプライズです。( ^ω^ )ニコニコ
特にI2Cポートハブは欲しいな~と思っていたので。
箱の中をチョット公開(写真5)

写真5

このセットだって安くないはず。(;゚д゚)ゴクリ…

 

使い途を考えるだけでお腹いっぱい胸いっぱい。

というのも、昔YAMAHAさんで提唱していたと記憶している「YIS」(読みはワイズ)にちょっと惹かれてました。

YAMAHA Integrated Systemの頭文字を取ってYIS。

いわゆるホームオートメーションって当時は言ってましたっけ。

今ならIT住宅とかスマート住宅とでもいいましょうか。

 

その廉価版システムの核となるコンピューターがMSXマシンのYIS-503、YIS-303。

テクノボーイだった自分は、YIS-503とシンセサイザーユニットのセットに憧れたものです。
現実は電器店の店頭展示品のFM-Xを、つてを頼って5000円で購入、アンフェノール9ピン(メス)にビニールコードを半田付けして汎用IOポートに接続。コードの先にはスイッチやセンサー類を。STICK命令やSTRIG命令で状態を読み取ってました。

 

なお、MSX0では_IOTGET(●●●)、_IOTPUT(▲▲▲)といった命令で各種センサーを使用できるのです。

 

実に便利な世の中になった物です。

昔見たホームオートメーションの夢、MSXでふたたび。

 

とても遊びがいがありそう そんな感じです。

 

盆栽を買った時に付いてきた説明書に...

 

「★開花までの注意

一番の注意は水分です。

水分が必要以上に少ないと付いている花芽がカラカラに乾燥して開花に至りません。(以下省略)」

 

って書いてあるから試してみた水遣りシステム。

 

途中からDLIGHTハットを追加して環境光のデータ取りも。

 

 

何事も使ってみて初めてわかる。 基本ですな。

 

ひとまずWatering2Sakura Ver1.1a プロジェクト完了。

結果:成功!

 

でも葉桜になってからの世話が肝心なんやで。

新型コロナの影響で外出を自粛する様になった2019年2月、部屋で花見が出来たらなぁ...という思いつきで試したかった桜盆栽。3年の調査期間を経てついに信頼できる業者を選定、このたび一才桜「旭山」を我が家へ迎えることとなった。
 
 
Watering2Sakura+を設置。
テスト中も水の事故には注意していたが、M5StickCにスケッチを転送した途端ピューピュー噴水状態になったのは良い思い出。
 
念には念を入れて洪水ハザード。
別名、噴水ハザードとも云う。(これは嘘、そんな言葉は無い)
 
桜の周囲に満遍なく水が行き渡る様にプラゴミの中から手頃のトレイを拾い上げ切ったり貼ったり、穴開けしたりして簡易如雨露(ジョウロ)を作成。
 
後は、乾燥具合の状況を見ながらポンプの動作ポイントを決めるシュレッショルドを設定していく。
自動化できたら怠惰な修道士のおいらでも花見ができるかも。
 
でも花芽への霧吹きは自分でやらなアカンのやで。

3年前にM5StickCを購入したとき、よもやこんな日が来るとは思わなんだ。

 

その名もM5Stack用 水分測定センサ付き給水ポンプユニット。

これを購入して使う日が来るとは...

 

届いたその日に早速、私は動作チェックをしてみた。

サンプルスケッチで取水口と吐水口の確認と検知レベルの振る舞いについて調べた。

 

自宅の環境においてセンサーが叩き出す値は乾燥時で2045~2050。

測定プレートに水を掛けると値は1900以下を示した。

 

そこで自動水遣りシステムのスケッチを作成。

名付けて「Watering2Sakura Ver.1.1a」

検出値の表示とポンプのON/OFFを切り替える閾値の設定、ポンプの動作状態表示、おまけに手動で一瞬ポンプを動作させるボタンをリモコン+で実装

本体にはAボタンで一瞬ポンプを動作させるようにし、リモコンのQRコードを表示させる隠しコマンドも実装。

ポンプが動作する都度、LINEで通知が届くようにした。

 

動作試験風景が下の動画(ONボタンをタップしてピュ!)

 

半日動作試験をしてわかったことは、動画ような試験環境で約2時間から2時間20分ごとに検出値が閾値を超えてポンプが作動していたこと。(そのためのLINE)

 

試験結果は期待通りで、まずまず満足。

 

だから何に使うんだってばYo!

処理に成功したらLEDを1回点滅させる。

処理に失敗したらLEDを3回点滅させる。

などのプログラミング・ポリシーを私は制定している。

 

自分の作成するプログラムにおいて統一された使用感を醸すためである。

 

そのための定型処理をカスタムブロックにしてライブラリを作成することにした。

UIFlow Castom Block: MyUtility

 

 

例によって使用は自己責任で、著作権はCopyleftでよろしく。

FDDのベルトが伸びてから仕舞ってあったFS-A1F。

MSX reboot計画の一環として修理してみることにした。

FDDベルトを検索していたら思わぬ情報に行き当たった。

 

それを使って「ツインファミコン(のFDD)が復活した」とか、「YAMAHA SY99のフロッピーディスク(中略)が完全に復活した」と言う。

 

そこで私はサイズ: 90×3mmを1袋購入した。

FS-A1Fをバラす。

 

FDDにそれを取り付ける前の状態。 ベルトは無い。

 

ベルトとして取り付けた状態。 透明なのでちくと見づらい。

 

そして動作チェック。2分弱の動画で。

 

 

でもディスケットの劣化は直せないんやで。ε- (´ー`*)フッ

ブログで扱う内容を一新します。
今日2023年1月15日(日)は、

 

基本セット(Plan A)のGroveセンサーキットが10ヶ→40ケに増量したもの。 支援額は基本セットの金額+12k\

 

事前情報ではAll or Nothing方式で実施すると言ってた気がするんだけど、今回はAll-in方式でやるとクラファンのサイトには書かれていた。それはそれで僥倖なり。

 

募集終了まで残り75日、リターンの発送は今年7月の予定。

それまでにMSX実機のレストアとソフト資産の点検、M5Stack系のスキルアップができるかなぁ。

 

捨てずに取ってあったMSX関係の古い本