私 (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くん(笑))
いかがでしょうか?
変数を使ったプログラムは頭の体操に良いと思いますので、たまにプログラミングしたくなります(笑)
それではまた!