Raspberry Pi Pico: Zufallszahl generieren

Normalerweise erwarten wir von einem Computer, dass die selbe Eingabe auch immer die selbe Ausgabe produziert. Das etwas zufällig in einem Computer passiert ist eigentlich nicht gewünscht. Deshalb ist er so konstruiert, dass sich alle Zustände in einem Computer vorhersagen oder berechnen lassen. So ein Computer ist also eine richtige Spaßbremse.

Was machen wir, wenn doch mal etwas zufälliges erzeugt werden soll? Dafür gibt es spezielle Funktionen, die so etwas wie Zufall erzeugen können.

Im folgenden Aufbau wollen wir eine von insgesamt 7 Leuchtdioden zufällig leuchten lassen.

Aufbau und Bauteile

Raspberry Pi Pico: Zufallszahl generieren

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 7 erzeugt und die entsprechende Leuchtdiode zum Leuchten gebracht.

# Bibliotheken laden
from machine import Pin
from random import randint

# GPIOs für die Anzeige des Zufalls auswählen
GPIO = [19, 18, 17, 16, 13, 14, 15]
leds = len(GPIO)
led = [0] * leds

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

# Zufall erzeugen
rand = randint(0, leds-1)

# LED aktivieren
led[rand].on()

Wenn das Programm gestartet wurde und eine Leuchtdiode leuchtet, wird das Programm beendet. Wenn Du eine neue Zufallszahl haben möchtest, dann musst Du das Programm erneut starten.

Erweiterungen

  • Eine sinnvolle Erweiterung wäre, wenn das Drücken eines Tasters das Programm erneut ausführt und eine andere Leuchtdiode zufällig leuchten würde.
  • Der Programmcode ist so flexibel, dass sich die Anzahl der Zufallszahlen erhöhen und verringern lassen, in dem Du im Array GPIOs hinzufügst oder entfernst.

Darf es ein bisschen mehr sein?

Der Programmcode mit der Zufallszahl lässt sich leicht zu einem elektronischen Würfel umbauen. Ohne Schaltungsänderung gleich loslegen.

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:

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

Mehr Informationen Am Online-Workshop teilnehmen

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

Mehr Informationen Am Online-Workshop teilnehmen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!