#include <SoftwareSerial.h>
#include<SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class
MFRC522::MIFARE_Key key;
// Init array that will store new NUID
byte nuidPICC[4];
SoftwareSerial esp8266(2, 3); // Membuat RX Arduino menjadi pin 2 dan TX pin 3
void setup() {
Serial.begin(115200);
esp8266.begin(115200);
SPI.begin(); // Init SPI bus
rfid.PCD_Init(); // Init MFRC522
for (byte i = 0; i < 6; i++) {
key.keyByte[i] = 0xFF;
}
}
void loop()
{
if(esp8266.available()) // Mengecek apakah ESP mengirimkan pesan
{
// Delay digunakan untuk mengatur waktu pengiriman karakter
delay(500);
String command="";
while(esp8266.available())
{
command+=(char)Serial.read();
// Data ESP akan ditampikan pada output serial window
char c = esp8266.read(); // Membaca karakter selanjutnya.
Serial.write(c);
}
esp8266.println(command); // mengirim karakter yang terpaca kepada ESP
}
//-----------
// Look for new cards
if (! rfid.PICC_IsNewCardPresent())
return;
// Verify if the NUID has been read
if (! rfid.PICC_ReadCardSerial())
return;
for (byte i = 0; i < 4; i++) {
nuidPICC[i] = rfid.uid.uidByte[i];
}
printHex(rfid.uid.uidByte, rfid.uid.size);
Serial.println();
rfid.PICC_HaltA();
rfid.PCD_StopCrypto1();
//------------
//------------------------
}
void printHex(byte *buffer, byte bufferSize) {
for (byte i = 0; i < bufferSize; i++) {
Serial.print(buffer[i] < 0x10 ? "0":"");
Serial.print(buffer[i], HEX);
}
}
0 Comments