Raspberry Pi - RFID - Servo Motor
Dieses Tutorial zeigt Ihnen, wie Sie einen Raspberry Pi und ein RFID NFC RC522 Modul zur Steuerung eines Servo-Motors verwenden. Der Prozess funktioniert folgendermaßen:
- Wenn ein autorisierter Tag angetippt wird, dreht der Raspberry Pi den Servo-Motor auf 90°
- Wenn derselbe autorisierte Tag erneut angetippt wird, dreht der Raspberry Pi den Servo-Motor zurück auf 0°
- Dieser Zyklus wiederholt sich kontinuierlich
Dies kann verwendet werden, um einen Schrank, eine Schublade, eine Tür zu sichern oder um einen Tierfutterspender zu öffnen und zu schließen...
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Falls Sie mehrere Servomotoren verwenden möchten, empfehlen wir die Verwendung des PCA9685 16 Channel PWM Servo Driver Module, um MCU-Pins zu sparen und die Verdrahtung zu vereinfachen.
Über das RFID/NFC RC522 Modul und den Servo Motor
Wenn Sie mit dem RFID/NFC RC522 Modul und Servo Motor nicht vertraut sind (einschließlich Pinout, Funktionsweise und Programmierung), können die folgenden Tutorials weitere Informationen bereitstellen:
- Raspberry Pi - RFID/NFC RC522 Tutorial
- Raspberry Pi - Servo Motor Tutorial
Funktionsweise
- Die UIDs bestimmter RFID/NFC-Tags werden in den Raspberry Pi Code programmiert.
- Wenn der Benutzer ein RFID/NFC-Tag auf den RFID/NFC-Reader tippt, liest der Reader die UID vom Tag.
- Der Raspberry Pi ruft dann die UID vom Reader ab und vergleicht sie mit den vordefinierten UIDs.
- Wenn die UID mit einer der vordefinierten UIDs übereinstimmt, steuert der Raspberry Pi den Servo-Motor auf 90°.
- Wenn der Tag erneut angetippt wird, steuert der Raspberry Pi den Servo-Motor zurück auf 0°.
- Dieser Prozess wiederholt sich kontinuierlich.
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Im obigen Verdrahtungsdiagramm wird ein 5V-Adapter verwendet, um den Raspberry Pi, den Servo-Motor und das RC522-Modul indirekt über den 3,3V-Pin des Raspberry Pi mit Strom zu versorgen.
※ Notiz:
Die Anordnung der Pins kann je nach Hersteller unterschiedlich sein. Verwenden Sie IMMER die auf dem Modul gedruckten Beschriftungen. Das obige Bild zeigt das Pinout von Modulen des Herstellers DIYables.
Der Einfachheit halber wird das obige Verdrahtungsdiagramm für Test- oder Bildungszwecke und für einen Servo-Motor mit kleinem Drehmoment verwendet. Wir empfehlen dringend, in der Praxis eine externe Stromquelle für den Servo-Motor zu verwenden. Siehe wie Sie externe Stromversorgung für den Servo-Motor bereitstellen im Raspberry Pi - Servo Motor Tutorial
Verdrahtungstabelle für RFID/NFC RC522 Modul
| RFID/NFC RC522 | Raspberry Pi |
|---|---|
| SS | → GPIO 8 (SPI0 CS) |
| SCK | → GPIO 11 (SPI0 SCL) |
| MOSI | → GPIO 10 (SPI0 MOSI) |
| MISO | → GPIO 9 (SPI0 MISO) |
| IRQ | nicht verbunden |
| GND | → Beliebiger GND Pin |
| RST | → Pin 31 (GPIO12) |
| VCC | → Pin 1 oder Pin 16 (3.3V) |
Verdrahtungstabelle für Servo Motor
| Servo Motor | Arduino | 5V DC Adapter |
|---|---|---|
| VCC (rot) | → Positiv | |
| GND (braun) | → Negativ | |
| SIG (gelb) | → A5 |
Verdrahtungstabelle für 5V DC Adapter
| 5V DC Adapter | Servo Motor | Raspberry Pi |
|---|---|---|
| Positiv | → VCC | |
| Positiv | -> Vin | |
| Negativ | → GND | |
| Negativ | → GND |
Raspberry Pi Code - Einzelnes RFID/NFC Tag
Schnelle Schritte
- Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
- Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
- Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie Bibliotheken installieren müssen.
- Wenn Sie den Raspberry Pi zum ersten Mal verwenden, siehe wie Sie den Raspberry Pi einrichten
- Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi unter Verwendung des integrierten SSH-Clients auf Linux und macOS oder PuTTY auf Windows. Siehe wie Sie Ihren PC über SSH mit dem Raspberry Pi verbinden.
- Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
- Aktivieren Sie die SPI-Schnittstelle auf dem Raspberry Pi, indem Sie der Anleitung auf Raspberry Pi - wie Sie die SPI-Schnittstelle aktivieren folgen
- Stellen Sie sicher, dass Sie die spidev Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
- Stellen Sie sicher, dass Sie die mfrc522 Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
- Erstellen Sie eine Python-Script-Datei rfid_servo.py und fügen Sie folgenden Code hinzu:
- Speichern Sie die Datei und führen Sie das Python-Script aus, indem Sie folgenden Befehl im Terminal eingeben:
Das Script läuft in einer Endlosschleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.
Um die UID eines RFID/NFC-Tags zu identifizieren, tippen Sie ein RFID/NFC-Tag auf das RFID-RC522-Modul. Die UID kann im Terminal angezeigt werden.
Sobald Sie Ihre UID haben:
- Ersetzen Sie Zeile 20 des Codes mit der UID, zum Beispiel byte authorizedUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Führen Sie das Python-Script erneut aus
- Platzieren Sie ein RFID/NFC-Tag auf das RFID-RC522-Modul
- Der Servo-Motor wird auf 90° drehen
- Überprüfen Sie die Ausgabe im Terminal
- Tippen Sie dasselbe RFID/NFC-Tag, das auf dem RFID-RC522-Modul verwendet wurde, erneut an.
- Sehen Sie zu, wie sich der Servo-Motor auf 0° dreht.
- Überprüfen Sie die Ausgabe im Terminal
- Tippen Sie ein RFID- oder NFC-Tag auf das RFID-RC522-Modul.
- Überprüfen Sie die Ausgabe im Terminal
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.