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