私 (moshirobo)のアカウントで投稿してるスタッフが実は何人かいるわけですが、コピーライターみたいで面白くないですか?明らかに書き方の差が出てますけどね(笑)

令和のブログ初投稿な本人のmoshiroboです、こんにちは!

スマートハウスシリーズ第5回目です!

改めて商品を紹介します!

・ELECFREAKS micro:bit Smart Home Kit (with micro:bit board )
https://www.vstone.co.jp/robotshop/index.php?main_page=product_info&cPath=942&products_id=5164

こちらは、micro:Bitを使用して、スマートホームを仮想的に構築するキットです。

いわば、大人のリカちゃん人形セット

…では無いですが、ミニチュアハウスを作るって意味では似てますよね。たぶん。

さて、今回は「引き戸を開け閉めするとLEDがついたり扇風機が回ったりするプログラム」です!

変数を使って少し工夫してますので、ちょっとややこしいです。

2019/06/07 追記
——————
スマートハウス的な説明をしますと、

中の人はリビングからスタートして、
個室に入ったら、リビングのファンが止まって、個室のLEDが点灯する

リビングに戻ったら、個室のLEDが消灯して、リビングのファンがつく

という想定です。
(部屋を移動する際はドアをきっちり閉めるという前提です!)
——————

簡単にプログラムの内容を説明すると、

①引き戸が閉まっていると、扇風機が回る

② ①のあとで引き戸を開けると、扇風機が止まる

③ ②のあとで引き戸を閉めると、奥の部屋のLEDが点灯する

④ ③のあとで引き戸を開けると、奥の部屋のLEDが消灯する

⑤ ①に戻る

って感じです。

つまり、

引き戸を開け閉めする”回数”によって、

扇風機が回るか、LEDがつくかが変わるというわけです!

プログラムはこんな感じです。

・・・ややこしいですよね(笑)

ちなみにバグ…?でしょうか、動作が上手くいかないパターンがありました。

プログラムの画像2枚目の、
「もし count = 0 なら」
「でなければもし count = 3 なら」

の2行は元々、

「もし count = 0 または count = 3 なら」

にして、中身をcount=0とファンを回す処理にしていました。

すると、なぜかドアを開けてもファンが止まらなくなりました。

原因がよく分からないのでとりあえず2行に分解したところうまくいきました。

謎です。。。

明示的にcount=0ならcount=0にするって書くのは良くないのでしょうか?

…まぁとにかく動いたので、動画を貼っておきます。

ちなみに実際のイメージは下の動画です(雑でごめんねRobiくん(笑))

いかがでしょうか?

変数を使ったプログラムは頭の体操に良いと思いますので、たまにプログラミングしたくなります(笑)

それではまた!