PR

【マイクロビット】LEDの明るさを連続的に変える

ブログ

LEDの明るさを制御する方法は?

こうした悩みを解決します。

姫野秀徳

組み込みエンジニアとしてメーカー勤務10年。
第二種電工事士、基本情報技術者、Code.org認定教師。
microbitを用いた電子工作&プログラミング教室を開校。
組み込み開発の実際を発信するyoutube活動も行う。

無料で学べる組み込み開発オンラインスクールはじめました!
https://kumicla.tatepro.com

姫野秀徳をフォローする

はじめに

こんな感じでハートがキュンキュンするプログラムを作ります!

microbitやるならこのキットが断然オススメ!

これからmicrobit本体を購入するならケーブルや電池ボックスもそろったこちらをどうぞ

LEDの明るさを連続的に変えるプログラム

作りたいプログラム:

LED全点灯させておき、明るさを0に設定(=消灯)
最小から最大まで少しずつ明るくします。
最大まで到達したら、今度は少しずつ暗くしていきます
最小まで到達したら、今度は少しずつ明るくしていきます
以降、これを繰り返します

はじめにコードを示します。

ソースコードを共有しているので、自分のmicrobitに書き込んで動作を確認してみましょう!

LEDの明るさを連続的に変えるプログラム
Made with ❤️ in Microsoft MakeCode for micro:bit.

動作説明

初期化(最初だけ)

はじめに”LED画面に表示”ブロックで、ハートのLEDを設定します。
続けて2行目で、明るさを0に設定します。

変数ブロックで「暗→明フラグ」を宣言し、3行目では初期値として真(=TRUE)にします。

「暗→明フラグ」は明るくするのか暗くするのかの状態を示す変数として宣言しており、TRUEで明るく、FALSEで暗くするということにしています。

繰り返し(ずっと)

予め変数として「明るさ変数」を宣言しておきます。

明るさはLEDの光の強さを表し、その範囲は0〜255となっています。

明るさに関する資料詳細は公式を参照ください。

明るくする

明るくする(暗→明フラグ == TRUE)なら、明るさ変数を現在値から4大きくします。
もし明るさ変数が最大値の255以上(明るさ≧ 255)になったら、暗→明フラグをFALSEにします。これ以降暗くなっていきます。

暗くする

暗くする(暗→明フラグ == FALSE)なら、明るさ変数を現在値から4小さくします。
もし明るさ変数が最小値の0以下(明るさ≦ 0)になったら、up=1にします。これ以降明るくしていきます。

課題

上図のコード例にはいくつか問題があります。

①明るさが0と255になりません。なぜですか。

②明るさを0と255で往復するにはプログラムをどのように変更すればよいですか。

③コード例のプログラムで明るく(暗く)していく時に、もし明るさ> 255(明るさ< 0)とした場合、動作はどうなりますか。

応用問題

まず下の動画をご覧ください。

・最も明るい時に音が鳴る
・ボタンAを押せば押すほどドキドキが速くなる
・ボタンBを押せば押すほどドキドキが遅くなる
・ボタンA+Bを押すとドキドキが最初の速度に戻る

さて、このプログラムはどのように作ればよいでしょうか。

回答はこちら

まとめ

・明るさはLEDの光の強さを表し、その範囲は0〜255となっています。
・変数で明るさを制御して、最大値以上で暗く、最小値以下で明るくなるよう動作します。

microbitやるならこのキットが断然オススメ!

これからmicrobit本体を購入するならケーブルや電池ボックスもそろったこちらをどうぞ

この内容が良いと思ったら、いいね💖を押して教えてください!

組みクラ – 組み込み開発を学び、未来を創るエンジニアへ
無料で学べる!組み込み開発の基礎から応用までをマスターできるオンラインスクール「組みクラ」

組み込みエンジニアは、あらゆる産業の基盤を支える重要な職業です。
私たちタテプロは、次世代の組み込みエンジニアを育成し、業界の競争力を高めるために活動しています。
あなたも、無料で学べる「組みクラ」で、組み込み開発のスキルをしっかり身につけ、キャリアを加速させましょう!
今すぐ学び始めて、将来の自分をステップアップさせる第一歩を踏み出しませんか?

\立プロとLINEで友だちになりませんか/
立プロと友だちになる
ブログ
シェアしていただけると嬉しいです!

コメント

タイトルとURLをコピーしました