.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _sh_rotating_fan: 2.11 回転する扇風機 ======================== このプロジェクトでは、回転する星のスプライトと扇風機を作ります。 ステージ上の左右の矢印スプライトをクリックすると、モーターと星のスプライトの時計回りと反時計回りの回転を制御でき、星のスプライトをクリックすると回転が停止します。 .. image:: img/13_fan.png 学べること --------------------- - モーターの動作原理 - ブロードキャストの機能 - スプライト内の他のスクリプトを停止するブロック 必要な部品 --------------------- このプロジェクトには、以下の部品が必要です。 一式を購入するのは非常に便利です。リンクはこちら: .. 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_wires` - |link_wires_buy| * - :ref:`cpn_tt_motor` - \- * - :ref:`cpn_l9110` - \- 回路の作成 ----------------------- .. image:: img/circuit/motor_circuit.png プログラミング ------------------ 目指す効果は、2つの矢印スプライトを使用してモーターと星のスプライトの時計回りと反時計回りの回転をそれぞれ制御し、星のスプライトをクリックするとモーターの回転を停止させることです。 **1. スプライトの追加** デフォルトのスプライトを削除し、 **Star** スプライトと **Arrow1** スプライトを選択し、 **Arrow1** を1つコピーします。 .. image:: img/13_star.png **Costumes** オプションで、 **Arrow1** スプライトを異なる方向のコスチュームに変更します。 .. image:: img/13_star1.png スプライトのサイズと位置を適切に調整します。 .. image:: img/13_star2.png **2. 左の矢印スプライト** このスプライトをクリックすると、メッセージ - turnをブロードキャストし、デジタルピン9をローにし、ピン10をハイに設定し、変数 **flag** を1に設定します。左の矢印スプライトをクリックすると、モーターが反時計回りに回転します。もし時計回りに回転する場合は、ピン9とピン10の位置を交換してください。 注意点が2つあります。 * `[broadcast `_]: **Events** パレットから、他のスプライトにメッセージをブロードキャストするために使用します。他のスプライトがこのメッセージを受け取ると、特定のイベントを実行します。例えば、ここでは **turn** で、 **star** スプライトがこのメッセージを受け取ると、回転スクリプトを実行します。 * 変数 flag: 星のスプライトの回転方向はflagの値によって決まります。ですので、 **flag** 変数を作成する際には、すべてのスプライトに適用する必要があります。 .. image:: img/13_left.png **3. 右の矢印スプライト** このスプライトをクリックすると、メッセージ turnをブロードキャストし、デジタルピン9をハイにし、ピン10をローにしてモーターを時計回りに回転させ、 **flag** 変数を0に設定します。 .. image:: img/13_right.png **4. 星のスプライト** ここには2つのイベントが含まれています。 * **star** スプライトがブロードキャストされたメッセージ turnを受け取ると、flagの値を判断します。もしflagが1なら、左に10度回転し、それ以外の場合は逆になります。[FOREVER] にあるので、常に回転し続けます。 * このスプライトをクリックすると、モーターの両方のピンをハイにして回転を停止させ、このスプライト内の他のスクリプトを停止させます。 .. image:: img/13_broadcast.png