Raspberry Pi Pico: Elektronischer Würfel

Dieser elektronische Würfel baut auf der Erzeugung einer zufälligen Zahl auf. Aber Zufall ist in einem Computer eigentlich unerwünscht. Normalerweise erwarten wir von einem Computer, dass die selbe Eingabe auch immer die selbe Ausgabe produziert. Was machen wir, wenn doch mal etwas zufälliges erzeugt werden soll? Dafür gibt es spezielle Funktionen, die zufällige Zahlen erzeugen können.

Im Prinzip erzeugt das folgende Programm eine zufällige Zahl zwischen 1 und 6. Anschließend leuchten die Leuchtdioden, die diesem Auge bzw. der Seite eines Würfels entspricht.
Um einen Würfel mit seinen 6 Seiten nachzubilden werden insgesamt 7 Leuchtdioden angesteuert.

Aufbau und Bauteile

Raspberry Pi Pico: Elektronischer Würfel

Um einen richtigen Würfel nachzubilden ist es hilfreich, wenn die 7 LEDs wie auf den Seiten des Würfels angeordnet sind. Also jeweils 3 LEDs an der Seite und eine in der Mitte.

Hinweis: Beim Aufbauen der insgesamt 14 Bauteile wird es ziemlich eng auf dem Steckbrett zugehen. Es empfiehlt sich sehr umsichtig vorzugehen und zu prüfen, dass es keine ungewollten Verbindungen zwischen den GPIOs gibt.

  • R1: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R2: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R3: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R4: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R5: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R6: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R7: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • LED1: Leuchtdiode, rot, gelb oder grün
  • LED2: Leuchtdiode, rot, gelb oder grün
  • LED3: Leuchtdiode, rot, gelb oder grün
  • LED4: Leuchtdiode, rot, gelb oder grün
  • LED5: Leuchtdiode, rot, gelb oder grün
  • LED6: Leuchtdiode, rot, gelb oder grün
  • LED7: Leuchtdiode, rot, gelb oder grün

Programmcode

Im Programmcode werden 7 GPIOs initialisiert, die mit Leuchtdioden beschaltet sind. Anschließend wird eine zufällige Zahl zwischen 1 und 6 erzeugt und die Leuchtdioden zum Leuchten gebracht, die der Würfelseite entsprechen.

# Bibliotheken laden
from machine import Pin
from random import randint

# GPIOs für den Zähler auswählen
GPIO = [19, 18, 17, 16, 13, 14, 15]
leds = len(GPIO)
led = [0] * leds

# Würfel-Augen definieren
cube = ("0000000",
        "1000000",
        "0100001",
        "1100001",
        "0101101",
        "1101101",
        "0111111")

# Initialisierung von GPIOs
for i in range(leds):
    led[i] = Pin(GPIO[i], Pin.OUT, value=0)

# Funktion
def wuerfeln():
    # Zufall erzeugen
    rand = randint(1, leds-1)
    eye = cube[rand]
    # LEDs aktivieren
    print('Auge:', rand)
    for i in range (leds):
        if eye[i] == "1":
            led[i].on()
        else:
            led[i].off()

wuerfeln()

Wenn das Programm gestartet wurde und die Leuchtdioden leuchten, wird das Programm beendet. Wenn Du eine erneut würfeln möchtest, dann musst Du das Programm erneut starten.

Programmcode mit Button

Eine sinnvolle Erweiterung wäre, wenn das Drücken eines Tasters das Programm erneut ausführt und ein anderes Würfel-Auge zufällig leuchten würde.

Hinweis: Geänderte, ersetzte bzw. hinzugefügte Zeilen sind fett markiert.

# Bibliotheken laden
from machine import Pin
from random import randint

# GPIO für Button
btn = Pin(20, Pin.IN, Pin.PULL_DOWN)

# GPIOs für den Zähler auswählen
GPIO = [19, 18, 17, 16, 13, 14, 15]
leds = len(GPIO)
led = [0] * leds

# Würfel-Augen definieren
cube = ("0000000",
        "1000000",
        "0100001",
        "1100001",
        "0101101",
        "1101101",
        "0111111")

# Initialisierung von GPIOs
for i in range(leds):
    led[i] = Pin(GPIO[i], Pin.OUT, value=0)

# Funktion
def wuerfeln(pin):
    # Zufall erzeugen
    rand = randint(1, leds-1)
    eye = cube[rand]
    # LEDs aktivieren
    print('Auge:', rand)
    for i in range (leds):
        if eye[i] == "1":
            led[i].on()
        else:
            led[i].off()

btn.irq(trigger=Pin.IRQ_FALLING, handler=wuerfeln)

Darf es ein bisschen mehr sein?

Keine Lust mehr auf LED-Geblinke? Dann wollen wir herausfinden, was der Raspberry Pi Pico noch so alles kann. Wie wäre es mit Temperatur messen und anzeigen? Das ist mal was ganz anderes und funktioniert auch noch ganz ohne externe Beschaltung.

Highlights: Elektronik mit dem Raspberry Pi Pico

Elektronik mit dem Raspberry Pi

Die Stärken des Raspberry Pi liegen klar in der Computer-Architektur mit typischen Computer-Schnittstellen und Möglichkeit zum Ausführen von Open-Source-Software für Linux.

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