Passend zum Artikel „LEGO Sets selbst beleuchten“ dient diese Seite als Nachschlagewerk und Übersichtsseite fĂŒr alle Leser, die neu in das Thema einsteigen oder ihr Wissen noch einmal auffrischen wollen. Dazu werden die wichtigsten Themen und Begriffe hier kurz erlĂ€utert. FĂŒr tiefergehende Beschreibungen sind zudem weiterfĂŒhrende Links eingebunden.

Diese Seite soll nicht alles noch einmal aufzĂ€hlen, was anderswo im Internet bereits ausfĂŒhrlich erklĂ€rt steht, sondern soll vielmehr als Hilfe zur Selbsthilfe dienen.

Werkzeuge

Nicht jedes Projekt benötigt besonders ausgefeiltes Werkzeug. Essentiell ist neben diversen Verbrauchsmaterialien zunĂ€chst nur ein Lötkolben, zu Beginn genĂŒgt ein Standardmodell aus dem Baumarkt. Hilfreich ist auch eine sogenannte Dritte Hand, die die Platine oder das WerkstĂŒck festhalten kann, wĂ€hrend man in einer Hand den Lötkolben und in der anderen Hand das Lötzinn hĂ€lt.

Mit einer Entlötsaugpumpe kann man erhitztes Lötzinn absaugen, um Korrekturen vorzunehmen und Bauteile wieder auszubauen oder zu tauschen. Eine Abisolierzange ist nĂŒtzlich, um die Isolierung an Kabelenden vor dem Verlöten zu entfernen. Dies lĂ€sst sich mit etwas Übung aber auch geldsparend mit einer kleinen Zange oder einem feinen Messer bewerkstelligen.

Wer kompletter Neueinsteiger beim Thema Löten ist, findet im Internet viele ErklĂ€rungen und Tutorials rund um die richtigen Methoden und Vorgehensweisen. Eine sehr ausfĂŒhrliche Zusammenfassung ist zum Beispiel auf der Seite von Conrad zu finden.

Material

Materialien wie elektronische Bauteile, Kabel, Stecker und Lötzinn sind fĂŒr die vorgestellten Projekte natĂŒrlich unerlĂ€sslich. FĂŒr eigene Aufbauten und Tests bietet sich zudem ein „Breadboard“ (Steckbrett) an, auf das man Bauteile aufstecken kann, ohne Löten zu mĂŒssen. Dadurch kann die Schaltung wĂ€hrend der Entwurfsphase jederzeit korrigiert werden. ZusĂ€tzlich gibt es allerlei Zubehör, wie SteckbrĂŒcken, die zur Verbindung der Bauteile auf dem Steckbrett dienen.

Leuchtdioden (LEDs)

Bedrahtete Leuchtdioden (auch THT – „Through Hole Technology“ – LEDs genannt, da man sie zum Festlöten durch Löcher mit Kontaktrand steckt) mit 3 mm und 5 mm Durchmesser gehören vermutlich zu den populĂ€rsten Bauteilen, wenn es um kleine Elektronik-Basteleien zu Hause geht. LEDs sind gĂŒnstige Bauteile im Cent-Bereich, unterscheiden sich jedoch essenziell von „altbekannten“ Leuchtmitteln wie etwa GlĂŒhbirnen. Zum einen können sie nur in eine Richtung von Strom durchflossen werden (es ist also nicht egal, welches Beinchen an Plus und welches an Minus angeschlossen wird) zum anderen benötigen sie eine definierte Spannung und besitzen einen maximal zulĂ€ssigen Strom. Diese Werte sind abhĂ€ngig von den verwendeten Halbleitermaterialien der Diode, hĂ€ngen also vereinfacht gesagt mit der Farbe der LED zusammen.

