ESP32 C3 Super Mini - IR-Gabellichtschranke (Geschwindigkeitssensor)
Erfahren Sie, wie Sie die IR-Gabellichtschranke mit dem ESP32 C3 Super Mini verwenden, um Objekte zu zählen und die Motordrehzahl in U/min (RPM) zu messen.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über IR Slotted Optical Speed Sensor
Dieses Modul ist eine U-förmige Gabellichtschranke. Sie meldet dem ESP32 C3 Super Mini, wenn etwas durch ihren Schlitz geht.
Kurzfakten:
- Sensortyp: Schlitz-Lichtschranke (IR-LED + NPN-Fototransistor)
- Schlitzbreite: 5,9 mm
- Betriebsspannung: 3,3V bis 5V DC
- Ausgang: Digital (TTL) - LOW bei Unterbrechung, HIGH bei freiem Schlitz
- Signalaufbereitung: Eingebauter Schmitt-Trigger
- Montage: M3-Schraubenlöcher an beiden Enden
- Pins: 3 (VCC, GND, OUT)
Gut geeignet für:
- Motordrehzahl (RPM) mit einer Encoderscheibe
- Einen einfachen Drehzahlmesser
- Objekte oder Impulse zählen
- Strecke aus Radumdrehungen
- Rückmeldung der Raddrehzahl bei Robotern
- Endlagen- oder Positionserkennung
Pinbelegung

- VCC — Stromversorgung (3,3V bis 5V)
- GND — Masse (0V)
- OUT — Digitales Signal an einen Eingangs-Pin des ESP32 C3
※ Notiz:
Die Pin-Reihenfolge kann sich von Charge zu Charge ändern. Folgen Sie immer den auf Ihrem Modul aufgedruckten Beschriftungen.
Wie es funktioniert

