ESP32 C3 Super Mini - PC817-Optokoppler: 12V/24V-DC-Eingangssignal überwachen
Der ESP32 C3 Super Mini ist klein genug, um in einem Projektgehäuse zu verschwinden, aber jeder seiner GPIO-Pins verträgt höchstens 3,3V DC – eine 12V-DC- oder 24V-DC-Leitung von einem Auto, einer Türklingel oder einem Maschinenschaltschrank würde das Board in dem Moment zerstören, in dem Sie sie an einen Pin anlegen. Ein PC817-Optokoppler-Isolationsmodul ist das günstige, fertige Bauteil, das dieses Problem löst, und es ist kaum größer als das Board selbst.
Meistens lautet die eigentliche Frage nicht „Liegt ein Signal an?", sondern „Läuft dieses Gerät gerade wirklich?" – dreht sich die Pumpe, hat der Gong seinen Befehl erhalten, zieht die Heizung noch Strom. Ein PC817-Modul, das parallel an einem 12V- oder 24V-Gerät abgreift, beantwortet genau das, und der ESP32 C3 Super Mini ist klein genug, um dauerhaft im Gerät zu bleiben und diese Frage immer wieder zu beantworten.
In diesem Tutorial lernen Sie:
- Was ein PC817-Optokopplermodul ist und wie es Ihren ESP32 C3 Super Mini von 12V DC und 24V DC isoliert
- Wie Sie zuerst die zu überwachende Leitung messen und dann das passende 3-5V-, 12V- oder 24V-Modul kaufen
- Wie Sie die Schraubklemmen und die Ausgangsstiftleiste des Moduls mit dem ESP32 C3 Super Mini verdrahten
- Wie Sie das Modul an bereits installierten Geräten abgreifen, um zu überwachen, ob sie ein- oder ausgeschaltet sind
- Wie Sie herausfinden, ob Ihr Modul Active-LOW oder Active-HIGH liest, und dies mit einer Konstante im Code umkehren
- Wie Sie denselben Eingang auf Wunsch aus dem nackten PC817-Chip und einem eigenen Widerstand aufbauen
- Warum die 12V/24V-Masse niemals die GND Ihres ESP32 C3 Super Mini berühren darf