Meistens sind in den gĂ€ngigen Elektronik-Onlineshops (Conrad, Reichelt, 
) alle wichtigen Daten bereits im Produktnamen enthalten. So handelt es sich bei „LED bedrahtet Rot Rund 5mm 14 mcd 60° 20 mA 2,25V“ um eine LED mit „Beinchen“ und 5 mm Durchmesser, die eine Spannung von 2,25 Volt und einen Strom von 20 Milliampere benötigt. Die beiden verbliebenen Werte „14 mcd“ und „60°“ geben die LichtstĂ€rke in Millicandela und den Öffnungswinkel an, in dem das Licht abgestrahlt wird. Zur Einordnung der Helligkeit anhand der angegebenen Werte gilt prinzipiell: je höher die LichtstĂ€rke bei gleichem Abstrahlwinkel, desto heller ist die LED. Da wir unsere Modelle aber nicht in direktem Sonnenlicht, sondern eher in gedimmten RĂ€umen zum Leuchten bringen wollen, reichen die gĂŒnstigen Varianten mit 10 mcd bis 50 mcd zunĂ€chst aus.

Wie bereits erwĂ€hnt, leuchten LEDs nur bei einem korrekten Einbau. Um diesen zu vereinfachen, besitzen THT-LEDs ein langes und ein kurzes Beinchen. Das kurze Beinchen ist hierbei die Kathode (= „Minus“), das lange Beinchen die Anode (= „Plus“). Hat man die DrĂ€hte schon zugelĂ€ngt und weiß deshalb nicht mehr, welches kurz und welches lang war, hat die Kuppel der LED zusĂ€tzlich eine leicht abgeflachte Stelle an der Seite der Kathode. Somit kann die Polung jederzeit eindeutig festgestellt werden.

Beim Schaltzeichen einer LED (siehe nÀchstes Bild) zeigt die Spitze des Dreiecks in Richtung des Minus-Pols der Spannungsquelle.

VorwiderstÀnde

Schaltplan LED

Eine Leuchtdiode benötigt, wie oben bereits erwĂ€hnt, eine gewisse Spannung und einen Strom bei dem sie „sich wohlfĂŒhlt“. Aufgrund ihres geringen Innenwiderstandes wĂŒrde die LED beim Anlegen der verlangten Spannung jedoch von einem sehr hohen Strom durchflossen, was schnell zu einer Zerstörung des Bauteils fĂŒhrt. Deshalb wird ein sogenannter Vorwiderstand benötigt, um Strom und Spannung auf die gewĂŒnschten Werte zu begrenzen. Dabei gilt: Je grĂ¶ĂŸer der Widerstand, desto kleiner der Strom. Gleichzeitig fĂ€llt ĂŒber einem grĂ¶ĂŸeren Widerstand aber mehr Spannung ab. Da in einem Schaltkreis allerdings nur eine gewisse Spannung (die Versorgungsspannung) zur VerfĂŒgung steht, verbleibt bei einem grĂ¶ĂŸeren Vorwiderstand somit weniger Spannung, die ĂŒber der LED abfĂ€llt. Möchte man also den benötigten Vorwiderstand fĂŒr eine LED berechnen, muss man die benötigte Spannung fĂŒr die LED von der Versorgungsspannung abziehen und das Ergebnis durch den benötigten Strom teilen:

R = (UV – ULED) / ILED

Viele Webseiten können bei diesem Schritt der Auslegung auch mithelfen, wenn man die Werte fĂŒr Versorgungs- und LED-Spannung sowie den benötigten Strom eingibt. Ein Beispiel wĂ€re hier der LED-Rechner auf der Website von Reichelt Elektronik. Solange die verwendete Quelle ausreichend Strom liefern kann, lassen sich mehrere (auch verschiedenfarbige) LEDs mit jeweils passendem Vorwiderstand parallel schalten.

In einem Widerstand wird elektrische Energie in WĂ€rme umgewandelt. Wird der Widerstand zu heiß, etwa durch zu viel Strom, kann das Bauteil beschĂ€digt werden. Die anfallende Leistung erhĂ€lt man, indem man den Widerstandswert mit dem Quadrat des (durch ihn fließenden) Stroms multipliziert:

P = R x IÂČ

Den maximalen Wert, mit dem man den Widerstand belasten kann, findet man in der Produktbeschreibung oder im Datenblatt (beispielsweise 0,25 W).

Schaltung LED Parallel

Die LEDs zum Leuchten bringen

