.. note:: Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten. **Warum beitreten?** - **Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams. - **Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern. - **Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken. - **Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte. - **Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil. 👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei! .. _per_reaction_game: 2.13 Reaktionsspiel =========================== In diesem Projekt verwenden wir mehrere Tasten, einen Summer und LEDs, um ein Reaktionsspiel zu erstellen. Drücken Sie die Schiedsrichtertaste, um das Spiel zu starten; der Summer gibt dabei kontinuierlich Töne aus, um das Fortsetzen des Spiels anzuzeigen. Betätigen Sie schnell die beiden Spielertasten; wenn die Schiedsrichtertaste erneut gedrückt wird, ist das Spiel beendet und der Summer hört auf zu summen. Überprüfen Sie dann auf Piper Make in der Konsole, welcher Spieler schneller war. **Benötigte Komponenten** Für dieses Projekt benötigen wir folgende Komponenten: Ein komplettes Kit ist natürlich praktisch. Hier ist der Link dazu: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Name - ARTIKEL IN DIESEM SET - LINK * - Kepler Kit - 450+ - |link_kepler_kit| Sie können die einzelnen Komponenten auch über die untenstehenden Links kaufen. .. list-table:: :widths: 5 20 5 20 :header-rows: 1 * - SN - KOMPONENTE - ANZAHL - LINK * - 1 - :ref:`cpn_pico_w` - 1 - |link_picow_buy| * - 2 - Micro USB Kabel - 1 - * - 3 - :ref:`cpn_breadboard` - 1 - |link_breadboard_buy| * - 4 - :ref:`cpn_wire` - Mehrere - |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 - Aktiver :ref:`cpn_buzzer` - 1 - * - 8 - :ref:`cpn_button` - 3 - |link_button_buy| * - 9 - :ref:`cpn_led` - 2 - |link_led_buy| **Verkabelung** |button_race0| * Definieren Sie zwei Tasten als Spieler1 (GP14) und Spieler2 (GP12), beide sind mit einem Pull-up-Widerstand verbunden. Bei Betätigung der Tasten gehen GP14 und GP12 jeweils auf niedrig. * Die zugehörigen Indikatoren sind mit GP15 und GP13 verbunden und leuchten auf, wenn diese Pins auf hoch gesetzt sind. * Definieren Sie eine Schiedsrichtertaste, die mit GP10 verbunden ist. Bei Betätigung geht GP10 auf niedrig. * Der aktive Summer ist mit GP11 verbunden. Wenn GP11 auf hoch gesetzt ist, gibt der Summer einen Ton aus. **Code** .. note:: * Die Abbildung unten können Sie als Orientierung für das Schreiben des Codes per Drag-and-Drop verwenden. * Importieren Sie ``2.13_reaction_game.png`` aus dem Verzeichnis ``kepler-kit-main\piper``. Detaillierte Anleitungen finden Sie unter :ref:`import_code_piper`. |button_race| * Nach dem Anschluss von Pico W klicken Sie auf die **Start**-Taste, und der Code wird ausgeführt. * Betätigen Sie die Schiedsrichtertaste und der Summer gibt einen kontinuierlichen Ton aus, was den Spielstart signalisiert. * Drücken Sie nun die **Spielertasten** einzeln und schnell. Die zugehörigen LEDs werden aufleuchten. * Wird die **Schiedsrichtertaste** erneut gedrückt, stoppt der Summer, was das Spielende bedeutet. * Klicken Sie auf diesem Punkt auf die Konsole, um zu sehen, welcher Spieler mehr Betätigungen hatte. **Funktionsweise** |button_race1| GP10 ist die Schiedsrichtertaste. Wenn diese nicht gedrückt ist (hoch), hat das Spiel noch nicht begonnen. Wenn GP10 niedrig ist (Schiedsrichtertaste gedrückt), beginnt das Spiel; setzen Sie GP11 auf hoch (Summer), erstellen Sie Variablen und setzen Sie die Anfangswerte. |button_race2| Wenn die Flagge 1 für den Spielstart ist, dann lesen Sie den Wert von GP14 (Spieler1); wenn die Spieler1-Taste gedrückt wird, speichern Sie die Anzahl der Betätigungen in der Variablen [count1] und lassen Sie den Indikator von GP15 aufleuchten. |button_race3| Lesen Sie die Anzahl der Betätigungen von GP12 (Spieler2) auf die gleiche Weise. |button_race4| Drucken Sie die Anzahl der Betätigungen für Spieler1 und Spieler2 jeweils aus. |button_race5| Wenn die Schiedsrichtertaste erneut gedrückt wird, hört der Summer auf zu arbeiten und das Spiel endet.