2025年11月7日 星期五

作業3,4 ESP32 + MFRC522的測試程式(2)

 作業3,4 ESP32 + MFRC522的測試程式(2)

ESP32 with MFRC522 RFID Reader/Writer (Arduino IDE)





/***

Signal    MFRC522 WROOM-32

RST/Reset RST     21

SPI SS    SDA     5

SPI MOSI  MOSI    23

SPI MISO  MISO    19

SPI SCK   SCK     18

***/


#include <MFRC522v2.h>

#include <MFRC522DriverSPI.h>

//#include <MFRC522DriverI2C.h>

#include <MFRC522DriverPinSimple.h>

#include <MFRC522Debug.h>


// Learn more about using SPI/I2C or check the pin assigment for your board: https://github.com/OSSLibraries/Arduino_MFRC522v2#pin-layout

MFRC522DriverPinSimple ss_pin(5);


MFRC522DriverSPI driver{ss_pin}; // Create SPI driver

//MFRC522DriverI2C driver{};     // Create I2C driver

MFRC522 mfrc522{driver};         // Create MFRC522 instance


void setup() {

  Serial.begin(115200);  // Initialize serial communication

  while (!Serial);       // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4).

  

  mfrc522.PCD_Init();    // Init MFRC522 board.

  MFRC522Debug::PCD_DumpVersionToSerial(mfrc522, Serial);  // Show details of PCD - MFRC522 Card Reader details.

  Serial.println(F("Scan PICC to see UID"));

}


void loop() {

  // Reset the loop if no new card present on the sensor/reader. This saves the entire process when idle.

  if (!mfrc522.PICC_IsNewCardPresent()) {

    return;

  }


  // Select one of the cards.

  if (!mfrc522.PICC_ReadCardSerial()) {

    return;

  }


  Serial.print("Card UID: ");

  MFRC522Debug::PrintUID(Serial, (mfrc522.uid));

  Serial.println();


  // Save the UID on a String variable

  String uidString = "";

  for (byte i = 0; i < mfrc522.uid.size; i++) {

    if (mfrc522.uid.uidByte[i] < 0x10) {

      uidString += "0"; 

    }

    uidString += String(mfrc522.uid.uidByte[i], HEX);

  }

  Serial.println(uidString);

}


執行結果

10:02:46.624 -> Firmware Version: 0x92 = v2.0

10:02:46.624 -> Scan PICC to see UID

10:02:49.732 -> Card UID:  BE 36 2B 83

10:02:49.732 -> be362b83

10:02:49.765 -> Card UID:  BE 36 2B 83

10:02:49.765 -> be362b83

10:02:49.798 -> Card UID:  BE 36 2B 83

10:02:49.798 -> be362b83

10:02:49.846 -> Card UID:  BE 36 2B 83

10:02:49.846 -> be362b83

10:02:49.846 -> Card UID:  BE 36 2B 83

10:02:49.846 -> be362b83

10:02:51.879 -> Card UID:  99 68 A4 9C

10:02:51.879 -> 9968a49c

10:02:51.929 -> Card UID:  99 68 A4 9C

10:02:51.929 -> 9968a49c

10:02:51.963 -> Card UID:  99 68 A4 9C

10:02:51.963 -> 9968a49c

10:02:52.012 -> Card UID:  99 68 A4 9C

10:02:52.012 -> 9968a49c

10:02:52.012 -> Card UID:  99 68 A4 9C

10:02:52.012 -> 9968a49c

10:02:52.061 -> Card UID:  99 68 A4 9C

10:02:52.061 -> 9968a49c

10:02:52.061 -> Card UID:  99 68 A4 9C

10:02:52.061 -> 9968a49c

10:02:52.109 -> Card UID:  99 68 A4 9C

10:02:52.109 -> 9968a49c

10:02:52.109 -> Card UID:  99 68 A4 9C

10:02:52.109 -> 9968a49c


沒有留言:

張貼留言

ESP32 (ESP-IDF in VS Code) MFRC522 + MQTT + PYTHON TKinter +SQLite

 ESP32 (ESP-IDF in VS Code) MFRC522 + MQTT + PYTHON TKinter +SQLite  ESP32 VS Code 程式 ; PlatformIO Project Configuration File ; ;   Build op...