Zum Inhalt springen

LEDs mit Raspberry PI steuern

Was ist der Raspberry Pi?

Kurzversion: Ein Einplatinencomputer mit Betriebssystem und Hardwarepins für Robotik. Also ein echt tolles Teil!

Ausführlicher (Wikipedia, Stand 9.9.2021):

“Der Raspberry Pi (Aussprache in Britischem Englischˈrɑːzb(ə)rɪ ˈpaɪ) ist ein Einplatinencomputer, der von der britischen Raspberry Pi Foundation entwickelt wurde. Der Rechner enthält ein Ein-Chip-System (SoC) von Broadcom mit einer ArmCPU. Die Platine hat das Format einer Kreditkarte. Der Raspberry Pi kam Anfang 2012 auf den Markt; sein großer Markterfolg wird teils als Revival des bis dahin weitgehend bedeutungslos gewordenen Heimcomputers zum Programmieren und Experimentieren angesehen.[1] Der im Vergleich zu üblichen Personal Computern sehr einfach aufgebaute Rechner wurde von der Stiftung mit dem Ziel entwickelt, jungen Menschen den Erwerb von Programmier- und Hardware-Kenntnissen zu erleichtern. Entsprechend niedrig wurde der Verkaufspreis angesetzt, der je nach Modell etwa 5 bis 100 Euro beträgt.”

In der Robotik gilt das Blinken von LEDs als das traditionelle “Hello World!” in der Porgrammierung. Nach einigen Vorbereitungen und einer kurzen Anleitung wirst du in der Lage sein, eine oder mehrere LEDs an einem Raspberry Pi (kurz RPi) zu steuern.

Den Raspberry Pi der Schule nutzen

Die Raspberry Pis unserer Schule sind vorbereitet. Du meldest dich mit den Benutzerdaten für Lernende an, die Zugangsdaten verrät dir deine Lehrperson. Bevor wir uns an den RPis anmelden, erkläre ich dir, wie so ein Rechner aufgebaut ist und wie du ihn anschließt. Die Geräte in der Schule sind in der Regel schon zusammengebaut, schau dir das folgende Video trotzdem an, damit du weißt, wie du den RPi in das Case legst und wieder herausnimmst.

Pi in das Case einsetzen

Das Case musst du immer dann öffnen, wenn du eine eigene Schaltung aufbauen möchtest. Das Video erklärt dir, wie du das machst und den Raspberry Pi dabei schonend behandelst.

Im Video siehst du ein Raspberry Pi 4B, es gibt auch andere Versionen, sie sind sich recht ähnlich.

Pi starten

Um den RPi verwenden zu können, musst du ihn an einen Monitor anschließen und mit Strom versorgen.
Die folgende Schritt-für-Schritt-Anleitung zeigt dir genau, wie das geht:

Schritt 1: Verbinde den RPi mit dem Monitor und der Tastatur.

An deinem Monitor befindet sich bereits ein HDMI-Kabel. Für die nächsten Schritte folge den Anweisungen in der Bildergalerie.

Dein RPi ist jetzt mit dem Monitor und einer Tastatur verbunden.

Schritt 2: Schließe das Netzteil an den RPi an.

Wie das geht, zeigt dir deine Lehrperson im Unterricht.

Wichtig: Schließe den Monitor immer vor dem Netzkabel an! Der RPi hat keinen Ein/Aus-Schalter und fährt direkt hoch, wenn er mit Strom versorgt wird. Wenn er beim Hochfahren keinen Monitor erkennt, wechselt er in den Command-Line-Modus (CLI).

Schritt 3: Wähle den richtigen Signaleingang am Monitor.

  • Drücke die Taste “Input” an deinem Monitor und wähle “DVI-D” durch Drücken dieser Taste.
  • Bestätige mit der Taste “Menu”.
  • Wenn du alles richtig gemacht hast, siehst du den Anmeldebildschirm deines RPi.

Schritt 4: Melde dich am Desktop des Raspberry Pi an.

Melde dich mit deinen Zugangsdaten an. Beachte bitte: Fahre den Raspberry Pi immer erst ordentlich herunter, bevor du die Stromversorgung trennst!

GPIO

Auf dem RPi findest du Pins, mit welchen wir verschiedene Motoren, Sensoren, LEDs und mehr anschließen können. Diese Pins heißen GPIO (General Purpose Input/Output, wörtlich Allzweckeingabe/-ausgabe).
Damit du in deinem Programmcode auf die Pins zugreifen kannst, sind sie mit einer Pin-Nummer versehen (s. Bild, die Pin-Nummern befinden sich in der Mitte). Die Nummerierung erfolgt nach dem BOARD-Schema: Man zählt von links nach rechts und springt dann nach links in die nächste Zeile.

Quelle: https://www.bigmessowires.com/2018/05/26/raspberry-pi-gpio-programming-in-c/

“Hello Raspi!” – Erste Übung: LED steuern

In der Robotik gilt das Blinken von LEDs als das traditionelle “Hello World!” in der Programmierung.

Aufbau und Verkabelung

Du kennst mittlerweile den groben Aufbau eines Raspberry Pis. Die GPIO-Pins sind die Schnittstelle zwischen unserem Code und den Bauteilen (LEDs, Motoren, Sensoren etc.). Wir beginnen mit einer einfachen Übung. Dafür benötigst du neben dem betriebsbereiten Raspberry Pi (inkl. Stromversorgung, Tastatur) …

  • 3 Female-to-female-Jumper-Kabel (am besten 2 mal blau, 1 mal schwarz)
  • eine LED
  • einen Widerstand passend zur Farbe deiner LED

