Raspberry Pi - RFID - Servo Motor
Deze handleiding legt uit hoe u een Raspberry Pi en een RFID NFC RC522-module gebruikt om een servomotor aan te sturen. Het proces werkt als volgt:
- Wanneer een geautoriseerde tag wordt aangebracht, draait de Raspberry Pi de servomotor naar 90°
- Als dezelfde geautoriseerde tag opnieuw wordt aangebracht, draait de Raspberry Pi de servomotor terug naar 0°
- Deze cyclus wordt continu herhaald
Dit kan worden gebruikt voor het beveiligen van een kast, lade, deur of voor het openen en sluiten van een voederbak voor huisdieren...
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over RFID/NFC RC522 Module en Servomotor
Als u niet bekend bent met de RFID/NFC RC522-module en servomotor (inclusief pinout, werking en programmering), bieden de volgende handleidingen meer informatie:
- Raspberry Pi - RFID/NFC RC522 handleiding
- Raspberry Pi - Servomotor handleiding
Hoe Het Werkt
- De UIDs van bepaalde RFID/NFC-tags worden geprogrammeerd in de Raspberry Pi-code.
- Wanneer de gebruiker een RFID/NFC-tag op de RFID/NFC-lezer tikt, leest de lezer de UID van de tag.
- De Raspberry Pi ontvangt de UID van de lezer en vergelijkt deze met de vooraf gedefinieerde UIDs.
- Als de UID overeenkomt met één van de vooraf gedefinieerde UIDs, stuurt de Raspberry Pi de servomotor naar 90°.
- Wanneer dezelfde tag opnieuw wordt getikt, stuurt de Raspberry Pi de servomotor terug naar 0°.
- Dit proces wordt continu herhaald.
Aansluitschema

This image is created using Fritzing. Click to enlarge image
In het bovenstaande aansluitschema wordt een 5V adapter gebruikt om stroom te leveren aan de Raspberry Pi, de servomotor en de RC522-module indirect via de 3,3V-pin van de Raspberry Pi.
※ Notiz:
De pinindeling kan verschillen afhankelijk van de fabrikant. Gebruik ALTIJD de labels die op de module gedrukt staan. De afbeelding hierboven toont de pinout van modules van fabrikant DIYables.
Voor de eenvoud wordt het bovenstaande aansluitschema gebruikt voor test- of educatieve doeleinden, en voor een servomotor met een klein koppel. We raden sterk aan om in de praktijk een externe voeding voor de servomotor te gebruiken. Zie hoe u de externe voeding aansluit voor een servomotor in de Raspberry Pi - Servo Motor handleiding.
Aansluittabel van RFID/NFC RC522 Module
| 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 | niet aangesloten |
| GND | → Elke GND Pin |
| RST | → Pin 31 (GPIO12) |
| VCC | → Pin 1 of Pin 16 (3.3V) |
Aansluittabel van Servomotor
| Servomotor | Arduino | 5V DC Adapter |
|---|---|---|
| VCC (rood) | → positief | |
| GND (bruin) | → negatief | |
| SIG (geel) | → A5 |
Aansluittabel van 5V DC Adapter
| 5V DC Adapter | Servomotor | Raspberry Pi |
|---|---|---|
| Positief | → VCC | |
| Positief | -> Vin | |
| Negatief | → GND | |
| Negatief | → GND |
Raspberry Pi Code - Enkele RFID/NFC Tag
Snelstart
- Zorg dat Raspbian of een ander met Raspberry Pi compatibel besturingssysteem op uw Pi is geïnstalleerd.
- Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw PC.
- Zorg dat uw Raspberry Pi internettoegang heeft indien u libraries moet installeren.
- Als dit de eerste keer is dat u de Raspberry Pi gebruikt, zie hoe u de Raspberry Pi installeert
- Verbind uw PC met de Raspberry Pi via SSH gebruikmakend van de ingebouwde SSH-client op Linux en macOS of PuTTY op Windows. Zie hoe u uw PC verbindt met Raspberry Pi via SSH.
- Zorg dat u de RPi.GPIO library geïnstalleerd heeft. Indien niet, installeer die met het volgende commando:
- Schakel de SPI-interface op de Raspberry Pi in door de instructies op Raspberry Pi - hoe activeer je de SPI interface te volgen.
- Zorg dat u de spidev library geïnstalleerd heeft. Indien niet, installeer die met het volgende commando:
- Zorg dat u de mfrc522 library geïnstalleerd heeft. Indien niet, installeer die met het volgende commando:
- Maak een Python-scriptbestand aan met de naam rfid_servo.py en voeg de volgende code toe:
- Sla het bestand op en voer het Python-script uit door het volgende commando in de terminal te typen:
Het script draait in een oneindige lus totdat u Ctrl + C in de terminal indrukt.
Om de UID van een RFID/NFC-tag te achterhalen, houdt u een RFID/NFC-tag op de RFID-RC522-module. De UID verschijnt in de Terminal.
Zodra u de UID heeft:
- Vervang regel 20 van de code door de UID, bijvoorbeeld byte authorizedUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Voer het Python-script opnieuw uit
- Plaats een RFID/NFC-tag op de RFID-RC522-module
- De servomotor draait naar 90°
- Bekijk de output in de Terminal
- Tik nogmaals met dezelfde RFID/NFC-tag op de RFID-RC522-module.
- Bekijk hoe de servomotor terug draait naar 0°.
- Bekijk de output in de Terminal
- Tik een RFID- of NFC-tag op de RFID-RC522-module.
- Bekijk de output in de Terminal
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u stap voor stap om dit project succesvol op te zetten.