- Zwei Seiten: Auf einer Seite des Schlitzes sitzt eine IR-LED. Auf der anderen Seite liegt ihr ein Fototransistor gegenüber.
- Schlitz frei: IR-Licht erreicht den Fototransistor → OUT ist HIGH
- Schlitz unterbrochen: Ein undurchsichtiges Objekt (eine Karte, ein Scheibenzahn) stoppt das Licht → OUT ist LOW
- Sauberes Signal: Der Schmitt-Trigger liefert ein stabiles 0 oder 1. Kein Prellen, also ist keine Software-Entprellung nötig.
- Klarer Kunststoff: Durchsichtige Objekte blockieren IR-Licht vielleicht nicht gut. Verwenden Sie undurchsichtige Objekte.
- Umgekehrte Logik: Einige Module anderer Hersteller arbeiten andersherum. Wenn Ihres bei freiem Schlitz „unterbrochen“ meldet, tauschen Sie LOW und HIGH im Code.
Schaltplan
So schließen Sie die IR-Gabellichtschranke an den ESP32 C3 Super Mini an:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Pin des Geschwindigkeitssensors | ESP32 C3 Super Mini Pin |
|---|---|
| VCC | 3.3V |
| GND | GND |
| OUT | GPIO4 |
- Verwenden Sie 3,3V, nicht 5V: Der OUT-Pin geht bis zur VCC-Spannung. Der ESP32 C3 ist ein 3,3V-Board, also versorgen Sie den Sensor mit 3,3V.
- Keine zusätzlichen Teile: Es ist kein Widerstand nötig. Drei Kabel genügen.
Wie man den ESP32 C3 Super Mini für die IR-Gabellichtschranke programmiert
Hier ist der Code, um die IR-Schlitz-Lichtschranke zu lesen. Es ist keine Bibliothek nötig.
- Den Pin als Eingang festlegen:
- Den Zustand lesen (LOW = unterbrochen, HIGH = frei):
- Schnelle Impulse mit einem Interrupt zählen (ein Zählschritt pro Zahn, bei der FALLING-Flanke):
- Impulse in RPM umrechnen (Impulse in 1 Sekunde gezählt):
ESP32 C3 Super Mini Code - Objekt im Schlitz erkennen
Was dieser Code macht:
- Liest den OUT-Pin immer wieder mit digitalRead()
- Gibt nur dann eine Meldung aus, wenn sich der Zustand ändert
- Addiert 1 zu einem Zähler, jedes Mal wenn der Schlitz unterbrochen wird
Schnelle Schritte
- Neu bei diesem Board? Lesen Sie Erste Schritte mit dem ESP32 C3 Super Mini, um die Arduino IDE einzurichten.
- Verdrahten Sie den Sensor wie in der Tabelle oben gezeigt.
- Verbinden Sie den ESP32 C3 Super Mini über das USB-Type-C-Kabel mit Ihrem PC.
- Wählen Sie in der Arduino IDE das Board ESP32 C3 Super Mini und den richtigen COM-Port.
- Kopieren Sie den Code und fügen Sie ihn in die Arduino IDE ein.
- Klicken Sie auf Upload. Wenn der Upload fehlschlägt, halten Sie die BOOT-Taste gedrückt, drücken Sie RESET und versuchen Sie es erneut.
- Öffnen Sie den Seriellen Monitor und stellen Sie 9600 Baud ein.
- Bewegen Sie ein Stück Karte oder Ihren Finger einige Male durch den Schlitz.
- Prüfen Sie das Ergebnis im Seriellen Monitor.
ESP32 C3 Super Mini Code - Motordrehzahl messen (RPM)
Was dieser Code macht:
- Verwendet einen Interrupt bei der FALLING-Flanke. Jeder Scheibenzahn, der den Schlitz unterbricht, addiert 1 Impuls.
- Jede Sekunde liest er die Impulszahl und setzt sie auf 0 zurück
- Berechnet die RPM und gibt Impulse und Drehzahl aus
Warum ein Interrupt?
- Die Impulse kommen sehr schnell. Das Prüfen des Pins in loop() könnte einige verpassen.
- FALLING bedeutet einen Zählschritt pro Zahn.
Die RPM-Formel:
- 1 Umdrehung = 20 Impulse (die übliche Scheibe an TT-Getriebemotoren hat 20 Schlitze)
- Impulse in 1 Sekunde × 60 = Impulse pro Minute
- Impulse pro Minute ÷ 20 = Umdrehungen pro Minute (RPM)
- Ihre Scheibe hat eine andere Anzahl von Schlitzen? Ändern Sie SLOTS_PER_TURN im Code.
Schnelle Schritte
- Behalten Sie die gleiche Verdrahtung wie im ersten Beispiel bei.
- Befestigen Sie die Encoderscheibe an der Motorwelle oder am Rad. Ihre Zähne müssen durch den Schlitz laufen, ohne den Sensor zu berühren.
- Laden Sie den Code auf die gleiche Weise wie zuvor hoch.
- Öffnen Sie den Seriellen Monitor mit 9600 Baud.
- Drehen Sie die Scheibe von Hand oder schalten Sie den Motor ein.
- Beobachten Sie, wie sich Impulse und RPM jede Sekunde ändern.
Beispielausgabe bei einer Motordrehzahl von etwa 300 RPM:
- Der RPM-Code zählt eine Flanke pro Schlitz. Er funktioniert also auch, wenn Ihr Modul die umgekehrte Logik hat.
Zusätzliches Wissen
Gabellichtschranke im Vergleich zu anderen Sensoren:
- IR-Gabellichtschranke: Erkennt ein Objekt in ihrem 5,9-mm-Schlitz. Am besten für Drehzahl, RPM und Zählen.
- IR-Hindernissensor: Erkennt ein Objekt in einiger Entfernung vor sich, nicht in einem Schlitz.
- Drehgeber: Ein Drehknopf für die Eingabe von Hand. Er zeigt auch die Drehrichtung an.
Schlitze pro Umdrehung wählen:
- Mehr Schlitze = mehr Impulse pro Umdrehung = feinere Drehzahlmessung
Strecke aus Radumdrehungen:
- Umdrehungen = Impulse ÷ Schlitze pro Umdrehung
- Strecke = Umdrehungen × Radumfang (π × Durchmesser)
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.