Bevor wir die ersten LEDs verbauen, mĂŒssen wir uns Gedanken ĂŒber ihre Stromversorgung machen. Auch hier gibt es wieder unzĂ€hlige Möglichkeiten, die je nach Vorlieben, verfĂŒgbaren Materialien oder Anwendungsfall besser oder schlechter geeignet sein können. Ich bevorzuge aus verschiedenen GrĂŒnden eine Grundversorgung mit einer Spannung von 5 Volt. Dies hat mehrere Vorteile: Die Spannungsdifferenz zur LED ist relativ niedrig, somit entsteht weniger Verlustleistung am Vorwiderstand (es muss weniger Energie „verbrannt“ werden). Desweiteren sind 5 V eine StandardgrĂ¶ĂŸe in der Microcontroller-Welt. Viele Bauteile lassen sich mit einer Versorgungsspannung von 5 V betreiben und Arduino sowie Raspberry Pi besitzen 5 V – AusgĂ€nge, um externe Komponenten zu versorgen. ZusĂ€tzlich kann man sich diese Versorgungsspannung einfach mittels einer USB-Powerbank beschaffen.

Wer es lieber einfach mag, kann auch zu haushaltsĂŒblichen Batterien greifen. Diese lassen sich im Falle von 9V-Blockbatterien mit einem einfachen Clip, oder im Falle von AA-Batterien mit einer kleinen Batteriebox in den eigenen Stromkreis integrieren. Je höher die Spannung der Quelle ist, desto mehr Spannung muss ĂŒber dem Vorwiderstand abfallen, um auf die Betriebsspannung der LED zu gelangen. Durch den grĂ¶ĂŸeren Widerstandswert, der bei einer höheren Eingangsspannung benötigt wird, wird auch die Verlustleistung grĂ¶ĂŸer (siehe oben). Prinzipiell sollte man deshalb immer ĂŒberprĂŒfen, ob das verwendete Bauteil auch fĂŒr die anfallende Leistung ausgelegt ist.

Raspberry Pi

Der bekannte kleine Einplatinen-Computer wurde ursprĂŒnglich entwickelt, um der sinkenden Zahl von Informatikstudenten an der University of Cambrigde entgegenzuwirken. Das erste Modell kam 2012 auf den Markt und sollte Schulkindern die Gelegenheit geben, mit einem kostengĂŒnstigen PC im Kleinformat programmieren zu lernen und experimentieren zu können. Die GerĂ€te wurden schnell bei Bastlern beliebt, da den möglichen Anwendungen quasi keine Grenzen gesetzt sind. Von einem heimischen Netzwerkspeicher ĂŒber eine SmartHome-Zentrale bis hin zur Beleuchtung von LEGO Sets ist so ziemlich alles möglich.

Mittlerweile gibt es bereits die vierte Version des Raspberry Pi, die im Vergleich zum VorgĂ€ngermodell ein ordentliches Upgrade an Hardware spendiert bekommen hat, dafĂŒr jedoch auch leider mehr kostet. FĂŒr die hier vorgestellten Projekte reichen jedoch auch Ă€ltere Modelle aus, wer bei einer Neuanschaffung lieber erstmal etwas gĂŒnstiger fahren möchte kann zum Beispiel auf das Raspberry Pi 3 B+ zurĂŒckgreifen.

Raspberry Pi einrichten

Besitzt ihr ein neues GerĂ€t, benötigt ihr als erstes ein Betriebssystem. Statt den bekannteren Windows oder MacOS verwendet das Raspberry Pi ein eigens auf den kleinen Computer abgestimmtes Betriebssystem, das auf Linux basiert. Den Download dazu findet ihr hier: Raspberry Pi OS (ehemals „Raspbian“). Neben diesem „Standard-Betriebssystem“ existieren noch einige weitere Systeme, als Einsteiger darf man sich jedoch ruhig an die empfohlenen Auswahlmöglichkeiten im Verlauf der Installation halten.

Eine bebilderte Anleitung (auf Englisch) findet ihr direkt auf der Seite der Raspberry Pi Foundation: Setting up your Raspberry Pi

Es existieren zahlreiche Wege, ein Betriebssystem auf der SD-Karte zu installieren, weshalb hier auch keine eigene Anleitung veröffentlicht wird. Wer Begriffe wie „Raspberry Pi einrichten“ oder Ähnliches im Internet sucht, findet auch etliche deutschsprachige Anleitungen.

