Raspberry Pi Pico: Reaktionsspiel mit zwei Tastern und LEDs

Experimentieren mit Tastern und LEDs ist ja ganz nett. Aber soll es das schon gewesen sein? Taster drücken und LED geht an. Voll langweilig. Es wird Zeit das wir etwas wirklich sinnvolles mit Tastern und LEDs machen. Ein Spiel gefällig? Du musst natürlich zu Zweit sein, sonst macht das keinen richtigen Spaß.

Na dann los. Aufgebaut und hergeschaut. Wer hat am schnellsten den Taster gedrückt, wenn die Onboard-LED angeht?

Aufbau und Bauteile

Raspberry Pi Pico: Reaktionsspiel mit zwei Tastern und LEDs

  • S1, Taster
  • S2, Taster
  • R1, Widerstand, 470 Ohm
  • R2, Widerstand, 470 Ohm
  • LED1, Leuchtdiode, rot, gelb oder grün
  • LED2, Leuchtdiode, gelb, gelb oder grün
  • Verbindungskabel

Programmcode

Im folgenden Programm werden zwei Taster und drei Leuchtdioden definiert. Die Onboard-LED soll nach einer zufälligen Zeit zwischen 5 und 10 Sekunden angehen. Wer zuerst seinen Taster drückt, dessen Leuchtdiode leuchtet und der Spieler hat gewonnen. Wessen LED leuchtet, kann das Spiel mit Drücken seines Tasters erneut starten.

# Bibliotheken laden
from machine import Pin
from utime import sleep
from random import randint

# Initialisierung
led_onboard = Pin(25, Pin.OUT, value=0)
led1 = Pin(19, Pin.OUT, value=0)
led2 = Pin(12, Pin.OUT, value=0)
btn1 = Pin(16, Pin.IN, Pin.PULL_UP)
btn2 = Pin(15, Pin.IN, Pin.PULL_UP)

# Wiederholung
while True:
    # LEDs ausschalten
    led1.off()
    led2.off()
    # Blinken: gleich geht das Spiel los
    for i in range (1, 10):
        led_onboard.toggle()
        sleep(0.2)
    led_onboard.off()
    # Zufällige Zeit ermitteln und warten
    rand = randint(5, 10)
    sleep(rand)
    # Onboard-LED einschalten
    led_onboard.on()
    # Wiederholung: Wer drückt seinen Taster zuerst?
    while True:
        # Taster 1 wird zuerst gedrückt
        if btn1.value() == 0:
            led1.on()
            sleep(2)
            while True:
                if btn1.value() == 0: break
                sleep(0.1)
        # Taster 2 wird zuerst gedrückt
        if btn2.value() == 0:
            led2.on()
            sleep(2)
            while True:
                if btn2.value() == 0: break
                sleep(0.1)
        # Schleife beenden, wenn eine LED an ist
        if led1.value() == 1 or led2.value() == 1: break
        sleep(0.1)

Weitere verwandte Themen:

Teilen:

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das "Elektronik-Set Pico Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Online-Workshop Mehr Informationen Elektronik-Set jetzt bestellen

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Programmieren mit dem Raspberry Pi Pico

Online-Workshop mit einer Einführung ins Physical Computing mit Leuchtdioden, Taster und Temperatursensor.

  • Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython ohne Vorkenntnisse
  • Optimaler Einstieg, um eigene Ideen zu verwirklichen und Steuerungen zu programmieren
  • Inklusive Elektronik-Set mit einem Raspberry Pi Pico, Zubehör und elektronischen Bauteilen

Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)

Zum PicoTalk Mehr Informationen Am Online-Workshop teilnehmen

Elektronik-Set Pico Edition
Elektronik-Set Pico Edition

Hardware-nahes Programmieren mit dem Raspberry Pi Pico

Das "Elektronik-Set Pico Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Online-Workshop Mehr Informationen Elektronik-Set jetzt bestellen