正規オンライン販売店:

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ピンマップをここに含めました。

・Raspberry Pi PicoボードとmicroUSBケーブル
・Thonny Python IDEを実行するためのコンピュータ
・ブレッドボード
・LED x 2個
・220Ω抵抗器x 2個
・ネガティブ有効ブザー
・OSOYOO RFIDリーダーx 1個
・いくつかのジャンパワイヤ

上記の回路図では、次のようになっています:

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キーを押してコマンドを終了します。

SKU:2021005900のパーツについてもっと学びましょう。

 

No. 画像 商品名 Link
1 Raspberry Piピコボード https://osoyoo.store/products/raspberry-pi-pico-flexible-microcontroller-board-based-on-the-raspberry-pi-rp2040-dual-core-arm-cortex-m0-processor-1-pc?variant=39875307864175
2 サーボモーター https://osoyoo.store/products/micro-servo-sg90-blue-for-arduino-v2-0-robot-carmodel-lacc200610?variant=31648847560815
3 赤外線センサーモジュール https://osoyoo.store/products/hc-sr501-pir-motion-sensor-for-arduino?variant=31957812838511
4 RFID モジュールとカード https://osoyoo.store/products/osoyoo-rfid-module?variant=31970646130799
5 押しボタンと帽子 https://osoyoo.store/products/push-button-and-hats-5pcs?variant=39879253131375
6 LED(白×6、赤×6、黄×6、緑×6) https://osoyoo.store/products/led-packs-for-arduino?variant=31957816442991
7 サーボモーター https://osoyoo.store/products/sg90-micro-servo-for-arduino-raspberry-pi-robot?variant=31957821096047
8 ピエゾブザーモジュール https://osoyoo.store/products/piezo-buzzer-module-1pcs?variant=39879251656815
9 I2C LCDディスプレイ(16×2) https://osoyoo.store/products/i2c-lcd1602-display?variant=39875437101167
10 プラスドライバー https://osoyoo.store/products/phillips-screwdriver?variant=31930635780207https://osoyoo.store/products/single-channel-relay-module-for-arduino-raspberry-pi?variant=31955954401391
11 ブレッドボード https://osoyoo.store/products/solderless-prototype-breadboard-1pcs?variant=39879255457903
12 ポテンショメータ (10KΩ可変抵抗器) https://osoyoo.store/products/potentionmeter-10k-adjustable-resistor-3pcs?variant=39879281016943
13 40Pin M から M へのジャンパー線 https://osoyoo.store/products/40pin-m-to-m-jumper-wires?variant=39879256539247
14 20Pin M – F ジャンパー線 15cm https://osoyoo.store/products/20pin-15cm-female-to-female-cable?variant=31930663305327