Den Aufbau können wir von der Website raspberrypi.org übernehmen. Verbinde wie im Bild

  • die kurze Nadel der LED mit GND für Ground (Erdung),
  • die lange Nadel der LED mit einem Widerstand (mind. 500 Ω) und
  • den Widerstand schließlich mit Pin 11 bzw. GP17.

Code

Schau dir den nachfolgenden Code in Ruhe an, lies auch die Kommentare im Code. Wenn du eine Vermutung hast, was passieren wird, kannst du den Code starten.

Einfache Variante

#Module importieren
import RPi.GPIO as GPIO
import time #für Code mit Zeit

#GPiO vorbereiten
GPIO.setmode(GPIO.BOARD) #Modus Board
GPIO.setup(11,GPIO.OUT) #Pin 11 als OUT

print("start") #gib 'start' in der Konsole aus

for x in range (10): # for-Schleife
    GPIO.output(11,True) # Signal an!
    time.sleep(1) # Warte 1 Sekunde
    GPIO.output(11,False) # Signal aus
    time.sleep(1) # Warte 1 Sekunde

print("end") # gib 'end' in der Konsole aus
GPIO.cleanup() # Aufräumen, Status der Pins wird zurückgesetzt, das ist wichtig!
    

… etwas anspruchsvoller

#Module importieren
import RPi.GPIO as GPIO
import time #für Code mit Zeit

#GPiO vorbereiten
GPIO.setmode(GPIO.BOARD) # Modus Board
GPIO.setup(11,GPIO.OUT) # Pin 11 als OUT

print("start") # gib 'start' in der Konsole aus

for x in range (10): # for-Schleife
    GPIO.output(11,True) # Signal an!
    time.sleep(1/(x+1)) # Warte 1/(x+1) Sekunden ... mit steigendem x immer kürzer
    GPIO.output(11,False) # Signal aus
    time.sleep(1/(x+1)) # Warte

print("end") # gib 'end' in der Konsole aus
GPIO.cleanup() # Aufräumen, Status der Pins wird zurückgesetzt, das ist wichtig!

Übungen

Übung 1: Eine LED steuern

Die erste Übung wurde oben bereits im Ansatz vorgestellt.

  1. Falls noch nicht geschehen: Absolviere die Übung mit dem einfachen Code.
  2. Verändere den Code so, dass du verschiedene Blinkmuster erhältst.
  3. Recherchiere zu dem Morsealphabet und erstelle einen Code, der folgende Worte per Blinken wiedergibt.
    1. SOS
    2. Deinen Vornamen
  4. Erstelle eine Funktion, die (mindestens) für die oben verwendeten Buchstaben den Code bereithält. Führe den Code dann durch abrufen aus. Wenn du den Code anspruchsvoller gestalten möchtest, erledige auch die Teilaufgaben.
    1. Die Funktion einen Buchstaben an und gibt das passende Blinkmuster aus.
    2. Die Funktion nimmt ein ganzes Wort an und gibt das passende Blinkmuster aus. Das bedeutet, dass du den String zerlegen musst, je nach Ansatz.
  5. *Erstelle einen Code, der
    • für einen festgelegten Zeitraum gültig ist, beispielsweise von 14:00 Uhr bis 15:30 Uhr,
    • zu festgelegten Zeitpunkten entweder kurz oder lang, einfach oder mehrfach die LED blinken lässt.

Übung 2: Zwei LEDs steuern

  1. Schau dir die Übersicht zu den GPIO-Pins oben noch mal genau an. Es ist möglich, weitere Sensoren anzuschließen. Du benötigst jedes Mal einen weiteren (geeigneten) GPIO-Pin und eine Erdung (GND). Schließe unter Beachtung dieser Regel eine weitere LED mit dem Raspberry Pi. Dazu folgst du der Einleitung unter “Aufbau und Verkabelung” und wählst einfach einen anderen freien Pin.
  2. Erstelle einen Code, mit dem die LEDs abwechselnd blinken.
    1. Verändere die Geschwindigkeit.
    2. Verändere den Rhytmus. Die erste LED soll dabei auch mal mehrfach blinken, bevor der Wechsel erfolgt.
  3. *Setze den Rhytmus einer Melodie um.

Einen eigenen Raspberry Pi einrichten

(im Aufbau)

Du möchtest zuhause einen Raspberry Pi nutzen? Das ist eine tolle Idee! Im Internet, auf YouTube und unzähligen Websites, gibt es tolle Tutorials, die dir die Einrichtung eines Raspberry Pis erklären. Ich für meinen Teil habe das folgende für dich und mich notiert, nach meinem eigenen Workflow und nach eigenen Schwerpunkten.

5 Kommentare

  1. WU-Kurs Sla WU-Kurs Sla

    WU-Kurs von Fr. Schlagowsky bedankt sich bei Herr Camuka, dem Ehrenmann!

  2. Hi Mr. Camuka,

    sieht nach großem Spaß aus. Da werde ich mir wohl auch so eine Himbeere schießen.

    Rock on, digga!

    Mister Müller

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert