2.2 ブリージングLED¶
LEDの明るさを制御するための別の方法を使います。前のプロジェクトとは異なり、ここではLEDの明るさを徐々に減少させ、消失するようにします。
ステージ上のスプライトをクリックすると、LEDの明るさが徐々に増し、瞬時に消灯します。
学べる内容¶
PWMピンの出力値の設定
変数の作成
スプライトの明るさの変更
必要な部品¶
このプロジェクトでは、以下のコンポーネントが必要です。
一式をまとめて購入すると便利です。購入リンクはこちら:
名前 |
このキットのアイテム |
リンク |
---|---|---|
3 in 1 Starter Kit |
380+ |
以下のリンクから、それぞれの部品を個別に購入することもできます。
コンポーネントの紹介 |
購入リンク |
---|---|
回路の作成¶
このプロジェクトは前のプロジェクト 2.1 テーブルランプ と同じ回路を使用しますが、LEDを点灯または消灯させるためにHIGH/LOWを使用する代わりに、 PWM - Wikipedia シグナルを使用してLEDを徐々に点灯または消灯させます。
PWM信号の範囲は0-255で、Arduino Unoボードでは3, 5, 6, 9, 10, 11がPWM信号を出力できます。Mega2560では、2 - 13, 44 - 46がPWM信号を出力できます。
プログラミング¶
1. スプライトを選択
デフォルトのスプライトを削除し、スプライト領域の右下隅にある Choose a Sprite ボタンをクリックし、検索ボックスに button3 と入力して追加します。
2. 変数の作成。
pwmの値の変化を保存するための変数 pwm を作成します。
Variables パレットをクリックして Make a Variable を選択します。
変数の名前を入力します。任意の名前で構いませんが、その機能を説明することを推奨します。データタイプは数値で、すべてのスプライト用です。
作成したら、 Variables パレット内とチェック状態で pwm が表示されます。これは、この変数がステージ上に表示されることを意味します。チェックを外して、ステージ上にpwmがまだ存在するかどうか確認してみてください。
3. 初期状態の設定
button3 スプライトがクリックされたとき、コスチュームを button-b (クリック状態)に切り替え、変数 pwm の初期値を0に設定します。
[set pwm to 0]: Variables パレットから、変数の値を設定するために使用されます。
4. LEDを次第に明るくする
pwmの範囲は255なので、[repeat]ブロックを使用して、変数 pwm を5ずつ255に累積し、[set PWM pin]ブロックに入れると、LEDが徐々に点灯するのを見ることができます。
[change pwm by 5]: Variables パレットから、変数を特定の数だけ変更するために使用されます。正または負の数をとることができ、正は毎回増加、負は毎回減少を意味します。例えば、ここでは変数pwmを毎回5ずつ増加させています。
[set PWM pin]: Arduino Uno パレットから、pwmピンの出力値を設定するために使用されます。
最後に、button3のコスチュームを button-a に切り替え、PWMピンの値を0にして、LEDが徐々に点灯した後、再び消灯するようにします。