GPIO-Pins mit Python steuern

Die GPIO-Pinleiste ist in unseren Projekten die Basis zur Steuerung der verbauten LEDs. GPIO steht fĂŒr „General Purpose Input / Output“, also allgemein verwendbare Ein- und AusgĂ€nge. Die genauen Funktionen der einzelnen Pins lassen sich hier nachlesen. FĂŒr unsere Zwecke benötigen wir zu Beginn ersteinmal nur die einfachen Funktionen „Ein / Aus“ und eine sogenannte Pulsweitenmodulation (PWM). Zur Kommunikation mit anderen GerĂ€ten (zum Beispiel Displays oder Sensoren) beherrschen bestimmte Pins auch unterschiedliche Bussysteme, wie SPI oder I2C. Diese speziellen Funktionen werden in den hier vorgestellten Projekten jedoch nicht benötigt.

Achtung: Die steuerbaren GPIO-AusgĂ€nge können maximal 50 mA liefern. Die 5 V-Pins sind jedoch die leistungsstĂ€rksten des GerĂ€ts, und können den USB-Eingangsstrom (~1 A) abzĂŒglich aller anderen Verbraucher auf der Platine liefern (weitere Informationen (Englisch)). Zudem darf ein an den 5 V-Pins angeschlossenes Kabel auf keinen Fall einen anderen Pin oder eine leitende Stelle auf der Platine berĂŒhren, da sonst im ungĂŒnstigsten Fall das Raspberry Pi beschĂ€digt werden kann!

Um einzelne LEDs ansteuern zu können, muss man die gewĂŒnschte Funktion in einem Programm auf dem Raspberry Pi festlegen. Beliebte und geeignete Programmiersprachen sind hierbei unter Anderem Python oder C. FĂŒr meine Beispiele in den Artikeln habe ich Python verwendet. Wer bereits Erfahrung mit C hat oder sammeln möchte, kann diese Sprache ebenso gerne verwenden. Um die ersten Python Programme zu schreiben, eignet sich die IDE (Integrated Development Environment = integrierte Entwicklungsumgebung) „Thonny“. FĂŒr erste Schritte mit diesem Programm empfehle ich diesen Beitrag im „Developer-Blog“. Andere IDEs wie Geany eignen sich aber ebenso gut fĂŒr alles hier Vorgestellte.

Damit die erste LED leuchtet, benötigt man nur eine Hand voll Befehle. Zuerst mĂŒssen wir die Bibliothek „RPi.GPIO“ importieren, damit das Programm weiß, wie es mit den Befehlen auf die GPIO-Pins zugreifen soll.

import RPi.GPIO as GPIO

Als nÀchstes muss festgelegt werden, auf welche Art die Pins angesprochen werden sollen, also welche Konvention der Nummerierung verwendet wird. Sollen die Pin-Nummern verwendet werden (GPIO 17 wÀre dann die Nummer 11), benutzt man:

GPIO.setmode(GPIO.BOARD)

Soll jedoch die Nummer des GPIOs verwendet werden, schreibt man:

GPIO.setmode(GPIO.BCM)

Die Nummer 17 entspricht dann auch GPIO 17. Anschließend muss man die verwendeten Pins einrichten und ihre Funktion spezifizieren. Unterschieden wird zwischen Ausgang (OUT) und Eingang (IN). AusgĂ€nge können z.B. LEDs steuern, EingĂ€nge können den Zustand von Knöpfen oder Schaltern abfragen und auswerten.

GPIO.setup(nummer, GPIO.OUT)
GPIO.setup(nummer, GPIO.IN)

Nun ist alles bereit und die eingerichteten Pins können verwendet werden:

GPIO.output(nummer, GPIO.HIGH) #schaltet den Pin mit der Nummer nummer ein (=LED leuchtet)
GPIO.output(nummer, GPIO.LOW) #schaltet den Pin mit der Nummer nummer aus

Um den eingestellten Zustand (ein / aus) fĂŒr eine gewĂŒnschte Zeit zu halten, eignet sich der Befehl

time.sleep(sekunden) #Programm wartet fĂŒr die angegebene Zeit, bevor es den nĂ€chsten Befehl ausfĂŒhrt

