Transistor einfach erklärt: NPN, PNP und Transistor als Schalter
Transistor einfach erklärt: NPN und PNP, Basiswiderstand berechnen, BC547, 2N2222A und TIP120 im Vergleich, Motor, Relais und LED-Streifen mit Arduino schalten.
Ein Transistor ist ein Halbleiterbauteil mit drei Beinchen, das mit einem kleinen Strom einen viel größeren Strom steuert. Er hat zwei Grundaufgaben: als elektronischer Schalter eine Last ein- und ausschalten und als Verstärker ein schwaches Signal größer machen. Ein Arduino-Pin liefert sicher nur etwa 20 mA; das reicht für eine LED, aber nicht für einen Motor, ein Relais oder einen 12-V-LED-Streifen. Genau hier kommt der Transistor ins Spiel: Mit wenigen Milliampere vom Pin steuert er Hunderte Milliampere oder sogar mehrere Ampere.
Der Transistor wurde 1947 in den Bell Labs von John Bardeen, Walter Brattain und William Shockley erfunden; er löste die Elektronenröhre ab und brachte Computer in unsere Hosentasche. Heute arbeiten im Prozessor deines Handys Milliarden winziger Transistoren, und auch im ATmega328P, dem Herz des Arduino, stecken unzählige davon. In diesem Artikel lernst du den Unterschied zwischen NPN und PNP, die Aufgabe von Basis, Kollektor und Emitter, die Berechnung des Basiswiderstands, den Vergleich von BC547, 2N2222A und TIP120, das Schalten von Motoren, Relais und LED-Streifen mit Arduino, ESP32 und Raspberry Pi Pico sowie das Bestimmen der Anschlüsse mit dem Multimeter.

