2.2 ブリージングLED

LEDの明るさを制御するための別の方法を使います。前のプロジェクトとは異なり、ここではLEDの明るさを徐々に減少させ、消失するようにします。

ステージ上のスプライトをクリックすると、LEDの明るさが徐々に増し、瞬時に消灯します。

../_images/3_ap.png

学べる内容

  • PWMピンの出力値の設定

  • 変数の作成

  • スプライトの明るさの変更

必要な部品

このプロジェクトでは、以下のコンポーネントが必要です。

一式をまとめて購入すると便利です。購入リンクはこちら:

名前

このキットのアイテム

リンク

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

以下のリンクから、それぞれの部品を個別に購入することもできます。

コンポーネントの紹介

購入リンク

SunFounder R3ボード

BUY

ブレッドボード

BUY

ジャンパーワイヤー

BUY

抵抗器

BUY

LED

BUY

回路の作成

このプロジェクトは前のプロジェクト 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信号を出力できます。

../_images/led_circuit.png

プログラミング

1. スプライトを選択

デフォルトのスプライトを削除し、スプライト領域の右下隅にある Choose a Sprite ボタンをクリックし、検索ボックスに button3 と入力して追加します。

../_images/3_sprite.png

2. 変数の作成

pwmの値の変化を保存するための変数 pwm を作成します。

Variables パレットをクリックして Make a Variable を選択します。

../_images/3_ap_va.png

変数の名前を入力します。任意の名前で構いませんが、その機能を説明することを推奨します。データタイプは数値で、すべてのスプライト用です。

../_images/3_ap_pwm.png

作成したら、 Variables パレット内とチェック状態で pwm が表示されます。これは、この変数がステージ上に表示されることを意味します。チェックを外して、ステージ上にpwmがまだ存在するかどうか確認してみてください。

../_images/3_ap_0.png

3. 初期状態の設定

button3 スプライトがクリックされたとき、コスチュームを button-b (クリック状態)に切り替え、変数 pwm の初期値を0に設定します。

  • [set pwm to 0]: Variables パレットから、変数の値を設定するために使用されます。

../_images/3_ap_brightness.png

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ピンの出力値を設定するために使用されます。

../_images/3_ap_1.png

最後に、button3のコスチュームを button-a に切り替え、PWMピンの値を0にして、LEDが徐々に点灯した後、再び消灯するようにします。

../_images/3_ap_2.png