Da dieser Befehl in einer anderen Bibliothek enthalten ist, mĂŒssen wir an den Anfang des Programms noch eine weitere Zeile einfĂŒgen:

import time

Diese Befehle sollten fĂŒr den ersten Test und das erste Erfolgserlebnis ausreichen. Eine ausfĂŒhrlichere ErklĂ€rung mit weiteren Befehlen und vielen Good-Practices (cleanup, exceptions, etc.) findet ihr im Netz auf dieser Seite. Ein Beispielprogramm zur Steuerung der Ampel aus meinem ersten Artikel lĂ€sst sich hier herunterladen: Ampelschaltung.py

Pulsweitenmodulation (PWM)

Änderungen in der Helligkeit von LEDs werden meistens mithilfe einer PWM umgesetzt. Hierbei wird der Strom in gewissen AbstĂ€nden an- und wieder ausgeschaltet, anstatt den Wert des Stroms zu reduzieren. Das VerhĂ€ltnis von „An“-Zeit zu „Aus“-Zeit resultiert dann in einer bestimmten Helligkeit. WĂŒrde dies langsam geschehen, wĂŒrde das menschliche Auge ein Blinken wahrnehmen, bei mehreren 100 Hz nimmt man es jedoch als gleichmĂ€ĂŸiges schwĂ€cheres Leuchten wahr.

Zur Verwendung einer PWM mĂŒssen die GPIO-Ports wie folgt definiert werden:

GPIO.setup(pin, GPIO.OUT)
name = GPIO.PWM(pin, frequenz) #Frequenz in Hz

Den „Duty Cycle“, also die Auslastung eines Zyklus kann man mit

name.start(dutyCycle)

setzen, wobei dutyCycle mit einem Wert zwischen 0 und 100 (Auslastung in Prozent) gesetzt werden muss. Weitere Befehle sind:

name.ChangeDutyCycle(newDutyCycle) #Ändert die Auslastung auf den Wert newDutyCycle
name.ChangeFrequency(newFrequency) #Ändert die Frequenz auf den Wert newFrequency (in Hz)
name.stop() #Beendet die PWM

Zufallszahlen

Mithilfe der Funktion

randint(low, high)

lassen sich (ganze) Zufallszahlen generieren, die im Intervall [low, high] liegen. Dazu muss lediglich zu Beginn des Programms noch das entsprechende Package importiert werden:

from random import randint

Ein Beispielprogramm fĂŒr den Einsatz von Zufallszahlen und PWM, um ein flackerndes Lagerfeuer zu erzeugen findet ihr hier: Lagerfeuer.py

Programme in den Autostart einbinden

WĂ€hrend man ein Programm schreibt und testet, genĂŒgt es vollkommen die Software manuell auszufĂŒhren, um einen Zwischenstand oder das Gesamtergebnis sehen zu können. Baut man die Beleuchtung jedoch in ein grĂ¶ĂŸeres Modell ein, ist es unpraktisch jedes Mal Bildschirm, Tastatur und Maus ans Raspberry anzuschließen (oder sich per SSH zu verbinden), um den Programmablauf zu starten. Einen eleganten Ausweg bietet die Möglichkeit, das gewĂŒnschte Programm einfach in den Autostart des Computers einzubinden, sodass dieses nach dem Hochfahren automatisch ausgefĂŒhrt wird. Eine ausfĂŒhrliche Schritt-fĂŒr-Schritt Anleitung dazu gibt es im deutschen Raspberry Pi Forum.

Ich hoffe, dass diese ErlĂ€uterungen dem ein oder anderen Leser beim Bau einer ersten eigenen Beleuchtung helfen konnten und eure Experimentierfreude geweckt haben. Mit weiteren Artikeln zum Thema Beleuchtung wird diese Hilfestellung immer wieder erweitert und mit neu vorgestellten Techniken aktualisiert. Wie so oft gilt aber auch hier: Probieren geht ĂŒber Studieren und mit etwas Übung erscheint alles nicht mehr so kompliziert wie zu Beginn!

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen


E-Mail Adresse wird nicht veröffentlicht.

*


Mit dem Absenden des Kommentars akzeptierst du unsere Netiquette.