Was ist ein Transistor und wie funktioniert er?
Stell dir einen Transistor wie einen Wasserhahn vor: Um den Griff zu drehen, braucht es nur wenig Kraft, aber durch das Rohr fließt viel Wasser. Beim Transistor ist der Griff der Basisstrom und das Wasser im Rohr der Hauptstrom, der vom Kollektor zum Emitter fließt. Das Verhältnis zwischen beiden ist die Stromverstärkung des Transistors; im Datenblatt heißt sie hFE oder β (Beta): IC = hFE × IB. Gibst du zum Beispiel 0,1 mA auf die Basis eines BC547 mit einem hFE von 200, können bis zu 20 mA durch den Kollektor fließen. Damit ein Silizium-Transistor leitet, müssen zwischen Basis und Emitter etwa 0,6–0,7 V anliegen; das ist die Schwellenspannung seines diodenähnlichen Übergangs. Der Strom aus dem Emitter ist die Summe beider: IE = IC + IB.
| Anschluss | Kürzel | Aufgabe | Wohin im NPN-Schalter? |
|---|---|---|---|
| Basis | B | Steueranschluss; hier fließt der kleine Strom hinein | Über einen Widerstand an den Arduino-Pin |
| Kollektor | C | Hier fließt der Laststrom hinein | An den Minusanschluss der Last |
| Emitter | E | Hier fließt der Gesamtstrom heraus (IE = IC + IB) | An GND |
Unterschied zwischen NPN- und PNP-Transistor
Bipolartransistoren (BJT) bestehen aus drei Halbleiterschichten. Beim NPN-Transistor ist die dünne P-Schicht in der Mitte die Basis; liegt die Basis etwa 0,7 V über dem Emitter, fließt Strom vom Kollektor zum Emitter. Beim PNP-Transistor ist alles umgekehrt: Der Emitter hängt an der positiven Versorgung, und wenn die Basis etwa 0,7 V unter den Emitter gezogen wird, fließt Strom vom Emitter zum Kollektor. Am einfachsten merkst du dir das Schaltzeichen am Pfeil am Emitter: Beim NPN zeigt er nach außen, beim PNP nach innen. In Arduino-Projekten ist NPN viel häufiger, weil der Emitter direkt an GND liegt und der Transistor einschaltet, wenn der Pin HIGH ist; die Last sitzt zwischen Plus und Kollektor. Das nennt man Low-Side-Schalter.
| Merkmal | NPN | PNP |
|---|---|---|
| Pfeil im Schaltzeichen | Zeigt vom Emitter nach außen | Zeigt zum Emitter hin |
| Emitter liegt an | GND (Minus) | Versorgung Plus (+) |
| Zum Einschalten liegt die Basis | ≈0,7 V über dem Emitter (Pin HIGH) | ≈0,7 V unter dem Emitter (Pin LOW) |
| Richtung des Hauptstroms | Kollektor zum Emitter | Emitter zum Kollektor |
| Position der Last | Zwischen Plus und Kollektor (Low-Side) | Zwischen Kollektor und GND (High-Side) |
| Typische Bauteile | BC547, S8050, 2N2222A, BC337, TIP120 | BC557, S8550, 2N2907A, BC327, TIP125 |
Arbeitsbereiche: Sperrbereich, aktiver Bereich und Sättigung
| Bereich | Bedingung | Kollektorstrom | UCE | Einsatz |
|---|---|---|---|---|
| Sperrbereich | UBE < ≈0,6 V, kein Basisstrom | Nahezu null | Fast die Versorgungsspannung | Schalter AUS |
| Aktiver Bereich | UBE ≈ 0,65–0,7 V, mittlerer Basisstrom | IC = hFE × IB | Ein Wert dazwischen | Verstärker |
| Sättigung | IB deutlich größer als IC / hFE | Durch Last und Versorgung begrenzt | 0,1–0,3 V (beim Darlington 0,8–2 V) | Schalter EIN |
Als Schalter betreibst du den Transistor nur in zwei Extremen: ganz aus (Sperrbereich) oder ganz an (Sättigung). Der aktive Bereich dazwischen ist für Verstärker gedacht und im Schalter unerwünscht, denn die Verlustleistung des Transistors ist P = UCE × IC. Ein gesättigter 2N2222A verliert bei 150 mA höchstens 0,3 V und erzeugt nur 45 mW Wärme; bleibt er beim gleichen Strom halb offen und verliert 3 V, setzt er 450 mW um. Das liegt sehr nahe an der Grenze von 625 mW des TO-92-Gehäuses, und der Transistor wird so heiß, dass du ihn nicht mehr anfassen kannst. Deshalb bekommt die Basis in Schalterschaltungen immer genug Strom, um den Transistor sicher in die Sättigung zu bringen.
Der Transistor als Verstärker
Im aktiven Bereich verstärkt ein Transistor kleine Änderungen an der Basis zu größeren Änderungen am Kollektor. Bei einem Transistor mit einem hFE von 200 steigt zum Beispiel der Kollektorstrom um 2 mA, wenn der Basisstrom um 10 µA steigt; an einem Kollektorwiderstand von 2,2 kΩ ist das eine Spannungsänderung von 4,4 V. Mikrofonvorverstärker, Radios und Audioverstärker arbeiten nach diesem Prinzip. Die häufigste Schaltung ist die Emitterschaltung: Ein Spannungsteiler legt die Basis in die Mitte des aktiven Bereichs, ein Widerstand am Emitter (RE) stabilisiert die Schaltung gegen Temperaturänderungen, und die Spannungsverstärkung beträgt etwa RC / RE, mit 4,7 kΩ und 470 Ω also rund das Zehnfache. Selbst in Elektretmikrofonen steckt ein winziger Transistor (ein JFET), der das Signal verstärkt. In Arduino-Projekten nutzt man zum Verstärken von Sensorsignalen meist fertige ICs; mehr dazu in Was ist ein Operationsverstärker?. Der Rest dieses Artikels konzentriert sich auf den Transistor als Schalter, den du mit Arduino am häufigsten brauchst.
Transistor als Schalter am Arduino anschließen
Die Schaltung, die du am häufigsten nutzen wirst, ist ein Low-Side-Schalter mit NPN-Transistor. Der Pluspol der Last (Motor, Relaisspule, LED-Streifen) kommt an den Pluspol der externen Versorgung, ihr Minuspol an den Kollektor des Transistors. Der Emitter geht an GND. Der Arduino-Pin wird immer über einen Widerstand mit der Basis verbunden; dieser Widerstand begrenzt sowohl den Strom aus dem Pin als auch den Basisstrom. Ein 10-kΩ-Widerstand zwischen Basis und GND verhindert, dass der Transistor beim Einschalten oder bei einem Reset von selbst durchschaltet, solange der Pin offen ist. So öffnet und schließt der Transistor nur den Weg der Last nach GND; die Last kann deshalb mit 12 V laufen, während der Arduino mit 5 V arbeitet.
| Verbindung | Arduino Uno | ESP32 | Raspberry Pi Pico |
|---|---|---|---|
| Steuerpin (Eingang des Basiswiderstands) | D9 (PWM) oder D7 | GPIO 18 | GP15 |
| Pull-down-Widerstand Basis–GND | 10 kΩ | 10 kΩ | 10 kΩ |
| Emitter | GND | GND | GND |
| Kollektor | Minus (−) der Last | Minus (−) der Last | Minus (−) der Last |
| Plus (+) der Last | Externe Versorgung + (z. B. 12 V) | Externe Versorgung + (z. B. 12 V) | VBUS (5 V) oder externe Versorgung + |
| Minus (−) der externen Versorgung | Arduino-GND (gemeinsame Masse) | ESP32-GND (gemeinsame Masse) | Pico-GND (gemeinsame Masse) |
Basiswiderstand berechnen: hFE und Sättigung
Für die Wahl des Basiswiderstands brauchst du zwei Werte: den Strom der Last (IC) und den minimalen hFE aus dem Datenblatt. Selbst beim gleichen Typ schwankt hFE stark von Exemplar zu Exemplar sowie mit Temperatur und Strom; beim BC547 liegt er zwischen 110 und 800. Deshalb rechnest du mit dem Minimalwert, nicht mit dem typischen, und multiplizierst das Ergebnis mit einem Sicherheitsfaktor von 2 bis 10. Die Formeln lauten: IB = (IC / hFE) × Sicherheitsfaktor und RB = (UPin − UBE) / IB. UPin ist beim Arduino Uno 5 V, beim ESP32 und Pico 3,3 V; UBE beträgt bei einem normalen Transistor etwa 0,7 V, bei einem Darlington wie dem TIP120 etwa 1,4 V. Eine gängige Abkürzung ist, für die Sättigung einen hFE von 10 anzunehmen (erzwungenes Beta); die Datenblätter geben die Sättigungsspannung genau unter dieser Bedingung an.
- Laststrom bestimmen: Ein 5-V-Relais mit 70 Ω Spulenwiderstand zieht nach dem ohmschen Gesetz 5 / 70 ≈ 71 mA. Für die Rechnung kannst du den Rechner Ohmsches Gesetz nutzen.
- Transistor wählen: 71 mA liegen sehr nah an der 100-mA-Grenze des BC547; der 2N2222A mit 600 mA ist die sicherere Wahl.
- Basisstrom berechnen: Mit einem erzwungenen Beta von 10 ergibt sich IB = 71 / 10 ≈ 7 mA.
- Widerstand berechnen: Am Uno ist RB = (5 − 0,7) / 0,007 ≈ 614 Ω; du nimmst den nächsthöheren Normwert 680 Ω, der Basisstrom liegt dann bei etwa 6,3 mA.
- Für 3,3-V-Boards wiederholen: Beim ESP32 oder Pico ergibt sich RB = (3,3 − 0,7) / 0,007 ≈ 371 Ω. Der nächste Normwert 390 Ω oder der häufigere 470 Ω (etwa 5,5 mA) reicht aus; das ist immer noch ein erzwungenes Beta von rund 13.
- Gegenprüfen: Der Pinstrom sollte unter 20 mA liegen, der Maximalstrom des Transistors mindestens das 1,5-Fache des Laststroms betragen und die Verlustleistung (UCE(sat) × IC ≈ 0,2 V × 71 mA ≈ 14 mW) weit unter der Gehäusegrenze bleiben.
| Last (Strom) | Empfohlener Transistor | Arduino Uno (5 V) | ESP32 / Pico (3,3 V) |
|---|---|---|---|
| LED-Gruppe, Summer (20–50 mA) | BC547, S8050 | 2,2 kΩ (≈2 mA) | 1,2 kΩ (≈2,2 mA) |
| 5-V-Relaisspule (70–90 mA) | 2N2222A, BC337, S8050 | 680 Ω (≈6,3 mA) | 470 Ω (≈5,5 mA) |
| Kleiner DC-Motor, kurzer LED-Streifen (0,3–1 A) | TIP120 | 1 kΩ (≈3,6 mA) | 470 Ω (≈4 mA) |
| Über 1,5 A (großer Motor, langer LED-Streifen) | Logic-Level-MOSFET | IRLZ44N; 220 Ω zum Gate, 10 kΩ Gate–GND | IRLB8721; 220 Ω zum Gate, 10 kΩ Gate–GND |
BC547, 2N2222A und TIP120: beliebte Transistoren im Vergleich
| Typ | Art / Gehäuse | UCEO | Dauerstrom IC | hFE | Pinbelegung | Typischer Einsatz |
|---|---|---|---|---|---|---|
| BC547 | NPN / TO-92 | 45 V | 100 mA | 110–800 (Gruppen A, B, C) | C-B-E | LEDs, Summer, Signale schalten |
| BC557 | PNP / TO-92 | 45 V | 100 mA | 125–800 | C-B-E | PNP-Gegenstück zum BC547, High-Side-Schalter |
| S8050 | NPN / TO-92 | 25 V | 500 mA | 85–300 (je nach Gruppe) | E-B-C | Starterkits, Relaismodule |
| 2N2222A | NPN / TO-92 | 40 V | 600 mA | 100–300 (bei 150 mA) | E-B-C | Relais, kleine Motoren, Lüfter |
| BC337 | NPN / TO-92 | 45 V | 800 mA | 100–630 | C-B-E | Relais, LED-Gruppen, Vibrationsmotoren |
| TIP120 | NPN-Darlington / TO-220 | 60 V | 5 A | Mindestens 1000 | B-C-E | DC-Motoren, LED-Streifen, Hubmagnete |
Die Pinbelegung liest du von links nach rechts, mit der flachen, beschrifteten Seite zu dir und den Beinchen nach unten. Achtung: BC547 und 2N2222A haben eine umgekehrte Reihenfolge (C-B-E und E-B-C); tauschst du den einen gegen den anderen, musst du Kollektor und Emitter vertauschen. 2N2222 im Metallgehäuse (TO-18) und Nachbauten verschiedener Hersteller können anders belegt sein; prüfe im Zweifel mit dem Multimeter. Der TIP120 ist ein Darlington-Transistor: Er enthält zwei hintereinandergeschaltete Transistoren, hat deshalb eine Verstärkung von mindestens 1000 und lässt sich über 1 kΩ direkt vom Arduino-Pin ansteuern. Der Preis dafür sind 1–2 V Spannungsabfall und die Wärme: Bei 1 A entsteht etwa 1 W, und ein TO-220-Gehäuse ohne Kühlkörper wird rund 60 °C wärmer als die Umgebung. Auch fertige Treiberplatinen bestehen aus Transistoren: Die ULN2003-Platine des Schrittmotors 28BYJ-48 enthält sieben Darlingtons, das L298N-Modul zwei H-Brücken aus Transistoren.
DC-Motor mit Arduino steuern: TIP120 und Freilaufdiode
Jetzt stellen wir mit einem Potentiometer die Drehzahl eines kleinen 6–12-V-DC-Motors ein. Der PWM-Pin 9 des Arduino geht über 1 kΩ an die Basis des TIP120, der Motor liegt zwischen dem Pluspol der externen Versorgung und dem Kollektor des TIP120; der Emitter geht an GND. Die äußeren Anschlüsse des Potentiometers kommen an 5V und GND, der Schleifer an A0. Parallel zum Motor kommt in Sperrrichtung eine Freilaufdiode (1N4007 oder die schnellere 1N5819): Die Kathode mit dem Ring zeigt zum Pluspol, das andere Ende zum Kollektor. Das PWM-Signal schaltet den Transistor Hunderte Male pro Sekunde ein und aus, und der Motor dreht je nach mittlerer Spannung langsamer oder schneller.
1// TIP120 ile DC motor hız kontrolü / DC motor speed control with a TIP120
2const int MOTOR_PIN = 9; // PWM pini, 1 kΩ ile TIP120 beyzine / PWM pin, to the TIP120 base via 1 kΩ
3const int POT_PIN = A0; // potansiyometre orta ucu / potentiometer wiper
4
5void setup() {
6 pinMode(MOTOR_PIN, OUTPUT);
7 Serial.begin(9600);
8}
9
10void loop() {
11 int pot = analogRead(POT_PIN); // 0–1023
12 int speed = map(pot, 0, 1023, 0, 255); // PWM değerine çevir / convert to a PWM value
13 if (speed < 40) speed = 0; // çok düşükte motor yalnızca vızıldar / too low, the motor only hums
14 analogWrite(MOTOR_PIN, speed);
15 Serial.println(speed);
16 delay(50);
17}
Relais schalten: 5-V-Relais mit 2N2222A
Fertige Relaismodule enthalten diese Schaltung bereits: einen kleinen Transistor, einen Basiswiderstand und eine Freilaufdiode. Nutzt du ein nacktes 5-V-Relais, baust du sie selbst auf: Die Relaisspule kommt zwischen 5V und den Kollektor des 2N2222A, eine 1N4007 in Sperrrichtung parallel zur Spule, und Pin D7 über 680 Ω an die Basis. Der folgende Code zieht das Relais an, wenn du im seriellen Monitor 1 eingibst, und lässt es bei 0 wieder los. Bevor du über die Relaiskontakte 230 V schaltest, lies unbedingt die Sicherheitsregeln in Was ist ein Relaismodul?.
1// 2N2222A ile 5 V röle sürme / Driving a 5 V relay with a 2N2222A
2const int RELAY_PIN = 7; // 680 Ω ile transistör beyzine / to the transistor base via 680 Ω
3
4void setup() {
5 pinMode(RELAY_PIN, OUTPUT);
6 digitalWrite(RELAY_PIN, LOW); // açılışta kapalı / off at startup
7 Serial.begin(9600);
8 Serial.println("1: röle açık / relay on, 0: röle kapalı / relay off");
9}
10
11void loop() {
12 if (Serial.available() > 0) {
13 char c = Serial.read();
14 if (c == '1') {
15 digitalWrite(RELAY_PIN, HIGH); // transistör doyumda, röle çeker / transistor saturated, relay pulls in
16 Serial.println("Röle açık / relay on");
17 } else if (c == '0') {
18 digitalWrite(RELAY_PIN, LOW); // transistör kesimde, röle bırakır / transistor cut off, relay releases
19 Serial.println("Röle kapalı / relay off");
20 }
21 }
22}Transistoren mit ESP32 und Raspberry Pi Pico
Die Pins von ESP32 und Pico liefern 3,3 V, deshalb musst du den Basiswiderstand für 3,3 V berechnen; ein für 5 V gewählter 1-kΩ-Widerstand liefert einem TIP120 bei 3,3 V nur 1,9 mA. Das folgende ESP32-Beispiel dimmt einen 12-V-LED-Streifen über GPIO 18 per PWM sanft hoch und runter. Ein 5050-Streifen mit 60 LEDs pro Meter zieht etwa 1,2 A pro Meter; für ein 1-m-Stück reicht ein TIP120 mit 470 Ω Basiswiderstand, aber vergiss den kleinen Kühlkörper nicht. Ein LED-Streifen hat keine Spule, deshalb ist keine Freilaufdiode nötig. Der Code nutzt die Funktionen ledcAttach und ledcWrite aus Version 3.x des ESP32-Arduino-Cores; die ältere Version 2.x verwendete stattdessen ledcSetup und ledcAttachPin.
1// ESP32 ile 12 V LED şerit parlaklığı (TIP120) / 12 V LED strip brightness with ESP32 (TIP120)
2const int STRIP_PIN = 18; // 470 Ω ile TIP120 beyzine / to the TIP120 base via 470 Ω
3
4void setup() {
5 ledcAttach(STRIP_PIN, 1000, 8); // 1 kHz, 8 bit (0–255); çekirdek 3.x / core 3.x
6}
7
8void loop() {
9 for (int d = 0; d <= 255; d++) { // yavaşça aydınlan / fade in
10 ledcWrite(STRIP_PIN, d);
11 delay(10);
12 }
13 delay(1000);
14 for (int d = 255; d >= 0; d--) { // yavaşça karar / fade out
15 ledcWrite(STRIP_PIN, d);
16 delay(10);
17 }
18 delay(1000);
19}Einen Transistor mit dem Raspberry Pi Pico in MicroPython anzusteuern funktioniert genauso. Der folgende Code liest den internen Temperatursensor des Pico; erreicht die Temperatur 32 °C, startet er über einen Transistor an GP15 einen kleinen 5-V-Lüfter und stoppt ihn wieder, wenn sie auf 29 °C fällt. Zwei getrennte Schwellen (Hysterese) verhindern, dass der Lüfter an der Grenze ständig ein- und ausschaltet. Der Lüfter wird über den VBUS-Pin (die 5 V vom USB) versorgt; für einen Lüfter mit etwa 100 mA reicht ein BC337 oder 2N2222A mit 1 kΩ, und auch hier kommt eine Diode parallel zum Lüfter. Die Chiptemperatur liegt ein paar Grad über der Umgebung; in einem echten Projekt ist ein Sensor wie der DS18B20 genauer.
1# Pico yonga sıcaklığına göre fan / Fan controlled by the Pico's chip temperature
2from machine import Pin, ADC
3import time
4
5fan = Pin(15, Pin.OUT, value=0) # 1 kΩ ile transistör beyzine / to the transistor base via 1 kΩ
6sensor = ADC(4) # yonga içi sıcaklık sensörü / on-chip temperature sensor
7ON_C, OFF_C = 32, 29 # açma ve kapama eşikleri / switch-on and switch-off thresholds
8
9while True:
10 v = sensor.read_u16() * 3.3 / 65535
11 temp = 27 - (v - 0.706) / 0.001721 # RP2040 veri sayfası formülü / RP2040 datasheet formula
12 if temp >= ON_C:
13 fan.value(1) # transistör iletimde, fan döner / transistor on, fan spins
14 elif temp <= OFF_C:
15 fan.value(0) # transistör kesimde, fan durur / transistor off, fan stops
16 print("{:.1f} C, fan: {}".format(temp, fan.value()))
17 time.sleep(1)Transistor-Anschlüsse mit dem Multimeter bestimmen
- Nimm den Transistor aus der Schaltung und stelle das Multimeter auf den Diodentest (Diodensymbol).
- Halte die rote Messspitze an ein Beinchen und berühre nacheinander die beiden anderen mit der schwarzen. Zeigen beide Messungen 0,5–0,8 V, ist das Beinchen unter der roten Spitze die Basis, und der Transistor ist ein NPN.
- Findest du kein solches Beinchen, tausche die Messspitzen: Zeigen die beiden anderen Beinchen 0,5–0,8 V, während die schwarze Spitze auf einem Beinchen bleibt, ist dieses die Basis, und der Transistor ist ein PNP.
- Vergleiche die Werte zwischen Basis und den anderen beiden Beinchen: Der etwas höhere (zum Beispiel 0,65 V gegenüber 0,62 V) ist der Emitter, der niedrigere der Kollektor. Ist der Unterschied sehr klein, verlass dich auf das Datenblatt.
- Zwischen Kollektor und Emitter solltest du in beiden Richtungen OL (offen) sehen; auch die Gegenrichtung der Basismessungen sollte OL zeigen.
- Hat dein Multimeter eine hFE-Fassung, stecke den Transistor mit der ermittelten Belegung in den NPN- oder PNP-Steckplatz; das Display zeigt die Stromverstärkung.
Bei Darlington-Transistoren wie dem TIP120 liegen zwischen Basis und Emitter zwei Übergänge und interne Widerstände (etwa 8 kΩ und 120 Ω), daher folgen die Messwerte dieser Regel nicht; prüfe die Belegung im Datenblatt. Zeigt die Messung zwischen Kollektor und Emitter in beiden Richtungen fast null, hat der Transistor einen Kurzschluss; zeigt die Basis in keiner Richtung einen Wert zu den anderen Beinchen, ist ein Übergang im Inneren unterbrochen. Die Messbereiche des Multimeters erklärt der Artikel Multimeter richtig benutzen.
Projektideen mit Transistoren
- Automatisches Nachtlicht: Erkennt ein LDR Dunkelheit, schaltet ein TIP120 einen 12-V-LED-Streifen ein.
- Intelligenter Lüfter: Steigt die mit dem DHT11 gemessene Temperatur, erhöhst du die Lüfterdrehzahl per PWM und Transistor.
- Automatische Bewässerung: Meldet ein Bodenfeuchtesensor trockene Erde, läuft eine kleine Wasserpumpe über einen Transistor.
- Codeschloss: Nach Eingabe des richtigen Codes am Keypad öffnet ein TIP120 mit Diode ein 12-V-Magnetschloss.
- Lautlose Benachrichtigung: Steuere einen Vibrationsmotor mit einem BC337 an und baue ein tragbares Warngerät.
- Lauter Alarm: Erkennt ein PIR-Sensor Bewegung, lässt ein Transistor eine 12-V-Sirene ertönen, die ein Arduino-Pin allein nicht treiben könnte.
Häufige Fehler und Lösungen
| Symptom | Mögliche Ursache | Lösung |
|---|---|---|
| Die Last funktioniert gar nicht | Keine gemeinsame Masse oder Beinchen vertauscht | Minuspole der Versorgungen verbinden, Pinbelegung prüfen |
| Der Transistor wird sehr heiß | Er geht nicht in Sättigung (zu wenig Basisstrom) oder der Maximalstrom ist überschritten | Basiswiderstand verkleinern, stärkeren Transistor oder MOSFET wählen |
| Arduino startet neu oder Transistor stirbt, wenn der Motor stoppt | Keine Freilaufdiode | 1N4007 oder 1N5819 in Sperrrichtung parallel zur Last, Ring zum Pluspol |
| Die Last läuft, obwohl der Pin LOW ist | Transistor durchgebrannt (C-E-Kurzschluss) oder Basis offen | Transistor mit dem Multimeter prüfen, 10 kΩ zwischen Basis und GND einbauen |
| Der PNP-Transistor schaltet nie ab | Der Emitter liegt an 12 V, der Pin liefert höchstens 5 V | Basis des PNP über einen NPN ansteuern oder die Last mit NPN auf der Low-Side schalten |
| Der Arduino-Pin ist defekt | Pin ohne Widerstand direkt an die Basis gelegt | Immer einen Basiswiderstand verwenden, Pinstrom unter 20 mA halten |
| Mit ESP32 oder Pico läuft die Last nur schwach | Widerstand für 5 V berechnet oder MOSFET schaltet bei 3,3 V nicht voll durch | Basiswiderstand für 3,3 V berechnen, 3,3-V-tauglichen MOSFET wählen |
Der Transistor ist der Schlüssel, um mit einem kleinen Signal große Lasten zu steuern, also deinen Arduino mit der echten Welt zu verbinden. Sobald Basiswiderstand, gemeinsame Masse und Freilaufdiode sitzen, verlieren Motoren, Pumpen und LED-Streifen ihren Schrecken. In der BlueGrays-App findest du Projekte wie ein LDR-Nachtlicht, einen Summer, LED-Dimmen per PWM, einen Schrittmotor und das Schalten einer 230-V-Lampe Schritt für Schritt mit Schaltplan und Code.
Häufige Fragen
Wofür braucht man einen Transistor?
Ein Transistor erfüllt zwei Grundaufgaben: Er arbeitet als elektronischer Schalter, der mit einem kleinen Strom einen großen ein- und ausschaltet, und als Verstärker, der ein schwaches Signal größer macht. In Arduino-Projekten steuert er vor allem Lasten, die ein Pin allein nicht treiben kann, etwa Motoren, Relais, Lüfter und LED-Streifen.
Was ist der Unterschied zwischen NPN und PNP?
Beim NPN-Transistor liegt der Emitter an GND, und er leitet, wenn die Basis etwa 0,7 V über dem Emitter liegt; der Strom fließt vom Kollektor zum Emitter. Beim PNP liegt der Emitter an Plus, und er schaltet ein, wenn die Basis 0,7 V unter den Emitter gezogen wird. Um eine Last mit dem Arduino auf der GND-Seite zu schalten, ist NPN einfacher.
Wie erkenne ich die Anschlüsse eines Transistors?
Am sichersten ist das Datenblatt: Mit der beschrifteten Seite zu dir ist die Belegung von links nach rechts beim BC547 C-B-E, beim 2N2222A E-B-C und beim TIP120 B-C-E. Ohne Datenblatt findest du Basis und Typ mit dem Diodentest des Multimeters und erkennst den Emitter daran, dass der Basis-Emitter-Wert etwas höher ist als der Basis-Kollektor-Wert.
Welchen Transistor soll ich für Arduino nehmen?
Für Lasten bis 50 mA wie LEDs und Summer reicht ein BC547. Für 5-V-Relaisspulen (70–90 mA) und kleine Motoren bis 500 mA nimmst du einen 2N2222A oder BC337, für Motoren und LED-Streifen um 1 A einen TIP120. Bei höheren Strömen bleibt ein Logic-Level-MOSFET kühler.
Wie groß muss der Basiswiderstand sein?
Der Basiswiderstand wird mit RB = (UPin − UBE) / IB berechnet; bei normalen Transistoren ist ein Zehntel des Laststroms ein guter Startwert für IB. Am Arduino Uno sind 680 Ω für ein 5-V-Relais, 2,2 kΩ für Lasten von 20–50 mA wie LEDs und Summer und 1 kΩ für einen TIP120 typische Werte.
Warum wird mein Transistor heiß?
Die Wärme eines Transistors berechnet sich mit P = UCE × IC. Ist der Basisstrom zu klein, geht der Transistor nicht in Sättigung, an ihm bleiben einige Volt stehen, und er wird heiß; dasselbe passiert, wenn der Laststrom seinen Maximalwert übersteigt. Verkleinere den Basiswiderstand, wähle einen stärkeren Transistor oder einen MOSFET und nutze über 1 A einen Kühlkörper.
Projekte, die du danach bauen kannst
Alle Projekte ansehen
Nachtlicht mit LDR
LDR-basiertes Nachtlichtprojekt, das die LED automatisch aufleuchtet, wenn die Umgebung dunkel wird. Lehrt automatische Steuerungslogik mit analogem Schwellenwertvergleich.

