.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _sh_breathing_led: 2.2 ブリージングLED ===================== LEDの明るさを制御するための別の方法を使います。前のプロジェクトとは異なり、ここではLEDの明るさを徐々に減少させ、消失するようにします。 ステージ上のスプライトをクリックすると、LEDの明るさが徐々に増し、瞬時に消灯します。 .. image:: img/3_ap.png 学べる内容 --------------------- - PWMピンの出力値の設定 - 変数の作成 - スプライトの明るさの変更 必要な部品 --------------------- このプロジェクトでは、以下のコンポーネントが必要です。 一式をまとめて購入すると便利です。購入リンクはこちら: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットのアイテム - リンク * - 3 in 1 Starter Kit - 380+ - |link_3IN1_kit| 以下のリンクから、それぞれの部品を個別に購入することもできます。 .. list-table:: :widths: 30 20 :header-rows: 1 * - コンポーネントの紹介 - 購入リンク * - :ref:`cpn_uno` - |link_Uno_R3_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_led` - |link_led_buy| 回路の作成 --------------------- このプロジェクトは前のプロジェクト :ref:`sh_table_lamp` と同じ回路を使用しますが、LEDを点灯または消灯させるためにHIGH/LOWを使用する代わりに、 `PWM - Wikipedia `_ シグナルを使用してLEDを徐々に点灯または消灯させます。 PWM信号の範囲は0-255で、Arduino Unoボードでは3, 5, 6, 9, 10, 11がPWM信号を出力できます。Mega2560では、2 - 13, 44 - 46がPWM信号を出力できます。 .. image:: img/circuit/led_circuit.png プログラミング ------------------ **1. スプライトを選択** デフォルトのスプライトを削除し、スプライト領域の右下隅にある **Choose a Sprite** ボタンをクリックし、検索ボックスに **button3** と入力して追加します。 .. image:: img/3_sprite.png **2. 変数の作成**。 pwmの値の変化を保存するための変数 **pwm** を作成します。 **Variables** パレットをクリックして **Make a Variable** を選択します。 .. image:: img/3_ap_va.png 変数の名前を入力します。任意の名前で構いませんが、その機能を説明することを推奨します。データタイプは数値で、すべてのスプライト用です。 .. image:: img/3_ap_pwm.png 作成したら、 **Variables** パレット内とチェック状態で **pwm** が表示されます。これは、この変数がステージ上に表示されることを意味します。チェックを外して、ステージ上にpwmがまだ存在するかどうか確認してみてください。 .. image:: img/3_ap_0.png **3. 初期状態の設定** **button3** スプライトがクリックされたとき、コスチュームを **button-b** (クリック状態)に切り替え、変数 **pwm** の初期値を0に設定します。 * [set pwm to 0]: **Variables** パレットから、変数の値を設定するために使用されます。 .. image:: img/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ピンの出力値を設定するために使用されます。 .. image:: img/3_ap_1.png 最後に、button3のコスチュームを **button-a** に切り替え、PWMピンの値を0にして、LEDが徐々に点灯した後、再び消灯するようにします。 .. image:: img/3_ap_2.png