Warum der ESP32 C3 Super Mini einen PC817 braucht
- Nur 3,3V-Logik: Dieses Board ist ein 3,3V-Design und nicht 5V-tolerant, daher liegt ein 12V-DC- oder 24V-DC-Draht weit außerhalb dessen, was ein GPIO-Pin überleben kann
- Keine gemeinsame Verdrahtung: Der PC817 überträgt das Signal als Licht, sodass kein Strom aus dem 12V/24V-Kreis jemals das Board erreicht
- Winziger Platzbedarf: Ein einkanaliges PC817-Modul passt neben den ESP32 C3 Super Mini in ein Gehäuse, in das ein Board in voller Größe niemals passen würde
- Günstig genug zum Nachrüsten: Beide Teile kosten so wenig, dass Sie eines dauerhaft in bestehenden 12V-Geräten verdrahtet lassen können
- Nur ein digitales Lesen: Sobald das Modul eingebaut ist, ruft Ihr Code nur digitalRead() auf – keine Bibliothek, keine analoge Rechnerei
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Hinweis: Kaufen Sie EIN Modul – die Variante, die zu der Leitung passt, die Sie überwachen möchten. Der nächste Abschnitt zeigt Ihnen, wie Sie herausfinden, welche das ist.
Wie ein PC817-Optokopplermodul funktioniert
Ein PC817-Optokoppler-Isolationsmodul ist eine kleine Platine, die um den 4-poligen PC817-Chip herum aufgebaut ist. In diesem Chip steht eine Infrarot-LED einem Fototransistor über einen isolierenden Spalt gegenüber: Strom durch die LED erzeugt Licht, das Licht schaltet den Transistor ein, und das ist schon der ganze Trick. Da das Signal als Licht statt als Elektrizität übertragen wird, bleiben die 12V/24V-Seite und die Seite des ESP32 C3 Super Mini elektrisch getrennt.
Was das Modul um den Chip herum ergänzt, erspart Ihnen Arbeit: Der Vorwiderstand für die Eingangs-LED ist bereits bestückt, der Eingang kommt über Schraubklemmen, die Feldverdrahtung direkt aufnehmen, und eine Status-LED auf der Eingangsseite zeigt Ihnen auf einen Blick, wann die Leitung unter Spannung steht. Module gibt es in Versionen mit 1, 2, 4 und 8 Kanälen.
Hauptmerkmale des PC817 im Modul:
- Isolationsspannung: 5000 Vrms für 1 Minute zwischen Eingangs- und Ausgangsseite
- Eingangs-LED: etwa 1,2 V Durchlassspannung, maximal 20 mA Dauerstrom, mit 5-20 mA als normalem Arbeitsbereich
- Ausgangstransistor: maximal 35 V Kollektor-Emitter-Spannung, maximal 50 mA Kollektorstrom, 150 mW Verlustleistung
- Stromübertragungsverhältnis (CTR): 50% bis 600%, je nach auf dem Bauteil aufgedruckter Klasse (Klasse A 80-160%, B 130-260%, C 200-400%, D 300-600%)
- Geschwindigkeit: etwa 4 us Anstiegszeit und 3 us Abfallzeit, was für alles, was ein Mensch oder eine Maschinenleuchte tut, sofort ist
- Temperaturbereich: -30 C bis +100 C
Warum dies für Einsteiger mit dem ESP32 C3 Super Mini geeignet ist:
- Nichts zu berechnen – der Widerstand des Moduls wurde ab Werk für seine Eingangsspannung dimensioniert
- Es gibt nichts zu kalibrieren und nichts zu konfigurieren
- Ein Verdrahtungsfehler auf der 12V/24V-Seite endet am Modul, statt Ihr Board zu erreichen
- Dank Schraubklemmen können Sie die Felddrähte installierter Geräte anschließen, ohne dass ein Steckbrett in der Nähe sein muss
Welches Optokopplermodul brauche ich? Messen Sie zuerst die Leitung
Fast alles auf dieser Seite ist eine Nachrüstung – Sie überwachen einen Gong, eine Pumpe oder eine Schaltschrankleuchte, die jemand anderes installiert hat. Die ehrliche Antwort auf „Welches Modul?" beginnt daher mit „Ich weiß es noch nicht, ich messe erst". Tun Sie das, bevor Sie etwas bestellen.
Die Leitung in drei Schritten messen:
- Stellen Sie ein Multimeter auf Gleichspannung (DC) und legen Sie die schwarze Messspitze an den Minus- oder Rückleiteranschluss des zu überwachenden Geräts
- Legen Sie die rote Messspitze an den Plus- oder geschalteten Anschluss und schalten Sie dann das Gerät ein – drücken Sie den Klingelknopf, lassen Sie den Thermostat die Pumpe anfordern, was auch immer es normalerweise ansteuert
- Lesen Sie die Spannung ab, während es eingeschaltet ist. Diese Zahl, nicht die Angabe auf dem Netzteil, ist das, wofür Sie ein Modul kaufen
| Was das Messgerät bei eingeschaltetem Gerät anzeigt | Dieses Modul kaufen | Typische Quellen |
|---|---|---|
| Etwa 12 V DC | 12V-Modul | Türgongs, Garagentorsteuerungen, Kfz-Stromkreise, kleine Pumpen und Lüfter |
| Etwa 24 V DC | 24V-Modul | Maschinenschaltschrankleuchten, Schütz- und Magnetspulen, SPS-Ausgänge, HLK-Steuerungen |
| 3,3 V oder 5 V DC | 3-5V-Modul | Logikausgänge, Sensorplatinen, die Steuerplatine in einem Gerät |
Warum die Variante so wichtig ist: Der Vorwiderstand des Moduls ist auf der Platine bestückt und für genau diese eine Eingangsspannung dimensioniert. Die Wahl der Variante ist beim Modul das Gegenstück zur Dimensionierung des Widerstands – es ist die einzige Kaufentscheidung auf dieser Seite, bei der etwas schiefgehen kann.
WARNING
Verwechseln Sie die Varianten nicht.
Versorgen Sie ein 12V-Modul aus einer 24V-Leitung, fließt etwa der doppelte vorgesehene Strom durch die interne LED, was sie beschädigt.
Versorgen Sie ein 24V-Modul aus einer 12V-Leitung, wird die LED zu schwach angesteuert, sodass der Ausgang verspätet, unzuverlässig oder überhaupt nicht schaltet.
Wenn Sie ein fertiges ESP32 C3 Super Mini-Projekt später von einer 12V-Maschine auf eine 24V-Maschine umziehen, tauschen Sie das Modul – der Code ändert sich nicht.
Auch ein 3,3V- oder 5V-Signal lohnt sich zu isolieren:
- Greifen Sie zum 3-5V-Modul, wann immer die beiden Schaltungen von getrennten Netzteilen versorgt werden, Meter voneinander entfernt sind oder eine Seite elektrisch verrauscht ist – eine lange Kabelstrecke, ein Motortreiber oder die Niederspannungs-Steuerplatine tief in einem netzbetriebenen Gerät. Bei der Isolierung geht es darum, den Massepfad zu unterbrechen, nicht nur darum, eine hohe Spannung zu überleben
- Für den Eingang zählt der Strom, nicht die Spannung: Eine 5V-Schiene, die zehn Ampere liefern kann, belastet die LED des Moduls nicht stärker als eine, die nur zehn Milliampere liefern kann, weil der Widerstand auf der Platine den LED-Strom in beiden Fällen festlegt. Was die kräftige Versorgung ändert, ist, wie viel Schaden ein Verdrahtungsfehler an anderer Stelle anrichtet – ein weiteres Argument für die Isolierung
- 3,3V ist die praktische Untergrenze. Allein die interne LED verbraucht davon etwa 1,2 V, sodass darunter nur sehr wenig Spielraum bleibt
Verdrahtungsdiagramm
Wir lesen das isolierte Signal an D5. Dieser Pin ist ein einfacher GPIO am ESP32 C3 Super Mini: Er ist weder der Pin der eingebauten LED (GPIO8) noch der BOOT-Pin (GPIO9), keiner der USB-Datenpins und keiner der Pins, die das Standard-UART und I2C verwenden. Seine Verwendung stört daher weder das Hochladen noch die LED auf der Platine noch den Seriellen Monitor.
WARNING
Verbinden Sie die Masse des 12V/24V-Kreises NICHT mit der GND des ESP32 C3 Super Mini. Genau diese Trennung ist der ganze Sinn des PC817. Wenn Sie die beiden Massen verbinden, schaltet der Optokoppler zwar weiterhin und der Code funktioniert noch, aber die Isolierung ist weg, und ein Fehler auf der 12V/24V-Seite kann nun Ihr Board erreichen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Modulklemme/-pin | Verbinden mit |
|---|---|
| IN+ (Schraubklemme) | dem 12V/24V-Signaldraht |
| IN- (Schraubklemme) | der Masse des 12V/24V-Kreises |
| VCC (Stiftleistenpin) | ESP32 C3 Super Mini 3,3V |
| GND (Stiftleistenpin) | ESP32 C3 Super Mini GND |
| OUT (Stiftleistenpin) | D5 |
- Versorgen Sie die Ausgangsseite mit 3,3V, nicht mit 5V – der ESP32 C3 Super Mini ist nicht 5V-tolerant, und der OUT-Pin des Moduls schwingt auf die Spannung, die Sie an VCC anlegen
- Kein eigener Widerstand gehört in die Nähe von IN+. Das Modul hat bereits einen, und ein zweiter in Reihe lässt die LED nur verhungern
- Die Schraubklemmenseite und die Stiftleistenseite sind zwei getrennte Schaltungen, die nichts außer dem isolierenden Spalt im PC817 gemeinsam haben
- Die Eingangsseite ist eine LED und leitet nur in eine Richtung: IN+ erhält den Plus- oder geschalteten Draht, IN- den Rückleiter
Optional – Denselben Eingang aus dem nackten PC817-Chip aufbauen
Sie löten lieber selbst? Ein nackter PC817 ist ein 4-poliges DIP-Gehäuse mit einem Punkt oder einer Kerbe neben Pin 1, und ein einziger Widerstand macht daraus denselben isolierten Eingang.

- Pin 1 - Anode (A): Eingangsseite – das 12V/24V-Signal über Ihren Vorwiderstand
- Pin 2 - Kathode (K): Eingangsseite – die Masse des 12V/24V-Kreises, niemals die Board-Masse
- Pin 3 - Emitter (E): Ausgangsseite – ESP32 C3 Super Mini GND
- Pin 4 - Kollektor (C): Ausgangsseite – D5
Die Dimensionierung dieses Widerstands ist genau die Aufgabe, die Ihnen die Modulvariante abgenommen hat. Streben Sie 10 mA durch die interne LED an: R = (Vin - 1.2) / 0.01.
| Eingangsspannung | Zu bestückender Widerstand | Hinweis |
|---|---|---|
| 3,3V | 220 Ohm | etwa 9,5 mA, 1/4 W |
| 5V | 390 Ohm | etwa 9,7 mA, 1/4 W – 470 Ohm ist ein guter Ersatz |
| 12V | 1 kOhm | etwa 10,8 mA, 1/4 W |
| 24V | 2,2 kOhm | etwa 10,4 mA – verwenden Sie hier einen 1/2-W-Widerstand |
Wechseln Sie den Widerstand, wann immer sich die Eingangsspannung ändert: Lassen Sie 1 kOhm eingebaut und legen 24 Volt an, fließen etwa 22,8 mA – über der 20-mA-Grenze der LED.
Das Modul parallel zu einem bereits installierten Gerät verdrahten
Die beste Aufgabe für ein so günstiges und kleines Board ist eine Nachrüstung: ein 12V-DC-Türgong, ein Gerät oder eine Pumpe, die bereits an der Wand verschraubt und verdrahtet ist und die Sie nun überwachen möchten, ohne etwas davon auseinanderzunehmen. Das funktioniert, weil der Eingang des Moduls über das Gerät geschaltet wird – parallel dazu. Nichts im bestehenden Stromkreis wird durchtrennt, abgesteckt oder umgeleitet; Sie schließen zwei Drähte an bereits vorhandene Klemmen an und lassen alles andere in Ruhe.
WARNING
Schalten Sie das Modul niemals in Reihe mit dem Gerät. In Reihe fließt der gesamte Laststrom des Gongs, der Lampe oder der Pumpe durch die interne LED des Optokopplers, die für 20 mA ausgelegt ist – das Bauteil wird in dem Moment zerstört, in dem das Gerät einschaltet. Der Abgriff erfolgt parallel zum Gerät, nicht in der Leitung.
| Vorhandenes 12V/24V-Gerät | Modulklemme |
|---|---|
| Plus- / geschalteter Anschluss | IN+ |
| Minus- / Rückleiteranschluss | IN- |
- Bei einem Modulabgriff ist kein Vorwiderstand nötig: Zwei Drähte laufen von den Anschlüssen des Geräts direkt auf IN+ und IN-, weil der Widerstand, der den LED-Strom festlegt, bereits auf dem Modul sitzt – deshalb muss die Variante auch zur an diesem Gerät gemessenen Spannung passen
- Der Abgriff zieht etwa 10 mA, was im Vergleich zu dem, was eine Gongspule, eine Lampe, ein Ventil oder ein Motor zieht, nichts ist, sodass sich das Gerät genauso verhält wie zuvor. Es ist eine reine Lesemessung
- Die Polarität ist wichtig: Die Eingangsseite ist eine LED und leitet nur in eine Richtung. Vertauschen Sie IN+ und IN-, schaltet sie einfach nie ein. Prüfen Sie daher mit einem Multimeter, welcher Anschluss des Abgriffs positiv ist, bevor Sie etwas festziehen
- Der Messwert folgt dem tatsächlichen Zustand des Geräts: Da der Abgriff über dem Gerät statt über Ihrem eigenen Schalter liegt, ist er immer dann wahr, wenn das Gerät unter Spannung steht – auch wenn der Taster, Timer oder Thermostat eines anderen es einschaltet, und auch wenn es überhaupt nicht angeht. Das ermöglicht Betriebsstundenprotokolle, Leerlaufzeitzählung und „Ist es wirklich angelaufen?"-Warnungen
- Eine ehrliche Einschränkung: Dies sagt Ihnen, dass das Gerät unter Spannung steht, nicht, dass es funktioniert – eine festgefressene Pumpe oder ein Gong mit durchgebrannter Spule zieht trotzdem Strom und wird weiterhin als EIN gelesen
- Nur DC: Der PC817-Eingang ist eine einzelne LED und reagiert daher nur auf eine Polarität. Wenn diese Türklingel von einem Wechselstromtrafo statt von einer 12V-DC-Versorgung betrieben wird, ist dies das falsche Bauteil – zur Erfassung von Wechselstrom benötigen Sie einen Optokoppler, dessen Eingangsstufe zwei antiparallele LEDs hat
WARNING
Eine Gongspule, ein Relais, ein Magnetventil, ein Schütz oder ein Motor schickt beim Abschalten eine große Rückspannungsspitze zurück durch die Leitungen, und die Eingangs-LED des PC817 ist nur für 6 V in Sperrrichtung ausgelegt. Setzen Sie eine gewöhnliche Diode antiparallel direkt über die Eingangsklemmen des Moduls – Kathode an IN+, Anode an IN- (beim nackten Chip in gleicher Weise über Pin 1 und 2). Im Normalbetrieb ist diese Diode in Sperrrichtung gepolt und tut überhaupt nichts; bei einer Spitze leitet sie und begrenzt die Sperrspannung auf deutlich unter ein Volt. Eine 1N4148 reicht für einen kleinen Abgriff, eine 1N4007 für einen stärkeren.
Ist Ihr Optokopplermodul Active High oder Active Low?
Beginnen Sie mit dem nackten Chip, denn dieser Teil ist gesicherte Physik. Die Ausgangsseite des PC817 gibt keine Spannung aus – sein Fototransistor verbindet den Digitalpin einfach mit GND, wenn er eingeschaltet ist. Der Pin benötigt daher einen Pull-up, um überhaupt eine Spannung zu haben, wenn der Transistor ausgeschaltet ist. Der ESP32 C3 Super Mini hat in jedem GPIO einen internen Pull-up eingebaut, und genau diesen verwenden wir hier.
| Externes 12V/24V-Signal | PC817-LED | Fototransistor | ESP32 C3 Super Mini-Pin liest |
|---|---|---|---|
| Vorhanden | an | leitend | LOW |
| Nicht vorhanden | aus | sperrend | HIGH |
Beim nackten Chip gilt also: Signal vorhanden wird als LOW gelesen – immer. Bei einem Modul wird es interessant: Die meisten Hersteller verdrahten den Chip genau wie in der obigen Tabelle, und ihr OUT-Pin ist ebenfalls Active-LOW. Manche fügen jedoch eine invertierende Stufe auf der Platine hinzu, sodass OUT dem Eingang folgt und HIGH wird, während die Leitung unter Spannung steht. Beide Arten werden unter demselben Namen „PC817-Isolationsmodul" verkauft, prüfen Sie Ihres also, statt es anzunehmen.
Der einminütige Polaritätstest:
- Verdrahten Sie das Modul wie in der obigen Verdrahtungstabelle und laden Sie den ESP32 C3 Super Mini-Sketch weiter unten auf dieser Seite hoch
- Öffnen Sie den Seriellen Monitor mit 115200, lassen Sie IN+ und IN- unbeschaltet und notieren Sie, was der Sketch meldet – das ist Ihr Ruhezustand
- Legen Sie nun Spannung an die Eingangsseite an. Die eigene Status-LED des Moduls sollte leuchten: Diese LED ist hier der ehrliche Zeuge, denn sie sitzt auf der isolierten Eingangsseite und lässt sich von nichts täuschen, was in Ihrem Code passiert
- Was auch immer der Sketch meldet, während diese Status-LED leuchtet, ist der aktive Zustand
- Wenn die Status-LED leuchtet und der Sketch trotzdem meldet, dass die Leitung ruhig ist, ist Ihr Modul vom Typ Active-HIGH
Die Korrektur ist eine einzige Änderung, kein Neuschreiben: Der Sketch enthält oben eine einzelne Konstante MODULE_ACTIVE_LOW, die standardmäßig auf true gesetzt ist. Ändern Sie sie auf false, laden Sie erneut hoch, und jede Meldung kommt richtig herum heraus. Sonst muss am Code nichts geändert werden.
※ Notiz:
Ein externer 10-kOhm-Widerstand vom Digitalpin nach 3,3V funktioniert genauso gut wie der interne Pull-up, aber auf einem Board mit so wenigen freien Pins und so wenig Platz wie dem ESP32 C3 Super Mini spart Ihnen INPUT_PULLUP ein Bauteil und eine Reihe auf dem Steckbrett.
Wie man den PC817 am ESP32 C3 Super Mini programmiert
Es wird keine Bibliothek benötigt. Es handelt sich um das einfache Lesen eines Digitaleingangs in zwei Schritten.
Schritt 1 – Den Pin als Eingang mit internem Pull-up festlegen:
Schritt 2 – Den Rohwert anhand der Polarität Ihres Moduls in eine Wahr/Falsch-Antwort umwandeln:
ESP32 C3 Super Mini Code - Überwachen, ob ein 24V-Gerät ein- oder ausgeschaltet ist
Was der Code macht:
- Legt D5 als Eingang mit eingeschaltetem internem Pull-up des ESP32 C3 Super Mini fest
- Liest den OUT-Pin des Moduls und wandelt ihn über die Konstante MODULE_ACTIVE_LOW um, sodass eine einzige Änderung beide Polaritäten abdeckt
- Gibt nur dann eine Zeile aus, wenn die externe Leitung ihren Zustand ändert, sodass der Serielle Monitor lesbar bleibt
- Nummeriert jede Aktivierung der externen 12V/24V-Leitung
- Meldet bei jedem Abschalten, wie viele Sekunden die Leitung unter Spannung stand
Schnelle Schritte
- Prüfen Sie vor allem anderen die Modulvariante: Sie muss zu der an der Leitung gemessenen Spannung passen – dies ist der Schritt, bei dessen Auslassen Bauteile beschädigt werden
- Neu bei diesem Board? Arbeiten Sie zuerst Erste Schritte mit dem ESP32 C3 Super Mini durch
- Ausgangsseite verdrahten: Modul-GND an GND, VCC an 3,3V, OUT an D5
- Eingangsseite separat verdrahten: IN+ und IN- an das Gerät, und halten Sie die 12V/24V-Masse vollständig vom Board fern
- Board anschließen: Verbinden Sie den ESP32 C3 Super Mini mit dem USB-Typ-C-Kabel mit Ihrem Computer
- Board und Port auswählen: Wählen Sie ESP32C3 Dev Module unter Werkzeuge > Board und dann den COM-Port
- Hochladen: Kopieren Sie den obigen Code in die Arduino IDE und klicken Sie auf Hochladen
- Öffnen Sie den Seriellen Monitor und stellen Sie die Baudrate auf 115200 ein
- Schalten Sie die externe Leitung ein und aus und beobachten Sie, wie die Meldungen erscheinen
- Führen Sie einmal den Polaritätstest durch: Wenn die Meldungen verkehrt herum erscheinen, setzen Sie MODULE_ACTIVE_LOW auf false und laden Sie erneut hoch
- Profi-Tipp: Wenn der Serielle Monitor die Leitung als aktiv anzeigt, bevor Sie etwas eingeschaltet haben, sind entweder Ihre beiden Massen verbunden oder Ihr Modul ist vom Typ Active-HIGH
Ausgabe im Seriellen Monitor
Hinweis: Wenn MODULE_ACTIVE_LOW auf true bleibt, liest der Pin selbst bei jeder Zeile mit LIVE den Wert LOW. Der Code hat ihn bereits für Sie umgewandelt.
Zeilenweise Code-Erklärung
Der obige ESP32 C3 Super Mini-Code enthält in seinen Kommentaren eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!
Anwendungs- und Projektideen
Der ESP32 C3 Super Mini ist günstig und winzig, was ihn zum natürlichen Board macht, um es dauerhaft in Geräten zu belassen, die bereits mit 12V oder 24V laufen.
- Eine 12V-Garagentorsteuerung nachrüsten: Greifen Sie den 12V-Ausgang der Steuerung über ein 12V-Modul ab und lassen Sie das Board bei jeder Torbewegung eine WLAN-Benachrichtigung senden, ohne die Steuerung selbst zu verändern
- Die Betriebsstunden einer 12V-Pumpe oder eines Lüfters zählen: Greifen Sie direkt am Gerät ab, nummerieren Sie jedes Einschalten und summieren Sie die Laufzeit, damit Sie auf einen Blick sehen, ob es heute überhaupt angelaufen ist
- Wissen, wann ein vorhandener Türgong tatsächlich geklingelt hat: Der 12V-DC-Gong bleibt genau so verdrahtet, wie der Installateur ihn hinterlassen hat, und der parallele Abgriff macht aus jedem Klingeln eine Nachricht vom Board
- Eine 24V-Maschinenstörungsleuchte überwachen: Verdrahten Sie ein 24V-Modul über die Störungsleuchtenleitung in einem Schaltschrank und protokollieren Sie jede Maschinenstörung mit den Zeitstempeln, die der Code bereits erfasst
- Einen isolierten Eingang in ein abgedichtetes Gehäuse zwängen: Ein einkanaliges Modul und dieses Board passen in eine kleine IP-geschützte Box, in die ein Entwicklungsboard in voller Größe nicht passen würde – ideal für 12V-Tor- und Pumpeninstallationen im Freien
- Prüfen, ob ein 12V-Fahrzeugstromkreis aktiv ist: Überwachen Sie Zündung, Scheinwerfer oder einen Türkontakt im Auto, ohne das Board dem Bordnetz des Fahrzeugs auszusetzen
- Das Bestromen einer 24V-Magnet- oder Schützspule erkennen: Bestätigen Sie per Software, dass die Spule ihren Befehl tatsächlich erhalten hat, nicht nur, dass Sie einen gesendet haben
- Einem bereits gebauten Projekt einen Kanal hinzufügen: Kombinieren Sie den isolierten Eingang mit einem Relais, damit ein 24V-Feldsignal eine separate Last schaltet
- Einen Schalter über lange Leitungen verlängern: Bei Kabeln, die so lang sind, dass ein einfacher Taster-Eingang Störungen aufnimmt, betreiben Sie die Schleife mit 24V und lesen sie stattdessen über ein Modul
Video-Tutorial
Sehen Sie sich das folgende Video an, um eine visuelle Schritt-für-Schritt-Anleitung zu diesem Projekt zu erhalten.
Herausforderungen
Bringen Sie Ihren Aufbau mit ESP32 C3 Super Mini und PC817-Optokoppler mit diesen Aufgaben ein Stück weiter.
- Einfach: Schreiben Sie die ausgegebenen Bezeichnungen für Ihre eigenen Geräte um – „Zündung", „Pumpe läuft", „Tor öffnet" – statt der allgemeinen 24V-Formulierung
- Einfach: Spiegeln Sie den isolierten Eingang auf die LED an GPIO8 auf der Platine, damit Sie den Zustand ohne Seriellen Monitor sehen
- Einfach: Setzen Sie MODULE_ACTIVE_LOW absichtlich auf false, beobachten Sie, wie jede Meldung verkehrt herum erscheint, und setzen Sie es dann zurück – so erkennen Sie das Symptom sofort, falls Sie jemals auf ein anders verdrahtetes Modul stoßen
- Mittel: Führen Sie eine laufende Summe darüber, wie lange die externe Leitung seit dem Einschalten aktiv war, und geben Sie sie einmal pro Minute aus
- Mittel: Lösen Sie eine Warnung aus, wenn die 24V-Leitung länger als ein von Ihnen gewählter Grenzwert aktiv bleibt – ein hängendes Schütz oder ein blockiertes Tor sieht genau so aus
- Mittel: Verwenden Sie denselben Sketch mit einem 12V-Modul statt eines 24V-Moduls an einem anderen Gerät und bestätigen Sie, dass der Code überhaupt nicht geändert werden muss
- Fortgeschritten: Fügen Sie eine Software-Entprellung hinzu, damit ein prellender 12V-Relaiskontakt nicht als Dutzende Aktivierungen gezählt wird
- Fortgeschritten: Steigen Sie auf ein 4-Kanal-Modul um und überwachen Sie vier separate 24V-Maschinensignale gleichzeitig, wobei Sie den Zustand aller vier über WLAN melden
Fehlerbehebung
Jeder Messwert ist genau verkehrt herum (es wird LIVE angezeigt, während der Gong still ist, und ruhig, während er klingelt):
- Ihr Modul ist vom Typ Active-HIGH – manche Hersteller invertieren den Ausgang auf der Platine. Führen Sie den obigen einminütigen Polaritätstest durch und vergleichen Sie die Status-LED des Moduls mit dem, was der Serielle Monitor ausgibt
- Setzen Sie MODULE_ACTIVE_LOW oben im Sketch auf false und laden Sie erneut hoch. Diese eine Konstante ist die ganze Lösung
Der Pin liest immer LOW (der Code meldet immer LIVE):
- Die beiden Massen sind irgendwo verbunden – trennen Sie sie
- Beim nackten Chip ist der PC817 verkehrt herum eingesetzt; suchen Sie den Punkt oder die Kerbe, die Pin 1 markiert
Der Pin liest immer HIGH (es wird nie etwas erkannt):
- Sie versorgen ein 24V-Modul aus einer 12V-Leitung, sodass seine LED zu schwach angesteuert wird – setzen Sie die Variante ein, die zur gemessenen Spannung passt
- IN+ und IN- sind vertauscht, sodass die interne LED in Sperrrichtung gepolt ist und nie leuchtet
- Das externe 12V/24V-Signal liegt tatsächlich nicht an – prüfen Sie es zuerst mit einem Multimeter
Der Messwert kehrt nie in den inaktiven Zustand zurück (es wird LIVE angezeigt, obwohl das Gerät ausgeschaltet ist):
- Die Quelle ist ein Halbleiterausgang – ein SPS-Transistorausgang, ein Triac-Ausgang oder ein LED-Lampentreiber –, und diese lassen auch im ausgeschalteten Zustand einen kleinen Leckstrom fließen, der ausreicht, um die LED des Moduls teilweise leuchten zu lassen
- Setzen Sie einen Ableitwiderstand von etwa 4,7 kOhm bis 10 kOhm parallel zu den Eingangsklemmen des Moduls, damit der Leckstrom durch den Widerstand statt durch die LED fließt
- Wenn die Quelle ein einfacher mechanischer Kontakt ist, suchen Sie stattdessen nach verbundenen Massen
Der Messwert ist instabil:
- INPUT_PULLUP fehlt in pinMode(), sodass der Pin schwebt
- Der externe Kontakt ist mechanisch und prellt – fügen Sie eine Entprellung hinzu