| Buy from USA | Buy from UK | Buy from DE | Buy from IT | Buy from FR | Buy from ES | ここでご購入を! |

RFIDリーダーは、セキュリティシステムにおいて非常に人気のあるデバイスです。RFIDカードのIDを読み取り、コンピュータシステムに送信することができます。
このレッスンでは、OSOYOO RFIDリーダーを使用して簡単なセキュリティ認証システムを作成します。このRFIDリーダーは、データをPicoに送信するためにSPIという新しい通信プロトコルを使用します。このレッスンを完了すると、SPI、I2C、シリアル(RS232)の3種類の通信プロトコルについて学びます。これら3つの方法の速度比較は、SPI>I2C>シリアルです。
このプロジェクトでは多くのピンを使用するため、適切なピンを見つけるためにPicoピンマップをここに含めました。




上記の回路図では、次のようになっています:
| 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 | 220Ω抵抗器を介して赤色LED |
| GP15 | 220Ω抵抗器を介して緑色LED |
| GP16 | ブザーI / Oピン |

https://osoyoo.com/driver/pico/lesson7/pico-lesson7.zipでpico-lesson7.pyをダウンロードすることができます。
後でThonnyを使用して、pico-lesson7.pyを開き、Picoにロードすることができます。
以下は、コメントを含めた完全なコードです。
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)

Step 1: PCのUSBポートの1つにPicoボードを接続します。
Step 2: Thonnyソフトウェアをインストールしていない場合、またはThonny IDEの使い方がわからない場合は、レッスン1を読んでください。
Step 3: Thonny Python IDEを開いて、「実行」をクリックし、Raspberry Pi Pico用のMicroPythonを解釈器として選択します。

また、Picoボードが接続されているCOMポートを選択してください。
その後、「OK」をクリックして設定を保存します。
Step 4: https://osoyoo.com/driver/pico/lesson7/pico-lesson7.zip,からコードをダウンロードし、ローカルPCに保存し、ファイルを解凍します。2つのファイル、mfrc522.pyとpico-lesson7.pyが見つかります。Thonnyを使用して、ライブラリファイルのmfrc522.pyを開きます。

Step 5: 「ファイル」->「名前を付けて保存」をクリックします。

Step 6: その後、宛先として「Raspberry Pi Pico」を選択します。

Step 7: ファイル名を「mfrc522.py」と書き、その後、「OK」をクリックして設定を保存します。
その後、別のファイルであるpico-lesson7.pyを開き、小さな▶ボタンをクリックしてPythonコードを実行します。

3種類の異なるRFIDカードを用意する必要があります。リーダーに各カードをタッチすると、シェルウィンドウに「0xd71d9a52」や「無効なカード」といったIDが表示されます。また、赤色のLEDが点灯し、ブザーが長いビープ音を発します。これは、現在のカードIDが14行目と15行目のいずれにも一致しないためです。14行目と15行目をカード1とカード2のIDに変更し、再度実行するために▶ボタンをクリックしてください。


今度は、カード1をリーダーに置くと、「カード1が検出されました」というメッセージ、短いビープ音、そして緑色の光が表示されます。カード2をリーダーに置くと、シェルウィンドウに「カード2が検出されました」と表示され、2つの短いビープ音と緑色の光が表示されます。
操作が完了したら、Ctrl + Cキーを押してコマンドを終了します。
DownLoad Url osoyoo.com