實驗 1-1 安裝ESP32 與 MFRC522 介面暨測試
(紀錄 RFID UID號碼 並用奇異筆 寫在卡片上)
Arduino 下載 與安裝
安裝USB
Driver + libraries
Tools à Board à ESP32 à 依照購買的ESP32不同有不同的設定
Tools àPort à COM X à 選擇”裝置管理員”→”連接埠” (插拔一下
檢視看看哪一個port)
Sketch àinclude
Library àManage
Library
File à Examples à MFRC522 àDumpinfo 編譯 上傳
上傳時 在 Arduino IDE介面編譯上傳出現 Connecting 時,按住 ESP32 板上的 Boot鍵 (下圖右上方),等到連接上了再放開。
測試ESP32
上傳 (LED閃爍測試程式)
#define LED 2
void setup() {
// Set pin mode
pinMode(LED,OUTPUT);
}
void loop() {
delay(500);
digitalWrite(LED,HIGH);
delay(500);
digitalWrite(LED,LOW);
}
內建LED
依照 買到的ESP32
Pin
* MFRC522 ESP32
* Reader/PCD
* Signal Pin Pin
* ----------------------------------
* RST/Reset RST GPIO27
* SPI SS SDA(SS) GPIO5
* SPI MOSI MOSI GPIO23
* SPI MISO MISO GPIO19
* SPI SCK SCK GPIO18
*
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 5 // ESP32 pin GIOP5
#define RST_PIN 27 // ESP32 pin GIOP27
MFRC522 rfid(SS_PIN, RST_PIN);
void setup() {
Serial.begin(115200);
SPI.begin(); // init SPI bus
rfid.PCD_Init(); // init MFRC522
Serial.println("Tap an RFID/NFC tag on the RFID-RC522 reader");
}
void loop() {
if (rfid.PICC_IsNewCardPresent()) { // new tag is available
if (rfid.PICC_ReadCardSerial()) { // NUID has been readed
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
Serial.print("RFID/NFC Tag Type: ");
Serial.println(rfid.PICC_GetTypeName(piccType));
// print UID in Serial Monitor in the hex format
Serial.print("UID:");
for (int i = 0; i < rfid.uid.size; i++) {
Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(rfid.uid.uidByte[i], HEX);
}
Serial.println();
rfid.PICC_HaltA(); // halt PICC
rfid.PCD_StopCrypto1(); // stop encryption on PCD
}
}
}
沒有留言:
張貼留言