ได้รับส่งมอบฟรีในคําสั่งทั้งหมดมากกว่า 20 ปอนด์!

ใช้ PN532 กับ Raspberry Pi

Using the PN532 with the Raspberry Pi

The PN532 เป็นโมดูล NFC (Near Field Communication) ที่หลากหลาย สามารถใช้สำหรับการอ่านและเขียนแท็ก NFC รวมถึงการใช้งานระบบ RFID การใช้ PN532 กับ Raspberry Pi ช่วยให้คุณผนวกความสามารถ NFC เข้ากับโปรเจกต์ของคุณสำหรับแอปพลิเคชันอย่างการควบคุมการเข้าออก การชำระเงินแบบไม่สัมผัส และอุปกรณ์ IoT คำแนะนำนี้จะพาคุณตั้งค่าและใช้งาน PN532 กับ Raspberry Pi


สิ่งที่คุณจะต้องมี

  1. Raspberry Pi (ทุกรุ่นที่รองรับ GPIO เช่น Pi 3, Pi 4)
  2. PN532 NFC Module
  3. แผงทดลอง (Breadboard) และสาย Jumper
  4. คอมพิวเตอร์ที่เข้าถึง Raspberry Pi ผ่าน SSH หรือคีย์บอร์ดและจอภาพที่เชื่อมต่อ
  5. Python ติดตั้งบน Raspberry Pi

ขั้นตอนที่ 1: การต่อสาย PN532 เข้ากับ Raspberry Pi

โมดูล PN532 module รองรับโปรโตคอลการสื่อสารหลายแบบ ได้แก่ I2C, SPI และ UART คำแนะนำนี้จะใช้อินเทอร์เฟซ I2C เพื่อความง่าย

การเชื่อมต่อ (โหมด I2C)

PN532 Pin Raspberry Pi Pin
VCC 3.3V (Pin 1)
GND Ground (Pin 6)
SDA SDA (Pin 3, GPIO2)
SCL SCL (Pin 5, GPIO3)
SEL0 GND
SEL1 VCC

หมายเหตุ: ขา SEL0 และ SEL1 จะกำหนดโหมดการสื่อสาร การต่อ SEL0 เข้ากับ GND และ SEL1 เข้ากับ VCC จะเลือกโหมด I2C


ขั้นตอนที่ 2: เปิดใช้งานอินเทอร์เฟซ I2C บน Raspberry Pi

  1. เปิดเครื่องมือการกำหนดค่าของ Raspberry Pi:
    sudo raspi-config
    
  2. ไปที่ Interface Options > I2C และเปิดใช้งาน
  3. รีบูต Raspberry Pi:
    sudo reboot
    

ขั้นตอนที่ 3: ติดตั้งเครื่องมือและไลบรารีที่จำเป็น

  1. อัปเดต Raspberry Pi ของคุณ:
    sudo apt update && sudo apt upgrade -y
    
  2. ติดตั้งเครื่องมือ I2C:
    sudo apt install -y i2c-tools
    
  3. ติดตั้งไลบรารี Python สำหรับการสื่อสาร I2C และฟังก์ชันของ PN532:
    pip install adafruit-circuitpython-pn532
    

ขั้นตอนที่ 4: ตรวจสอบการเชื่อมต่อ

  1. ใช้ i2cdetect เพื่อตรวจสอบว่า PN532 ถูกตรวจพบบนบัส I2C หรือไม่:
    sudo i2cdetect -y 1
    
  2. คุณควรเห็น PN532 ที่ที่อยู่ 0x24 หรือ 0x48 หากไม่เห็น:
    • ตรวจสอบการต่อสายของคุณ.
    • ตรวจสอบให้แน่ใจว่า PN532 ได้รับพลังงาน

ขั้นตอนที่ 5: การอ่านแท็ก NFC ด้วย Python

สคริปต์ Python ต่อไปนี้แสดงตัวอย่างการอ่านแท็ก NFC โดยใช้ PN532.

Python Code Example

import board
import busio
from adafruit_pn532.i2c import PN532_I2C

# I2C connection setup
i2c = busio.I2C(board.SCL, board.SDA)
pn532 = PN532_I2C(i2c, debug=False)

# Configure PN532 to read NFC tags
pn532.SAM_configuration()

print("Waiting for an NFC tag...")

while True:
    uid = pn532.read_passive_target(timeout=0.5)
    if uid is not None:
        print(f"Found NFC tag with UID: {uid.hex()}")

ขั้นตอนที่ 6: การใช้งานของ PN532

  1. การควบคุมการเข้าออก: สร้างระบบล็อกประตูแบบใช้ NFC
  2. การชำระเงินแบบไม่สัมผัส: จำลองระบบการชำระเงินด้วยบัตร NFC
  3. โปรเจกต์ IoT: ใช้แท็ก NFC เพื่อเริ่มเหตุการณ์อัตโนมัติ
  4. บันทึกข้อมูล: เขียนข้อมูลลงแท็ก NFC สำหรับการนับสต็อกหรือการติดตาม

การแก้ไขปัญหา

  1. อุปกรณ์ไม่ถูกตรวจพบ:

    • ตรวจสอบการเชื่อมต่อ SDA และ SCL
    • ตรวจสอบว่าอินเทอร์เฟซ I2C ถูกเปิดใช้งานบน Raspberry Pi
    • ตรวจสอบการกำหนดค่า SEL0 และ SEL1 สำหรับโหมด I2C
  2. ข้อผิดพลาดในการอ่าน:

    • ตรวจสอบให้แน่ใจว่าแท็ก NFC อยู่ในระยะของ PN532.
    • ตรวจสอบการรบกวนจากวัตถุโลหะหรืออุปกรณ์อิเล็กทรอนิกส์อื่น ๆ
  3. ข้อผิดพลาด I2C:

    • ตรวจสอบว่าไม่มีอุปกรณ์ที่ขัดแย้งกันบนบัส I2C

บทสรุป

โมดูล PN532 NFC module เป็นเครื่องมือที่หลากหลายสำหรับเพิ่มความสามารถ NFC และ RFID ให้กับโปรเจกต์ Raspberry Pi ของคุณ โดยทำตามคำแนะนำนี้ คุณสามารถตั้งค่าและใช้ PN532 สำหรับแอปพลิเคชันอย่างการควบคุมการเข้าออก อัตโนมัติของ IoT และการแลกเปลี่ยนข้อมูลแบบไม่สัมผัส ทดลองอ่านและเขียนแท็ก NFC เพื่อสำรวจศักยภาพเต็มรูปแบบของโมดูลทรงพลังนี้!

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

แสดงความคิดเห็น