| Kaufen Sie aus den USA | Kaufen Sie aus dem Vereinigten Königreich | Kaufen Sie aus Deutschland | Kaufen Sie aus Italien | Kaufen Sie aus Frankreich | Kaufen Sie aus Spanien | ここでご購入を! |

Ein RFID-Leser ist ein sehr beliebtes Gerät in Sicherheitssystemen. Er kann die ID einer RFID-Karte lesen und an ein Computersystem senden.
In dieser Lektion verwenden wir den OSOYOO RFID-Leser, um ein einfaches Sicherheitsüberprüfungssystem zu erstellen. Dieser RFID-Leser wird ein neues Kommunikationsprotokoll namens SPI verwenden, um Daten an den Pico zu senden. Nach Abschluss dieser Lektion haben Sie drei Arten von Kommunikationsprotokollen kennengelernt: SPI, I2C und Serial (RS232). Der Geschwindigkeitsvergleich zwischen diesen drei Methoden ist wie folgt: SPI > I2C > Serial.
Da wir in diesem Projekt viele Pins verwenden werden, haben wir hier die Pico-Pin-Map zur Verfügung gestellt, um Benutzern zu helfen, die richtigen Pins zu finden.


1.Raspberry Pi Pico Board und MicroUSB-Kabel
2.Ein Computer zum Ausführen der Thonny Python-IDE
3.Ein Steckbrett
4.LED x 2 Stück
5.220 Ω Widerstand x 2 Stück
6.Aktivierbarer Piepser
7.OSOYOO RFID-Leser x 1 Stück
8.Einige Jumper-Drähte


Im obigen Schaltungsdiagramm sehen Sie das:
| Pico Pins | RFID Pins |
| GP5 | SDA |
| GP6 | SCK |
| GP7 | MOSI |
| GP4 | MISO |
| IRQ | |
| GND | GND |
| GP18 | RST |
| 3.3V | 3.3V |
| Pico Pins | Devices |
| GP14 | Red LED through 220ohm resistor |
| GP15 | Green LED through 220ohm resistor |
| GP16 | Buzzer I/O pin |

Sie können den Python-Code der Lektion 7 von https://osoyoo.com/driver/pico/lesson7/pico-lesson7.zip herunterladen.
Später können Sie Thonny verwenden, um pico-lesson7.py zu öffnen und auf den Pico zu laden.
Hier ist der vollständige Code mit Kommentaren:
import time
from machine import I2C, Pin, SPI #import I2C,Pin,SPI library
from mfrc522 import MFRC522 #import RFID reader library
buzzer= Pin(16, Pin.OUT) #set buzzer to GP16
buzzer.value(1)
true = Pin(15, Pin.OUT) #set Green LED to GP15
false = Pin(14, Pin.OUT) #set Red LED to GP14
sck = Pin(6, Pin.OUT) #set RFID sck to GP6
mosi = Pin(7, Pin.OUT) #set RFID mosi to GP7
miso = Pin(4, Pin.OUT) #set RFID miso to GP4
sda = Pin(5, Pin.OUT) #set RFID sda to GP5
rst = Pin(18, Pin.OUT) #set RFID rst to GP18
spi = SPI(0, baudrate=100000, polarity=0, phase=0, sck=sck, mosi=mosi, miso=miso) #initial SPI
card1 = "0xe58a6223" #change this value to match your testing RFID card 1
card2 = "0xf765bd60" #change this value to match your testing RFID card 2
while True:
rdr = MFRC522(spi, sda, rst) #initialize reader
(stat, tag_type) = rdr.request(rdr.REQIDL) #read card ud
if stat == rdr.OK:
(stat, raw_uid) = rdr.anticoll()
if stat == rdr.OK:
uid = ("0x%02x%02x%02x%02x" % (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3]))
print(uid)
if uid == card1: #if ID matches card 1, buzzer beep once, turn on Green LED
print("card 1 detected!")
buzzer.value(0)
time.sleep(0.3)
buzzer.value(1)
true.value(1)
time.sleep(1)
true.value(0)
time.sleep(1)
elif uid == card2:
print("card 2 detected!") #if ID matches card 2, buzzer beep twice, turn on Green LED
buzzer.value(0)
time.sleep(0.3)
buzzer.value(1)
time.sleep(0.3)
buzzer.value(0)
time.sleep(0.3)
buzzer.value(1)
true.value(1)
time.sleep(1)
true.value(0)
time.sleep(1)
else: #if ID doesn't match any card, long beep, turn on Red LED
print("invalid card!")
buzzer.value(0)
time.sleep(2)
buzzer.value(1)
false.value(1)
time.sleep(0.1)
false.value(0)
time.sleep(0.1)
false.value(1)
time.sleep(0.1)
false.value(0)
time.sleep(0.1)
false.value(1)
time.sleep(0.1)
false.value(0)
time.sleep(1)

Schritt 1: Verbinden Sie das Pico-Board mit einem der USB-Anschlüsse Ihres PCs.
Schritt 2: Wenn Sie die Thonny-Software noch nicht installiert haben oder nicht wissen, wie Sie die Thonny-IDE verwenden sollen, lesen Sie bitte Lektion 1.
Schritt 3: Öffnen Sie nun die Thonny Python-IDE und klicken Sie auf “Ausführen”, um MicroPython für Raspberry Pi Pico als Interpreter auszuwählen.

Wählen Sie auch den COM-Port aus, an den Ihr Pico-Board angeschlossen ist.:

Klicken Sie anschließend auf “OK”, um die Einstellungen zu speichern.
Schritt 4: Laden Sie nun den Code von https://osoyoo.com/driver/pico/lesson7/pico-lesson7.zip herunter, speichern Sie ihn auf Ihrem lokalen PC und entpacken Sie die Datei. Sie finden zwei Dateien: mfrc522.py und pico-lesson7.py. Öffnen Sie die Bibliotheksdatei mfrc522.py mit Thonny.

Schritt 5: Klicken Sie dann auf “Datei” -> “Speichern unter”.

Schritt 6: Wählen Sie dann “Raspberry Pi Pico” als Ziel aus.

Schritt 7: Geben Sie den Dateinamen als “mfrc522.py” ein. Klicken Sie danach auf “OK”, um die Einstellungen zu speichern.
Dann verwenden Sie Thonny, um eine andere Datei namens pico-lesson7.py zu öffnen, klicken Sie auf das kleine ►-Symbol, um den Python-Code auszuführen.

Sie müssen drei verschiedene RFID-Karten vorbereiten. Berühren Sie jede Karte auf dem Leser, und Sie sehen ihre ID, wie “0xd71d9a52” und “invalid card”, im Shell-Fenster. Auch die rote LED wird eingeschaltet, und der Summer wird einen langen Piepton abgeben. Dies liegt daran, dass die aktuellen Karten-IDs nicht mit den IDs in den Zeilen 14 und 15 übereinstimmen. Bitte ändern Sie die Zeilen 14 und 15 in die IDs Ihrer Karte 1 und Karte 2 und klicken Sie dann erneut auf das ►-Symbol, um den Code auszuführen.


Jetzt sehen Sie, dass wenn Sie Karte 1 auf den Leser legen, es die Nachricht “Karte 1 erkannt”, einen kurzen Piepton und ein grünes Licht auslöst. Wenn Sie Karte 2 auf den Leser legen, zeigt das Shell-Fenster “Karte 2 erkannt”, zwei kurze Pieptöne und ein grünes Licht an.
Nach Abschluss der Operation drücken Sie Strg+C, um den Befehl zu beenden.
DownLoad Url osoyoo.com