.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _per_reaction_game: 2.13 リアクションゲーム =========================== このプロジェクトでは、複数のボタン、ブザー、およびLEDを使用してリアクションゲームを作成します。審判用のボタンを押すとゲームがスタートし、ブザーもゲームが続いていることを示すために鳴り続けます。2人のプレイヤーボタンをそれぞれ素早く押します。再び審判ボタンが押されると、ゲームは終了し、ブザーが停止します。この時点で、Piper MakeのCONSOLEを見て、誰の手の速さが速いかを確認します。 **必要なコンポーネント** このプロジェクトで必要な部品は以下の通りです。 一式を購入する方が便利です、リンクはこちら: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットに含まれるアイテム - リンク * - Kepler Kit - 450+ - |link_kepler_kit| 以下のリンクから個々にも購入できます。 .. list-table:: :widths: 5 20 5 20 :header-rows: 1 * - SN - コンポーネント - 数量 - リンク * - 1 - :ref:`cpn_pico_w` - 1 - |link_picow_buy| * - 2 - Micro USBケーブル - 1 - * - 3 - :ref:`cpn_breadboard` - 1 - |link_breadboard_buy| * - 4 - :ref:`cpn_wire` - 数本 - |link_wires_buy| * - 5 - :ref:`cpn_transistor` - 1(S8050) - |link_transistor_buy| * - 6 - :ref:`cpn_resistor` - 6(2-220Ω, 1-1KΩ, 3-10KΩ) - |link_resistor_buy| * - 7 - Active :ref:`cpn_buzzer` - 1 - * - 8 - :ref:`cpn_button` - 3 - |link_button_buy| * - 9 - :ref:`cpn_led` - 2 - |link_led_buy| **配線** |button_race0| * プレイヤー1(GP14)とプレイヤー2(GP12)として2つのボタンを定義し、それぞれプルアップ抵抗が接続されています。ボタンが押されると、GP14とGP12はそれぞれ低くなります。 * それらのインジケーターはGP15とGP13に接続されており、高い出力で点灯します。 * GP10に接続された審判用のボタンを定義します。ボタンが押されると、GP10は低くなります。 * アクティブブザーはGP11に接続されています。GP11が高い出力の場合、ブザーが鳴ります。 **コード** .. note:: * 下の画像を参照して、ドラッグ&ドロップでコードを書くことができます。 * ``kepler-kit-main\piper`` のパスから ``2.13_reaction_game.png`` をインポートしてください。詳細なチュートリアルは、 :ref:`import_code_piper` を参照してください。 |button_race| * Pico Wに接続した後、 **スタート** ボタンをクリックしてコードが実行されます。 * 審判ボタンを押すと、ブザーが連続して鳴り始め(ゲームの開始を示します)。 * この時点で、 **プレイヤー** ボタンを別々に素早く押し、対応するLEDが点灯します。 * **審判** ボタンが再び押されると、ブザーが停止し、ゲームが終了します。 * この時点でCONSOLEをクリックして、誰がそれをより多く押したかを確認します。 **仕組み** |button_race1| GP10は審判ボタンで、審判ボタンが押されていない場合は高く、ゲームはまだ始まっていません。 GP10が低い(審判ボタンが押された場合)、ゲームがスタートします。GP11を高く設定(ブザー)、変数を作成して初期値を設定します。 |button_race2| フラグが1(ゲームスタート)の場合、次にGP14(プレイヤー1)の値を読み取ります。プレイヤー1ボタンが押された場合、[count1]という変数に押す回数を保存し、GP15のインジケーターを点灯させます。 |button_race3| 同様にして、GP12(プレイヤー2)の押し回数を読み取ります。 |button_race4| それぞれのプレイヤー1とプレイヤー2の押し回数を印刷します。 |button_race5| 審判ボタンが再び押されると、ブザーが停止してゲームが終了します。