আমি আমার স্থানীয় মেকারস্পেসের জন্য একটি প্রকল্পে কাজ করছি, আমাদের সীমিত বাজেট রয়েছে তাই আমি ইবেতে আরএফআইডি-আরসি 522 এল'চ্যাপ'ও আরএফআইডি / এনএফসি পাঠক ব্যবহার করার আশা করছিলাম, আমি এসপিআই ভিত্তিক কয়েকটি বোর্ড পেয়েছি, তারা কাজ করে, তবে তারা কাজ করে তাদের জন্য কোড উদাহরণগুলি সীমাবদ্ধ।
আমি বেশ কয়েকটি পৃথক গ্রন্থাগার পেয়েছি এবং এটিতে স্থিতি পেয়েছি: https://github.com/ljos/MFRC522
সমস্যাটি হ'ল অনলাইনে উপলভ্য সমস্ত কোডই কিছু চীনা ছেলেরা পাইথন কোড থেকে উদ্ভূত হয়েছে যা লোকেরা অনুবাদ করেছে এবং একটি আরডিনো লাইব্রেরিতে হ্যাক করেছে।
কোডটি কাজ করে তবে মিফারে কার্ডগুলি বোঝায় 4, 7 বা 10 বাইট ইউআইডি রয়েছে এবং উদাহরণ / গ্রন্থাগারটি 5 বাইট সিরিয়াল নম্বর ফিরিয়ে দিচ্ছে।
কোনও ডকুমেন্টেশন নেই এবং এনএক্সপি ডেটাশিটটি বোধগম্য নয় ... অতিরিক্তভাবে এটি বেশিরভাগ কার্ডের সাথে কাজ করে বলে মনে হচ্ছে, তবে এটি মাস্টারকার্ড পেওয়েভ কার্ডগুলির সাথে কাজ করে না যা আইএসও 14443 স্ট্যান্ডার্ডের সাথে খাপ খায়। এমএফআরসি 500 এর উপর ভিত্তি করে আরও ব্যয়বহুল আরডিএম 880 পাঠক সূক্ষ্মভাবে কাজ করে এবং একটি দুর্দান্ত গ্রন্থাগার রয়েছে তবে ব্যয়টি বাস্তবায়নটিকে অসম্ভব করে তোলে।
সুতরাং, কেউ কি আমাকে এই এনএক্সপি এমএফআরসি 522 ভিত্তিক ইউনিট সমস্ত আইএসও 14443 কার্ড থেকে ইউআইডি পড়তে সহায়তা করতে পারেন?
#include <SPI.h>
#include <MFRC522.h>
#define RFID_SS 10
#define RFID_RST 5
MFRC522 rfid( RFID_SS, RFID_RST );
void setup() {
SPI.begin();
Serial.begin(115200);
rfid.begin();
}
void loop() {
byte data[MAX_LEN];
byte uid[5];
if ( rfid.requestTag( MF1_REQIDL, data ) == MI_OK ) {
if ( rfid.antiCollision( data ) == MI_OK ) {
memcpy( uid, data, 5 );
for ( int i = 0; i < 5; i++ ) {
Serial.print( uid[i], HEX );
Serial.print( ' ' );
}
Serial.println();
}
}
}
uid
অ্যারের দৈর্ঘ্য ৫. আপনি যেহেতু 10 বাইট ফলাফল চান তাই আপনি কি আরও বড় অ্যারে ব্যবহার করার চেষ্টা করেছিলেন?