Verwendung des Summers
Basic-Projekt, das den Summer verwendet, um einen Ton mit einer bestimmten Frequenz und in bestimmten Intervallen zu erzeugen. Lehrt die Verwendung der Funktionen tone() und noTone().

ESP32 LED-Überblendung mit PWM
Ändern Sie die Helligkeit der LED stufenlos von 0 bis max, von max bis 0. Wir steuern PWM mit analogWrite() wie in Arduino - die gleiche Syntax mit ESP32 Arduino Core 3.0+ funktioniert reibungslos. Pin-Definition + pinMode + analogWrite ist genug.

Raspberry Pi Pico PWM LED Fade (Atem-Effekt, GP14)
Die LED blinkt nicht mehr nur — sie atmet! 🌬️ Mit der **PWM** (Pulsweitenmodulation) des Raspberry Pi Pico steigt die Helligkeit langsam an und fällt wieder ab. Lerne die machine.PWM-Klasse, duty_u16() (16-Bit-Helligkeit 0–65535), PWM-Frequenz, range()-Schleifen und analogähnliche Ausgabe. Grundlage für RGB-Farbmischung, Motorsteuerung, Servos und Buzzer.

Verwendung von Schrittmotoren
Einfaches Projekt, das einen 28BYJ-48 Schrittmotor mit einer ULN2003A-Treiberplatine um eine volle Umdrehung im und gegen den Uhrzeigersinn dreht. Lehrt die Schritt- und Richtungssteuerung des Schritt

220V Glühbirne mit Druckknopf (Push)
Projekt zur Steuerung einer 220-V-Glühbirne mit einem Druckknopf unter Verwendung eines Relaismoduls. Lehrt die Grundlagen des Hochspannungsschaltens mit Relais.

Intelligente Bewässerungsstation
Autonomes Pflanzenbewässerungssystem, das 24/7 ohne Ermüdung arbeitet Arduino mit zwei 18650 Batterien und LM2596 Regler. Es steuert automatisch den Wassermotor durch kontinuierliche Messung der Boden

ESP32 Intelligente Beleuchtung (PIR + LDR + Relais + OLED)
Verwandle deinen Flur, dein Badezimmer oder deine Speisekammer mit dem ESP32 in intelligente Beleuchtung! Mit einem PIR-Bewegungssensor, einem LDR-Lichtsensor und einem Relaismodul realisieren wir das klassische Szenario "Licht geht an, wenn im Dunkeln Bewegung erkannt wird" — bei Tageslicht bleibt das Licht trotz Bewegung aus, was tagsüber Energie spart. Das Licht bleibt 30 Sekunden lang an; bei anhaltender Bewegung wird der Timer zurückgesetzt und das Licht bleibt länger an. Das SSD1306 OLED-D

