نکنولوژی RFID یک روش برای مدیریت در لایههای مختلف است. با این تکنولوژی بدون اینکه از سنسورهای مرئی استفاده شود، عملیات عبور و مرور و یا شمارش انجام میشود. به عنوان مثال در نظر بگیرید، در یک ساختمان اداری که چندین بخش مختلف دارد، افراد سازمان بر اساس درجه شغلیشان به بخشهای مختلف دسترسی پیدا میکنند. هر فردی با کارت شخصیاش میتواند به بخشهای تعریف شده ورود کند. نوع دیگر کاربرد تکنولوژی RFID در کتابفروشیها است. تمامی کتابها دارای یک تگ RFID نازک به صورت برچسب داخل جلد هستند.
چنانچه فرکانس این تگ Tag از چرخه خارج نشده باشد، با دستگاههای خواننده RFID در جلو در ورودی به هنگام خروج از فروشگاه شناسایی شده و آژیر به صدا در میآید. این روش در اکثر فروشگاههای بزرگ بجز کتابفروشیها کاربرد دارد. نوع دیگر کاربرد تکنولوژی rfid در چرخه تولید است. پالتهای کالا از مواد اولیه در انبار گرفته تا انجام فرآیندهای مختلف در بخشهای مختلف کارخانه توسط تگهای RFID با رنج فرکانسی قویتر قابل ردیابی خواهند بود. برای آشنایی با انواع کاربرد RFID پیشنهاد میکنم به پست RFID چیست در وب سایت همکارانم علم فردا مراجعه کنید. در ادامه آموزش خواندن کدهای تگ RFID با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
ساختار ماژول کارت خوان RFID
RFID مخفف Radio frequency identification میباشد. این ماژول دارای ۸ پایه برای برقراری ارتباط با برد آردوینو Arduino است. فرکانس کاری ماژول RFID در باند ۱۳٫۵۶ مگاهرتز میباشد. ولتاژ کاری آن ۳٫۳ ولت بوده و جریان آن بین ۱۳ تا ۲۶ میلی آمپر است. پروتکل ارتباطی SPI و ماکزیمم سرعت آن ۱۰Mbit/S میباشد. قبلا در پست MRFC522 ماژول RFID آردوینو بخش اول به بررسی کامل این ماژول پرداخته ایم. در صورت نیاز مطالعه نمایید.
اتصالات ماژول RFID به آردوینو Arduino
ماژول RFID RC522 دارای ۸ پین می باشد که به ترتیب به آردوینو اتصال میدهیم:
پین SDA Data line را به پین ۱۰ (Digital) آردوینو وصل میکنیم.
پینSCK serial clock را به پین ۱۳ (Digital) آردوینو وصل میکنیم.
پین MOSI Master out slave in را به پبن ۱۱(Digital) آردوینو وصل میکنیم.
پین MISO Master in slave out را به پبن ۱۲ (Digital) آردوینو وصل میکنیم.
پین RST RESET را به پین ۹(Digital) آردوینو وصل میکنیم.
پین GND را به GND آردوینو وصل کنید.
پین VCC را به پین ۳٫۳ ولت آردوینو وصل کنید.
فراخوانی کتابخانه
در این آموزش از کتابخانه MFRC522 استفاده میکنیم. لینک دانلود کتابخانه RC522 در صفحه محصول ماژول کارت خوان با قابلیت خواندن و نوشتن RFID – RC522 قسمت دانلود قرار دارد. چنانچه شیوه نصب کتابخانه در آردوینو را نمیدانید از پست نصب کنابخانه در نرم افزار آردوینو Arduino IDE استفاده کنید.
کد برنامه RFID
کد را در نرم افزار آردوینو کپی، کامپایل و سپس آپلود کنید. سپس سریال مانیتور Serial monitor نرم افزار آردوینو Arduino IDE را باز کنید. حال با نزدیک کردن کارت RFID و یا تگ RFID Tag به سنسور RFID ، کد آن بر روی سریال مانیتور نمایش داده میشود.
#include <SPI.h> #include <MFRC522.h> constexpr uint8_t RST_PIN = 9; // Configurable, see typical pin layout above constexpr uint8_t SS_PIN = 10; // Configurable, see typical pin layout above MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class MFRC522::MIFARE_Key key; // Init array that will store new NUID byte nuidPICC[4]; void setup() { Serial.begin(9600); SPI.begin(); // Init SPI bus rfid.PCD_Init(); // Init MFRC522 for (byte i = 0; i < 6; i++) { key.keyByte[i] = 0xFF; } Serial.println(F("This code scan the MIFARE Classsic NUID.")); Serial.print(F("Using the following key:")); printHex(key.keyByte, MFRC522::MF_KEY_SIZE); } void loop() { // Look for new cards if ( ! rfid.PICC_IsNewCardPresent()) return; // Verify if the NUID has been readed if ( ! rfid.PICC_ReadCardSerial()) return; Serial.print(F("PICC type: ")); MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); Serial.println(rfid.PICC_GetTypeName(piccType)); // Check is the PICC of Classic MIFARE type if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI && piccType != MFRC522::PICC_TYPE_MIFARE_1K && piccType != MFRC522::PICC_TYPE_MIFARE_4K) { Serial.println(F("Your tag is not of type MIFARE Classic.")); return; } if (rfid.uid.uidByte[0] != nuidPICC[0] || rfid.uid.uidByte[1] != nuidPICC[1] || rfid.uid.uidByte[2] != nuidPICC[2] || rfid.uid.uidByte[3] != nuidPICC[3] ) { Serial.println(F("A new card has been detected.")); // Store NUID into nuidPICC array for (byte i = 0; i < 4; i++) { nuidPICC[i] = rfid.uid.uidByte[i]; } Serial.println(F("The NUID tag is:")); Serial.print(F("In hex: ")); printHex(rfid.uid.uidByte, rfid.uid.size); Serial.println(); Serial.print(F("In dec: ")); printDec(rfid.uid.uidByte, rfid.uid.size); Serial.println(); } else Serial.println(F("Card read previously.")); // Halt PICC rfid.PICC_HaltA(); // Stop encryption on PCD rfid.PCD_StopCrypto1(); } /** * Helper routine to dump a byte array as hex values to Serial. */ void printHex(byte *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? " 0" : " "); Serial.print(buffer[i], HEX); } } /** * Helper routine to dump a byte array as dec values to Serial. */ void printDec(byte *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? " 0" : " "); Serial.print(buffer[i], DEC); } }
وسایل مورد نیاز
کارت RFID خواندن و نوشتن ۱۳٫۵۶KHz
کابل فلت نری به مادگی Male to Female
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
با سلام و احترام
ضمن تشکر در خصوص آموزشهای مفیدتون
در صورت امکان نحوه کد کردن و رمز گذاشتن روی کارت های مایفر رو در آموزش ها قرار بدید
سپاس فراوان
در صورت امکان اگر مطلبی در این خصوص برای مطالعه وجود دارد، لینک مطلب را اعلام بفرمایید.
دیتاشیت RC522 و کارتهای مایفر مطلب مفهومی در این خصوص پیدا نکردم
سپاس
سلام
از توجه شما ممنونم.
سری آموزشهای RFID به دلیل گستردگی مطالب، دنبالهدار بوده و در بخشهای مختلف به بررسی و آموزش آنها خواهیم پرداخت. از پیشنهادات شما سپاسگزارم.
با سپاس فراوان
بی صبرانه منتظر این آموزشها هستم
سلام خسته نباشید توی قفل دیجیتال که از rfidو اردیونو استفاده میشه ، باید قبلش کد تگ رو بدونیم یا خودش شناسایی میکنه
با سلام
سوال شما شفاف نیست. دقیق تر بفرمایید تا راهنمایی کنم.
سلام.لطفا این برنامه رو خط به خط توضیح بدید،من تازه علاقه مند شدم و میخوام با rfid شروع کنم.سپاس
با سلام
بجز توضیحات ارایه شده امکان بررسی توضیحات بیشتر فراهم نیست.
سلام بنده این کار را انجام دادم و جواب گرفتم
بسیار مفید بود فقط یه سؤال اگر بخوایم برای ورود به جایی استفاده کنیم میشه راهنمایی کنید تگ های مشخصی یعنی در برنامه کد شان رو بدیم و زمانی که هر کس بمواد وارد شود از تگ مورد نظر استفاده کند در صورت بودن کد ان تگ در برنامه برد به رله دستور بدهد
لطفا راهنمایی کنید
خیلی ممنون از شما و سایت خوبتون
سلام
آموزش های RFID به هم پیوسته هستند.منتظر باشید تا آموزش های بعدی منتشر شوند.
به نظر بنده شما یک رزبری پای خریداری کنید و کار های پردازشی رو با اون انجام بدین.
ولی شما با کمی سواد برنامه نویسی به زبان سی میتونید با تعریف یک تابع کار خودتون رو راه بندازین
موفق باشید
سلام
ممنون از اموزش خوبتون
اگه میشه خیلی سریع اموزش درست کردن قفل با سروو موتور و rfid و اردوینو را بگزارید که وقتی کارت شناسایی شد سروو موتور قفل را باز کند
سلام
چشم! 😀 همانطور که در پاسخهای قبلی گفته ام این مجموعه آموزشها به هم پیوسته هستند، منتظر انتشار باشید.
سلام و ضمن تشکر از زحمات بسیار گران بهای شما بابت آردوینو
افتخار میکنم شیرزنانی همانند شما بدون توقع و چشمداشتی اقدام به تولید محتواهای آموزشی در زمینه های مختلف می کنند. ب اینکه مقیم ایران نیستم ولی تمام دانشجویان من و کادر فنی از آموزش های شما بسیار استفاده میکنند. سرکارخانم بلورچیان آرزو داریم هرچه بیشتر با توانایی بالاتر ارتقای علمی بیشتر برای شما باشد وجا دارد تشکر خود و تیم خود را اعلام میکنم. موفق و پیروز باشید
سلام
از لطف و توجه شما بسیار ممنونم آقای جاودانی
دیجی اسپارک این بستر را برای کاربران مهیا کرده تا بتوانند از به روز ترین آموزشهای اینترنت اشیا – IOT آردوینو رزبری پای و امبدد سیستمها به صورت رایگان بهره ببرند و ما هم بسیار خوشحالیم که آموزشها در جهت رشد و توسعه شما کاربردی بوده است. فقط تنها نکتهی جالب این بود؛ چطور متوجه شدهاید که بدون هیچ چشم داشتی ، محتوای آموزشی سایت در حال تولید است؟! هدف ما ارتقاء سطح سوال و بار علمی کاربران به صورت رایگان است. حداقل تعهد کاربران ارسال کامنت و نظر و پرسیدن سوال است.
سپاسگزارم
با سلام
من یک تگ RFID به صورت جداگانه خریداری کردم ولی توسط RC522 شناسایی نمیشود (درصورتی که تگ همراه با ماژول شناسایی میشود)
تگ را از این لینک خریداری کردم:
https://daneshjookit.com/%D8%A2%D8%B1-%D8%A7%D9%81-%D8%A2%DB%8C-%D8%AF%DB%8C-rfid-nfc/1713-%D9%85%D8%A7%DA%98%D9%88%D9%84-rfid-rc522.html
مشکل از کجاست؟
با تشکر
سلام
لطفا واضح تر توضیح بدید که آیا از کد این آموزش استفاده کردید؟ و اینکه دقیقا با چه ارورى مواجه میشوید تا بررسى کنم.
با سلام مجدد
از این آموزش و آموزش های دیگری استفاده کردم که تگ قبلی را شناسایی میکردند ولی این تگ را شناسایی نمیکند
هیچ اروری وجود ندارد!
میخواست ببینم آیا تگ باید برنامه ریزی شود یا اینکه تگ خراب است؟
با تشکر
سلام
منتظر آموزش بعدی باشید تا مشکل برطرف گردد.
شاید فرکانس ریدر و و کارت فرق میکنه
همینطور که (محمد رضا)گفتن فرکانس کارت هایی که برای فروش گذاشته شده با فرکانس ریدر کارت فرق داره.فرکانس رید ۱۳٫۵۶ مگاهرتز هست و فرکانس کارت ها ۱۲۵ کیلوهرتز هست.
سلام
در مورد کالا یعنی تگ و کارت ریدر بنده اطلاعی ندارم و باید از طریق صفحه محصول فروشگاه برای خرید اقدام نمایید.
کی قسمت بعدی میاد ؟؟
سلام
از توجه شما ممنونم.
آموزش قسمت بعدی در حال تمکیل می باشد و به زودی قرار خواهد گرفت.
سلام بنده این رو انجام دادم و بسیار خوب بود ولی من این ماژولشو از خودتون گرفتم یعنی دلنشجو کیت ولی فقط تگ کار میکنه و کارت کار نمی کنه و نمیشناسدش راهنمایی کنید
سلام
از توجه شما ممنونم. از آنجایی که من در جریان سفارش و خرید شما نیستم، احتمالا کارت RFID شما مایفر – mifare می باشد. در آموزش های بعدی نحوه ی خواندن کدهای مایفر نیز آموزش داده خواهد شد.
سلام من با تغییر کد یک رله بهش وصل کردم و میخوام به دروازه وصلش کنم ولی امواج Rfid از آهن دروازه رد نمیشه به غیر از این که ماژول رو اون طرف در بزارم روش دیگه ای برای عبور امواج هست ؟؟
سلام
از توجه شما ممنونم
دقت کنید که RFID با امواج رادیویى کار میکند واز این رو حالت فرستنده و گیرنده دارد. براى عبور جریان باید گیرنده را تقویت کنید.
ممنون از پاسختون ، میشه بگید چجوری گیرنده رو میشه تقویت کرد ؟؟
سلام مجدد
متاسفانه این قضیه در تخصص بنده نیست و صرفا جهت اطلاع گفتم. ولى توجه داشته باشید که باید در قسمت سخت افزار گیرنده، سلف مربوطه را تغییرات دهید.
سلام برای این کار میتونید از انتن استفاده کنید که یک سیم پیچ کوچک میباشد
سلام.میتونین توو ردیابی ب کمک rfid و اردویینو هم کمکمون کنین.
تشکر
سلام
نمیتوان به صورت قطعی قول داد . ولی شما در هر مرحله ای که به مشکل خوردید، میتوانید با ثبت کامنت در سایت از نظر تیم ما و دیگر کاربران کمک بخواهید.
باسلام و احترام فراوان
باتشکر از آموزشهای مفیدتون
میشه نحوه معرفی کارت جدید روبزارید
سلام
از توجه شما ممنونم.
از سرى آموزش هاى RFID ، آموزش بعدى معرفى کارت جدید مى باشد که به زودى بر روى سایت قرار خواهد گرفت. منتظر باشید.
سلام
آیا میشه id یک کارت رو عوض کرد؟
سلام
دقت کنید که آیدی کارت یکتا و منحصر به فرد است و قابل تغییر نمیباشد. ولی در برنامه میتوانید آی دی هر کارت را تعریف کنید که در آموزش های بعدی به این موضوع خواهیم پرداخت.
با سلام و خسته نباشید
من در نصب کتابخانه مشکل دارم البته کتابخانه های دیگر را طبق روش دوم (روش نصب کتابخانه ) نصب کردم ولی در هنگام نصب این کتابخانه با ارور مواجه می شوم
لطفا راهنمایی بفرمایید
سلام
لطفا ارور مربوط به کتابخانه را ارسال کنید تا بررسی کنم.
سلام
من موفق شدم کتابخانه را نصب کنم البته در پست MRFC522 ماژول RFID آردوینو بخش اول و برنامه را کامپایل کنم ولی در آن موقع ارور
MIFAR_KEY’ in ‘class MFRC522’ dose not a type ‘ را بر روی این خط از برنامه MFRC522::MIFARE_Key key; ظاهر می کند
ممنون از پاسخ گویی شما
سلام مجدد
بسیار عالی فقط متوجه نشدم که آیا مشکل شما برطرف شده است یا خیر ؟ حتما اعلام نمایید تا در صورت حل نشدن مشکل راهنمایی کنم.
سلام
مشکل نصب کتابخانه حل شد وآردوینو نصب کتابخانه را تایید می کنه ولی در هنگام کامپایل نمودنِ برنامه ارور هایی که در بالا عرض نمودم ، ظاهر می شود
سلام مجدد
بنده تا به حال به این مشکل برخورد نکردم، این ارور مربوط به کتابخانه می باشد. احتمالا شما از یکی از کتابخانه های دیگر MFRC522 استفاده کرده اید ؟ سوال اول این که کتابخانه را از لینکی که من در آموزش قرار داده ام نصب کرده اید یا در لیست کتابخانه های نرم افزار خود داشته اید؟ حتما نتیجه را اعلام کنید.
سلام
من کتابخانه را نصب کردم و آردوینو نصب کتابخانه را تایید کرد منتها در هنگام کامپایل، برنامه در ارور MIFAR_KEY’ in ‘class MFRC522’ dose not a type ‘ را بر روی این خط از برنامه MFRC522::MIFARE_Key key; ظاهر می کند
با عرض سلام و خسته نباشید.
۱٫من کتابخونه رو نصب کردم ، علت اررور زیر از خط هشتم کد فوق هنگام کامپایل کردن چیه و چطوری درستش کنم؟منظور از Key در کد چیه؟
‘MIFARE_Key’ in ‘class MFRC522’ does not name a type
با تشکر
سلام
این ارور احتمالا مربوط به کتابخانه می باشد. لطفا اعلام کنید از چه کتابخانه ای از MFRC522 استفاده کرده اید ؟ حتما اعلام کنید تا بررسی کنم.
با عرض سلام مجدد ، من برای پروژه های مختلف مجموعه ای از کتابخانه های rfid زیر رو تا حالا تو library نصب کردم مشکل اینا هستن؟:
https://codeload.github.com/miguelbalboa/rfid/zip/master
https://daneshjookit.com/index.php?controller=attachment&id_attachment=54
http://digispark.ir/files/rfid-master.zip
https://cdn.instructables.com/ORIG/FYX/Q78V/IGI9NSA6/FYXQ78VIGI9NSA6.zip
سوال دوم:آیا مایفر کارت های سایت دانشجوکیت خام هستند و نیاز به نوشتن و سپس خوانده شدن با ماژول فوق رو دارند؟
تشکر از پاسخ گویی شما
سلام مجدد
کتابخانه ها سالم هستند و ایرادی ندارند، برای رفع مشکل باید منتظر بمانید تا کدها را مجددا بررسی کنم. برای سوال دوم نیز دو کالا در فروشگاه موجود است که برای راهنمایی بیشتر میتوانید در صفحه محصول کالای مورد نظر خود سوال را مطرح نمایید تا همکارانم فنی در تیم دانشجوکیت شما را راهنمایی کنند.
سپاس
سلام
احتمال قوی کتابخانه که ازاین پست دانلود کردید مشکل داره و نصب نشده (از پیامی که آردوینو در پایین صفحه می دهد مطمئن شوید)
من از لینک http://digispark.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-rfid-mrfc522/ کتابخانه را نصب کردم و آردوینو پیام نصب را با موفقیت صادر کرد ولی کماکان در همان خط ارور را دارم
سلام
از توجه شما ممنونم.
اجازه بدید تا مجددا کد ها را بررسی کنم. نتیجه را از همین طریق اعلام خواهم کرد.
سلام مجدد، بعد از کلی تست همینطور که گفتین مشکل از کتابخانه بود. اول تمام کتابخانه های آر اف (هم داخل کتابخانه خود برنامه و هم توی کتابخانه داخلDocuments ادمین ) رو پاک کردم . جدیدترین و کاملترین ورژن کتابخانه RF رو از لینک زیر دانلود و بصورت زیپ به آردوینو دادم:
http://www.arduinolibraries.info/libraries/mfrc522
حالا بعد از آپلود دو خط زیر ظاهر میشه و کارت و تگ رو نمی شناسه، راه حل این چیه؟
This code scan the MIFARE Classsic NUID.
Using the following key: FF FF FF FF FF FF
سلام مجدد
بنده تا به حال به ارور های گفته شده برخورد نکردم ، اگر نمونه کد های گفته شده در آموزش را به درستی کپی کرده باشید و کتابخانه هم انتخاب کرده باشید نباید مشکلی در آپلود برنامه داشته باشید. با این حال لطفا منتظر بمانید تا ارور های گفته شده را بررسی و نتیجه را اعلام کنم.
ممنونم، بعد از تست های زیادی ،همه مراحل رو همانطور که در بالا گفتم به درستی انجام دادم و کد هم با موفقیت آپلود شد و با یک ماژول RF دیگه تست کردم جواب داد و معلوم شد ماژول اول معیوب بوده.
با تشکر از لطف و پیگیری شما
بسیار عالی
سلامت باشید.
سلاممن یه مشکلی دارم موقع آپلود ارور کامپایل میده کتابخانه هاهم اضافه کردم لطفا کمکم کنید
سلام
لطفا اروری که با آن برخورد کرده اید را عنوان کنید تا بررسی کنم. و آیا از کتابخانه ی گفته شده در آموزش استفاده کردید؟
Error compiling for board Arduino/Genuino Uno. ارور اصلی
ازهمین کتاب خانه ها استفاده کردم که در آموزش گفتید
ارور کامل پایین(Copy eror messages)
Arduino: 1.8.4 (Windows 10), Board: “Arduino/Genuino Uno”
C:\Users\AMIR HOSSIN\OneDrive\اسناد\Arduino\sketch_oct06a\sketch_oct06a.ino:2:21: fatal error: MFRC522.h: No such file or directory
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
سلام مجدد
در ابتدا مسیر کتابخانه را چک کنید که حتما در پوشه Arduino و در قسمت library قرار گرفته باشد. همچنین نوع برد را در منو tools ، نوع برد را آردوینو UNO انتخاب کنید و سپس دوباره آپلود کنید. اگر مشکل برطرف نشد اعلام کنید.
سلام فایل کتابخانه rfid درست کامپایل نمی شد که دوباره دانلودش کردم از جای دیگه یی و مثل اینکه درست شده ممنون از شما
فقط یه مشکل داره برد کار نمی کنه کارت nfc سالمه اما برد هیچی دریافت نمی کنه
لطفا دقیق تر بیان کنید. هیچ اطلاعاتی از کارت در سریال مانیتور نمایش داده نمیشود؟
بسیار عالی
خواهش میکنم.
سلام میشه پروژه مایفر رو برای میکرو atmega8بذارید با اردینو صرفخ تجاری و تولید نداره ممنون
سلام
هدف اصلی دیجی اسپارک تمرکز بر روی امبدد سیستم ها است و همچنین این رویکرد سنتی است و استفاده از امبدد سیستم ها در مقاصد تجاری توجیه پذیرتر هستند. البته در این زمینه هم از دوستانی که تجربه تجاری سازی دارند تقاضا دارم در این بحث شرکت کنند.
موفق باشید.
سلام من از برد wemos d1 mini pro استفاده میکنم برای این که پین هارو کاستوم کنم چیکار کنم؟؟
سلام
در این زمینه همکارم در حال انتشار آموزش مربوطه هستند، منتظر انتشار آن باشید.
ممنون انجام شد
شاد و پیروز باشید.
سلام وقت بخیر لطفا یه مثال کامل جهت وارد کردن کد تگ ها در برنامه. Rfid جهت خروجی یک رله بذارید ممنون .کدهاش هگزه من هرکار میکنم.نمیتونم.تو برنامه بزارم خطا میده ممنون میشم کمک کنید
سلام
از توجه شما ممنونم
در حال تولید سری آموزش های RFID هستیم و به زودی در سایت قرار گرفته خواهد شد.
سلام!
اولین بارمه که میخوام با RFID کار کنم، امکانش هست که خط به خط کد رو توضیح بدین؟
سلام
برای شروع کار با RFID در ابتدا پست همکارم آموزش MRFC522 RFID که به معرفی و توضیح کامل RFID پرداخته است را مطالعه نمایید. دقت کنید که تحلیل کدها به عهده خودتان است. بنده تمامی مراحل را در آموزش توضیح داده ام و شما با استناد به متن آموزش میتوانید کدها را تحلیل کنید. در هر مرحله اگر به مشکل برخوردید از طریق ثبت کامنت سوال خود را مطرح نمایید.
سلام مجدد
اون پست و خوندم و سوالات بیشتری برام ایجاد شده…
+
سایت گروه تلگرامی و یا فرومی برای پرسش و پاسخ در این زمینه داره؟
سلام
سوالات خود را از طریق ثبت کامنت مطرح کنید تا در سریع ترین زمان ممکن پاسخ داده شود. از طریق تلگرام امکان پاسخگویی سریع وجود ندارد. آموزش بخش جدید RFID هم در سایتقرار گرفته شده است حتما مطالعه نمایید وسپس سوالات خود را بیان کنید تا رفع عیب نماییم.
ببخشید کد تگ در کدوم متغیر ذخیره شده؟؟؟
سلام
در سطر ۵۶ کدها، کاملا اسکریپت مربوطه توضیح داده شده است. حتما بررسی کنید.
سلام وقت بخیر. من نیاز دارم تا شماره تگ خونده شده تو ال سی دی ۵۱۱۰ نمایش داده بشه . ممنون میشم راهنماییم کنید.
سلام
برای نمایش دیتا در ال سی دی باید از کتابخانه LCD nokia5110 و یا همان PCD8544 استفاده کنید. برای نمایش در ال سی دی هم باید تعییراتی در کدها لحاظ کنید. در این بخش امکان توضیح با جزییات وجود ندارد و حتما نیاز به آموزش مجزا در بخش RFID خواهد داشت.
ممنون میشم این مورد رو هم یاد بدید. در ضمن چجور میشه چند تا آیدی رو ذخیره کرد مثل داخل همون کد و بررسی کرد که کارت خوانده شده با اونا یکی هست یا نه . اگه یکی بود مثلا یک پایه مقدارش high بشه
سلام
آیا منظور شما این است که از فعالیت هر کارتی لاگ گرفته شود؟ دقیق تر بیان کنید.
سلام
بسیار ممنونم از مطالب جامع شما بند در نظر دارم یک پروژهای مانند کارتهی مترو اعتباری هستند را اجرا کنم که بتوانم به کاربرام کارتهای بصورت اعتباری که خودم برایشان معرفی کردم کار کند و برای شارژ دوبار مدیریت بتواند این کارتهارو شارژکنه.
ایا میتوانید در مورد این پروژه اطلاعات و آموزش به بنده بدهید .
ممنونم
سلام
از توجه شما بسیار ممنونم.
پروژه ای که در نظر دارید در واقع حالت خواندن و نوشتن دیتا و اطلاعات در هر بار روی کارت RFID و یا تگ می باشد که علاوه بر کارت RFID با این قابلیت نیاز به برنامه ای پیچیده برای اجرای آن دارد.
سلام ، ممنون از مطلب خوبتون
میخواستم بدونم برای اینکه هر کارت رو بعد از نزدیک کردن فقط یک بار بخونیم و با دور شدنش دوباره بشه حتی همون کارت رو یک بار دیگه خوند چه باید کرد ، مانند کارت خوان اتوبوس
سلام
از توجه شما ممنونم.
موضوعی که شما میفرمایید حالت خواندن و نوشتن اطلاعات در هر بار روی کارت و تگ می باشد که علاوه بر کارت RFID با این قابلیت نیاز به برنامه پیچیده ای دارد.
سلام و خسته نباشین
یه سوال درمورد تگ ها داشتم
چطور کد و رمز مورد نظر را رو تگ ها قرار بدیم ؟
با تشکر فراوان
سلام
برای اینکار باید در کدها تعییراتی ایجاد بشه که در قسمت نظرات امکان ارائه کدهای آماده نیست، شما باید با دانش برنامه نویسی c++ نسبت به توسعه این موضوع اقدام کنید.
Arduino: 1.6.5 (Windows 7), Board: “Arduino Uno”
C:\Users\Hr\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp: In constructor ‘MFRC522::MFRC522()’:
C:\Users\Hr\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp:16:33: error: ‘UINT8_MAX’ was not declared in this scope
MFRC522::MFRC522(): MFRC522(SS, UINT8_MAX) { // SS is defined in pins_arduino.h, UINT8_MAX means there is no connection from Arduino to MFRC522’s reset and power down input
^
C:\Users\Hr\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp: In member function ‘void MFRC522::PCD_Init()’:
C:\Users\Hr\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp:201:28: error: ‘UINT8_MAX’ was not declared in this scope
if (_resetPowerDownPin != UINT8_MAX) {
^
Multiple libraries were found for “MFRC522.h”
Used: C:\Users\Hr\Documents\Arduino\libraries\MFRC522
Not used: C:\Program Files\Arduino\libraries\MFRC522-master
Error compiling.
This report would have more information with
“Show verbose output during compilation”
enabled in File > Preferences.
سلام
در ابتدا کتابخانه MFRC522.h را در مسیر نصب آردوینو در سیستم خودتان، در پوشه arduino / Library کپی کنید و مچددا کدها را Verify نمایید. سپس قبل از اتصال آردوینو به سیستم، یکبار کد را آپلود کنید. مشکل برطرف خواهد شد. اگر به مشکل برخوردید از همین طریق اقدام نمایید.
با سلام
خیلی ممنون از آموزش ها
مشکلی داشتم..زمانی که برق اردوینو قطع شد و دوباره وصل شد در یک لحظه دستور به رله داده میشه و درب باز میشه و مشکل بعدی این که قفل بعد از ۲۰ دقیقهریاRFIDاز کار افتاده و نیازه یک بار برق اردوینو رو از اول وصل کنم تا دوباره بر گرده به روال اصلی
سلام
در مورد سوال اول پیشنهاد میشود که رله را برعکس به مدار اتصال دهید.
در مورد سوال دوم هم اتصالات را لطفا توضیح دهید.
سلام خدا قوت ، میشه بگید بعد از اینکه کدها رو در سریال مانیتور دیدم ، در برنامه چجور شرط بندی کنیم؟
سلام
از توجه شما ممنونم.
لطفا واضح تر بیان کنید.
printDec (rfid.uid.uidByte، rfid.uid.size) این اررور رو میده برای من؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟/
۱۲:۸: error: ‘MFRC522’ does not name a type
MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class
^
۱۲:۱۰: error: ‘MFRC522’ does not name a type
MFRC522::MIFARE_Key key;
باز این اررور شدددددددددددددددددددددددد
لطفا برای انتقال کدها از موس استفاده نکنید و کدها را با استفاده از کلیدهای میانبر کپی کنید.
سلام
لطفا برای انتقال کدها از موس استفاده نکنید و کدها را با استفاده از کلیدهای میانبر کپی کنید.
با سلام و خسته نباشید
Arduino: 1.8.1 (Windows 10), Board: “Arduino Uno WiFi”
sketch_dec21a:11: error: ‘MIFARE_Key’ in ‘class MFRC522’ does not name a type
MFRC522::MIFARE_Key key;
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino: In function ‘void setup()’:
sketch_dec21a:19: error: ‘class MFRC522’ has no member named ‘PCD_Init’
rfid.PCD_Init(); // Init MFRC522
^
sketch_dec21a:22: error: ‘key’ was not declared in this scope
key.keyByte[i] = 0xFF;
^
sketch_dec21a:27: error: ‘key’ was not declared in this scope
printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
^
sketch_dec21a:27: error: ‘MF_KEY_SIZE’ is not a member of ‘MFRC522’
printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino: In function ‘void loop()’:
sketch_dec21a:33: error: ‘class MFRC522’ has no member named ‘PICC_IsNewCardPresent’
if ( ! rfid.PICC_IsNewCardPresent())
^
sketch_dec21a:37: error: ‘class MFRC522’ has no member named ‘PICC_ReadCardSerial’
if ( ! rfid.PICC_ReadCardSerial())
^
sketch_dec21a:41: error: ‘PICC_Type’ is not a member of ‘MFRC522’
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
^
sketch_dec21a:42: error: ‘class MFRC522’ has no member named ‘PICC_GetTypeName’
Serial.println(rfid.PICC_GetTypeName(piccType));
^
sketch_dec21a:42: error: ‘piccType’ was not declared in this scope
Serial.println(rfid.PICC_GetTypeName(piccType));
^
sketch_dec21a:45: error: ‘PICC_TYPE_MIFARE_MINI’ is not a member of ‘MFRC522’
if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
^
sketch_dec21a:46: error: ‘PICC_TYPE_MIFARE_1K’ is not a member of ‘MFRC522’
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
^
sketch_dec21a:47: error: ‘PICC_TYPE_MIFARE_4K’ is not a member of ‘MFRC522’
piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
^
sketch_dec21a:52: error: ‘class MFRC522’ has no member named ‘uid’
if (rfid.uid.uidByte[0] != nuidPICC[0] ||
^
sketch_dec21a:53: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[1] != nuidPICC[1] ||
^
sketch_dec21a:54: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[2] != nuidPICC[2] ||
^
sketch_dec21a:55: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[3] != nuidPICC[3] ) {
^
sketch_dec21a:60: error: ‘class MFRC522’ has no member named ‘uid’
nuidPICC[i] = rfid.uid.uidByte[i];
^
sketch_dec21a:65: error: ‘class MFRC522’ has no member named ‘uid’
printHex(rfid.uid.uidByte, rfid.uid.size);
^
sketch_dec21a:65: error: ‘class MFRC522’ has no member named ‘uid’
printHex(rfid.uid.uidByte, rfid.uid.size);
^
sketch_dec21a:68: error: ‘class MFRC522’ has no member named ‘uid’
printDec(rfid.uid.uidByte, rfid.uid.size);
^
sketch_dec21a:68: error: ‘class MFRC522’ has no member named ‘uid’
printDec(rfid.uid.uidByte, rfid.uid.size);
^
sketch_dec21a:74: error: ‘class MFRC522’ has no member named ‘PICC_HaltA’
rfid.PICC_HaltA();
^
sketch_dec21a:77: error: ‘class MFRC522’ has no member named ‘PCD_StopCrypto1’
rfid.PCD_StopCrypto1();
^
In file included from C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:101:0:
C:\Users\Ali\Documents\Arduino\libraries\MFRC522-master/MFRC522.h: At global scope:
C:\Users\Ali\Documents\Arduino\libraries\MFRC522-master/MFRC522.h:123:7: error: redefinition of ‘class MFRC522’
class MFRC522 {
^
In file included from C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:4:0:
C:\Users\Ali\Documents\Arduino\libraries\MFRC522-master/MFRC522.h:123:7: error: previous definition of ‘class MFRC522’
class MFRC522 {
^
sketch_dec21a:103: error: redefinition of ‘constexpr const uint8_t RST_PIN’
constexpr uint8_t RST_PIN = 9; // Configurable, see typical pin layout above
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:6:19: note: ‘constexpr const uint8_t RST_PIN’ previously defined here
constexpr uint8_t RST_PIN = 9; // Configurable, see typical pin layout above
^
sketch_dec21a:104: error: redefinition of ‘constexpr const uint8_t SS_PIN’
constexpr uint8_t SS_PIN = 10; // Configurable, see typical pin layout above
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:7:19: note: ‘constexpr const uint8_t SS_PIN’ previously defined here
constexpr uint8_t SS_PIN = 10; // Configurable, see typical pin layout above
^
sketch_dec21a:106: error: redefinition of ‘MFRC522 rfid’
MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:9:9: note: ‘MFRC522 rfid’ previously declared here
MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class
^
sketch_dec21a:108: error: ‘MIFARE_Key’ in ‘class MFRC522’ does not name a type
MFRC522::MIFARE_Key key;
^
sketch_dec21a:111: error: redefinition of ‘byte nuidPICC [4]’
byte nuidPICC[4];
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:14:6: note: ‘byte nuidPICC [4]’ previously declared here
byte nuidPICC[4];
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino: In function ‘void setup()’:
sketch_dec21a:113: error: redefinition of ‘void setup()’
void setup() {
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:16:6: note: ‘void setup()’ previously defined here
void setup() {
^
sketch_dec21a:116: error: ‘class MFRC522’ has no member named ‘PCD_Init’
rfid.PCD_Init(); // Init MFRC522
^
sketch_dec21a:119: error: ‘key’ was not declared in this scope
key.keyByte[i] = 0xFF;
^
sketch_dec21a:124: error: ‘key’ was not declared in this scope
printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
^
sketch_dec21a:124: error: ‘MF_KEY_SIZE’ is not a member of ‘MFRC522’
printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino: In function ‘void loop()’:
sketch_dec21a:127: error: redefinition of ‘void loop()’
void loop() {
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:30:6: note: ‘void loop()’ previously defined here
void loop() {
^
sketch_dec21a:130: error: ‘class MFRC522’ has no member named ‘PICC_IsNewCardPresent’
if ( ! rfid.PICC_IsNewCardPresent())
^
sketch_dec21a:134: error: ‘class MFRC522’ has no member named ‘PICC_ReadCardSerial’
if ( ! rfid.PICC_ReadCardSerial())
^
sketch_dec21a:138: error: ‘PICC_Type’ is not a member of ‘MFRC522’
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
^
sketch_dec21a:139: error: ‘class MFRC522’ has no member named ‘PICC_GetTypeName’
Serial.println(rfid.PICC_GetTypeName(piccType));
^
sketch_dec21a:139: error: ‘piccType’ was not declared in this scope
Serial.println(rfid.PICC_GetTypeName(piccType));
^
sketch_dec21a:142: error: ‘PICC_TYPE_MIFARE_MINI’ is not a member of ‘MFRC522’
if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
^
sketch_dec21a:143: error: ‘PICC_TYPE_MIFARE_1K’ is not a member of ‘MFRC522’
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
^
sketch_dec21a:144: error: ‘PICC_TYPE_MIFARE_4K’ is not a member of ‘MFRC522’
piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
^
sketch_dec21a:149: error: ‘class MFRC522’ has no member named ‘uid’
if (rfid.uid.uidByte[0] != nuidPICC[0] ||
^
sketch_dec21a:150: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[1] != nuidPICC[1] ||
^
sketch_dec21a:151: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[2] != nuidPICC[2] ||
^
sketch_dec21a:152: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[3] != nuidPICC[3] ) {
^
sketch_dec21a:157: error: ‘class MFRC522’ has no member named ‘uid’
nuidPICC[i] = rfid.uid.uidByte[i];
^
sketch_dec21a:162: error: ‘class MFRC522’ has no member named ‘uid’
printHex(rfid.uid.uidByte, rfid.uid.size);
^
sketch_dec21a:162: error: ‘class MFRC522’ has no member named ‘uid’
printHex(rfid.uid.uidByte, rfid.uid.size);
^
sketch_dec21a:165: error: ‘class MFRC522’ has no member named ‘uid’
printDec(rfid.uid.uidByte, rfid.uid.size);
^
sketch_dec21a:165: error: ‘class MFRC522’ has no member named ‘uid’
printDec(rfid.uid.uidByte, rfid.uid.size);
^
sketch_dec21a:171: error: ‘class MFRC522’ has no member named ‘PICC_HaltA’
rfid.PICC_HaltA();
^
sketch_dec21a:174: error: ‘class MFRC522’ has no member named ‘PCD_StopCrypto1’
rfid.PCD_StopCrypto1();
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino: In function ‘void printHex(byte*, byte)’:
sketch_dec21a:181: error: redefinition of ‘void printHex(byte*, byte)’
void printHex(byte *buffer, byte bufferSize) {
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:84:6: note: ‘void printHex(byte*, byte)’ previously defined here
void printHex(byte *buffer, byte bufferSize) {
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino: In function ‘void printDec(byte*, byte)’:
sketch_dec21a:191: error: redefinition of ‘void printDec(byte*, byte)’
void printDec(byte *buffer, byte bufferSize) {
^
C:\Users\Ali\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:94:6: note: ‘void printDec(byte*, byte)’ previously defined here
void printDec(byte *buffer, byte bufferSize) {
^
exit status 1
‘MIFARE_Key’ in ‘class MFRC522’ does not name a type
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
این اررور برای من میاد اگه امکانش هست لطفا راهنمایی کنید مرسی
سلام
لطفا کدها از طریق کلید میانبری که برای کد در نظر گرفته شده است، کپی کنید . مجددا اتصال آردوینو به سیستم را برقرار کنید. در صورت برطرف نشدن مشکل از همین طریق اعلام نمایید.
سلام مجدد
mifare_key ‘in’ class mfrc522′ dose not namr a type
این پیغامو میده
سلام
در ابتدا کد ها از طریق کلید میانبر کدها کپی کنید و سپس کتابخانه و مسیر نصب کتابخانه rc532 را چک کنید. در صورت برطرف نشدن مشکل از همین طریق اقدام نمایید.
سلام کامپیوتر اردینو رو شناسایی نمی کنه هر چی می گردم درایور رو پیدا نمی کنم
سلام
پس پس از اتصال آردوینو به لپتاپ باید پورت انتخاب شود. در صورتیکه پورت شناسایی نشده است باید از طریق مسیر computer / properties / Device manager / portable devices ، پورت را فعال کنید.
سلام وتشکر سوال اینکه ایا برنامه که روی اردینو میریزیم قابل حظف ونصب مجدد است
سلام
بله از طریق نرم افزار آردوینو میتوانید برنامه جدیدی کامپایل کنید و برنامه قبل پاک خواهد شد.
پیشنهاد میکنم آموزش کار با برد آردوینو Arduino و نصب نرم افزار Arduino IDE را مطالعه نمایید.
با سلام خسته نباشید لطفا میخواستم بدونم ماژول کارت خان rc522 بروی اردینو مگا۲۵۶۰ جواب میدهد ودر صورت جواب کد ان را چگونه واز چه سایتی تهیه کنم ممنون میشم
سلام
بله هیچ تفاوتی نخواهد داشت و از همین کد هم میتوانید استفاده کنید. تنها باید به چند نکته دقت کنید. در این آموزش از آردوینو uno استفاده شده و در کد برنامه در چند خط اول پایه های دیجیتال برد آردوینو uno تعریف شده است. شما باید در خط ۴ و ۵ برنامه پایه دیجیتال استفاده شده آردوینو مگا را جایگزین کنید. همانند همین آموزش باید پایه های SDA , SCK , MOSI , MISO , RST را به پایه های دیجیتال (D) آردوینو مگا اتصال دهید. در خصوص سوال دوم هم با توجه به درخواست کاربران در سری آموزش های RFID قرار خواهیم داد.
سلام خسته نباشید میخواستم اموزش کامل اردینو وماژول کارت ار س پانصد بیست دو راتهیه کنم لطفا راهنمایی کنید
سلام
با توجه به اینکه آموزش های RFID گسترده است تا به حال دو بخش آن منتشر شده است که میتوانید استفاده کنید. در ابتدا همین آموزش را مطالعه و اجرا کنید و سپس آموزش بخش دوم که از لینک زیر میتوانید مطالعه کنید.
آموزش RFID ورود به سیستم با مستر کارت و ماژول RC522 آردوینو Arduino
سلام لطفا در صورت امکان بنده را در حل مشکل پیش امده راهنمایی بفرمایید.
exit status 1
error copiling for board arduino uno
سلام
ارور مربوط به کامپایل برد آردوینو است. اگر از مدل آردوینو UNO استفاده میکنید حتما در قسمت Tools نوع برد را به درستی انتخاب کنید. همچنین مطمئن شوید که پورت انتخاب شده است یا خیر. برای اینکار از منو Tools/ Port پورت را انتخاب کنید. در صورت برطرف نشدن مجددا اعلام کنید تا راهنمایی کنم.
سلام لطفا در صورت امکان بده رو راهنمایی بفرمایید This report would have more information with
“Show verbose output during compilation”
enabled in File > Preferences.
Arduino: 1.0.6 (Windows 7), Board: “Arduino Mega 2560 or Mega ADK”
sketch_feb14g:7: error: ‘constexpr’ does not name a type
sketch_feb14g:8: error: ‘constexpr’ does not name a type
sketch_feb14g:10: error: ‘SS_PIN’ was not declared in this scope
sketch_feb14g:10: error: ‘RST_PIN’ was not declared in this scope
sketch_feb14g:12: error: ‘MIFARE_Key’ in class ‘MFRC522’ does not name a type
sketch_feb14g.ino: In function ‘void setup()’:
sketch_feb14g:20: error: ‘class MFRC522’ has no member named ‘PCD_Init’
sketch_feb14g:23: error: ‘key’ was not declared in this scope
sketch_feb14g:28: error: ‘key’ was not declared in this scope
sketch_feb14g:28: error: ‘MF_KEY_SIZE’ is not a member of ‘MFRC522’
sketch_feb14g.ino: In function ‘void loop()’:
sketch_feb14g:34: error: ‘class MFRC522’ has no member named ‘PICC_IsNewCardPresent’
sketch_feb14g:38: error: ‘class MFRC522’ has no member named ‘PICC_ReadCardSerial’
sketch_feb14g:42: error: ‘PICC_Type’ is not a member of ‘MFRC522′
sketch_feb14g:42: error: expected `;’ before ‘piccType’
sketch_feb14g:43: error: ‘class MFRC522’ has no member named ‘PICC_GetTypeName’
sketch_feb14g:43: error: ‘piccType’ was not declared in this scope
sketch_feb14g:46: error: ‘PICC_TYPE_MIFARE_MINI’ is not a member of ‘MFRC522’
sketch_feb14g:47: error: ‘PICC_TYPE_MIFARE_1K’ is not a member of ‘MFRC522’
sketch_feb14g:48: error: ‘PICC_TYPE_MIFARE_4K’ is not a member of ‘MFRC522’
sketch_feb14g:53: error: ‘class MFRC522’ has no member named ‘uid’
sketch_feb14g:54: error: ‘class MFRC522’ has no member named ‘uid’
sketch_feb14g:55: error: ‘class MFRC522’ has no member named ‘uid’
sketch_feb14g:56: error: ‘class MFRC522’ has no member named ‘uid’
sketch_feb14g:61: error: ‘class MFRC522’ has no member named ‘uid’
sketch_feb14g:66: error: ‘class MFRC522’ has no member named ‘uid’
sketch_feb14g:66: error: ‘class MFRC522’ has no member named ‘uid’
sketch_feb14g:69: error: ‘class MFRC522’ has no member named ‘uid’
sketch_feb14g:69: error: ‘class MFRC522’ has no member named ‘uid’
sketch_feb14g:75: error: ‘class MFRC522’ has no member named ‘PICC_HaltA’
sketch_feb14g:78: error: ‘class MFRC522’ has no member named ‘PCD_StopCrypto1’
سلام
در ابتدا عنوان کنید از کدام یک از بردهای آردوینو استفاده میکنید؟ تا راهنمایی کنم.
ARDUINO MEGA 2560 وماژول کارت خان RFID RC 522
با تشکروخسته نباشید لطفا رهنمایی بفرمایید
سلام مجدد
در کامنت قبلی شما پاسخ داده شد. موارد گفته شده را بررسی کنید. سپس نتیجه را اعلام کنید.
سلام مجدد
نوع برد را از منو Tools چک کنید و باید mega2560 انتخاب شود.
کدها را از طریق کلیدهای مانبر کپی کنید و به نرم افزار انتقال دهید. حتما نتیجه را اعلام نمایید تا در صورت برطرف نشدن مشکل راهنمایی کنم.
سلام خواهشمندم در صورت امکان کدهای ماژول rc522 را یک بار دیگر قرار دهیدکد های قبلی errorهای بالا را دارد .
سلام
کدهای هر آموزش قبل از انتشار بررسی خواهند شد و خطایی در کد برنامه وجود ندارد. دقت کنید کدها را تنها از طریق کلیدهای میانبر کپی و به نرم افزار آردوینو انتقال دهید. لطفا ارور و مشکلی که با آن مواجه شدید را ارسال کنید تا راهنمایی کنم.
This report would have more information with
“Show verbose output during compilation”
enabled in File > Preferences.
Arduino: 1.0.6 (Windows 7), Board: “Arduino Mega 2560 or Mega ADK”
In file included from C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:78,
from manoochehr1.ino:2:
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/require_cpp11.h:9:2: error: #error “This library needs at least a C++11 compliant compiler, maybe compiler argument for C++11 support is missing or if you use Arduino IDE upgrade to version >=1.6.6”
In file included from manoochehr1.ino:2:
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:148: error: use of enum ‘PCD_Register’ without previous declaration
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:148: error: expected primary-expression before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:148: error: expected ‘;’ before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:223: error: use of enum ‘PCD_Command’ without previous declaration
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:223: error: expected primary-expression before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:223: error: expected ‘;’ before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:238: error: use of enum ‘PCD_RxGain’ without previous declaration
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:238: error: expected primary-expression before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:238: error: expected ‘;’ before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:253: error: use of enum ‘PICC_Command’ without previous declaration
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:253: error: expected primary-expression before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:253: error: expected ‘;’ before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:287: error: use of enum ‘PICC_Type’ without previous declaration
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:287: error: expected primary-expression before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:287: error: expected ‘;’ before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:303: error: use of enum ‘StatusCode’ without previous declaration
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:303: error: expected primary-expression before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:303: error: expected ‘;’ before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:335: error: wrong number of arguments specified for ‘deprecated’ attribute
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:341: error: ‘PCD_Register’ has not been declared
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:342: error: ‘PCD_Register’ has not been declared
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:343: error: ‘PCD_Register’ has not been declared
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:344: error: ‘PCD_Register’ has not been declared
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:345: error: ‘PCD_Register’ has not been declared
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:346: error: ‘PCD_Register’ has not been declared
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:347: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:354: error: wrong number of arguments specified for ‘deprecated’ attribute
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:366: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:367: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:368: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:369: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:370: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:371: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:372: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:377: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:379: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:380: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:381: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:382: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:383: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:384: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:385: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:386: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:387: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:388: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:393: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:396: error: expected ‘;’ before ‘(‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:397: error: ‘PICC_Type’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:400: error: expected ‘;’ before ‘(‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:406: error: ‘PICC_Type’ has not been declared
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:413: error: wrong number of arguments specified for ‘deprecated’ attribute
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:415: error: wrong number of arguments specified for ‘deprecated’ attribute
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:417: error: wrong number of arguments specified for ‘deprecated’ attribute
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522.h:428: error: ‘StatusCode’ does not name a type
In file included from manoochehr1.ino:3:
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:16: error: use of enum ‘TagBitRates’ without previous declaration
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:16: error: expected primary-expression before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:16: error: expected ‘;’ before ‘{‘ token
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:31: error: ‘TagBitRates’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:32: error: ‘TagBitRates’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:87: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:88: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:89: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:90: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:95: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:96: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:97: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:98: error: ‘StatusCode’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:103: error: ‘PICC_Type’ does not name a type
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:104: error: no members matching ‘MFRC522::PICC_GetType’ in ‘class MFRC522’
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:116: error: expected ‘;’ before ‘override’
C:\Program Files (x86)\Arduino\libraries\MFRC522-1.3.6\src/MFRC522Extended.h:117: error: expected ‘;’ before ‘override’
manoochehr1.ino: In function ‘void setup()’:
manoochehr1:68: error: ‘class MFRC522’ has no member named ‘RxGain_max’
manoochehr1.ino: In function ‘int getID()’:
manoochehr1:176: error: ‘class MFRC522’ has no member named ‘PICC_HaltA’لطفا جهت حل مشکل بالا راهنمایی بفرمایید. ممنون
لطفا قسمتی از ارور که قرمز رنگ شده است را ارسال کنید تا بررسی و راهنمایی کنم. همچنین برد آردوینو مورد استفاده چیست؟
سلام
من هرکاری میکنم این ارور میادش
this code scan the MIFARE Classsic NUID.
Using the following key: FF FF FF FF FF FF
چندین بار چک کردم
با چندین تگ
یه چرا قرمز هم زو ماژول زوشنه
و دقیقا عین مدل رو از سایتتون خزیدم
الان هم برنامه های نمونه دیگه رو که اجرا میکنم این ارور میادش
Firmware Version: 0x0 = (unknown)
WARNING: Communication failure, is the MFRC522 properly connected?
Scan PICC to see UID, SAK, type, and data blocks…
برد هم uno هسنش
سلام
این ارور مربوط به اتصال RFID است. پایه های ماژول را مجددا چک کنید و نتیجه را اعلام کنید تا راهنمایی کنم.
سلام
ممکن است تگ مورد استفاده شما فقط به صورت Read باشد. برای این آموزش باید از تگ های Read & Write استفاده کنید.
ممنون از پاسختون
قبل از اینکه پاسخ بدید تو گیت هاب دیدم که ننوشته اشکال از اتصالاته و درست پایه ها لحیم نشده و محدد چک کردم و درست شد
الان مشکل دیگه ای که دارم این تگ هارو من خریدم
https://daneshjookit.com/%D9%85%D8%A7%DA%98%D9%88%D9%84-%D8%AA%DA%AF-rfid/1718-%D8%AA%DA%AF-rfid-%D8%AE%D9%88%D8%A7%D9%86%D8%AF%D9%86-%D9%88-%D9%86%D9%88%D8%B4%D8%AA%D9%86.html
دوتا ازشون ولی هیچ کدومو برد شناسایی نمیکنه
سلام مجدد
کاربر گرامی این تگ ها در فروشگاه با عنوان «تگ RFID با فرکانس ۱۲۵ کیلوهرتز و قابلیت خواندن RFID Tag
» قرار گرفته است. برای راه اندازی این تگها با ماژول RFID باید از کدهای دیگری استفاده کنید. اگر روش کار را نمیدانید، باید منتظر انتشار آموزشهای بعدی باشید.
C:\Users\edehal-pc\Documents\Arduino\sketch_feb16a\sketch_feb16a.ino:4:21: fatal error: MFRC522.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
سلام میشه راهنمایی کنید مشکل بالا چی هست و چطور باید حلش کرد
سلام
این ارور مربوط به کتابخانه FRC522 است. در متن آموزش فراخوانی کتابخانه را کامل توضیح دادم. کتابخانهRC522 را نصب کنید. و در مسیر نصب آردوینو کپی کنید. نتیجه را از همین طریق اعلام کنید، در صورت برطرف نشدن مشکل راهنمایی خواهم کرد.
سلام خیلی ممنونم از راهنمایی شما
خواهش میکنم. در صورت بروز مشکل از همین طریق اقدام نمایید.
موفق باشید.
سلام
اخه تو یکی از اموزش هاتون این رو معرفی کرده بود ک استفاده کنیم.
الان این تگ ها نیاز به جه کار خاصی دارن ک روشون انجام بشه.میشه توضیحات کوچکی یا کلید واژه انگلیسی بگید که تو سایت های خارجی بگردم
ممنون
سلام مجدد
در این خصوص منتظر آموزش جدید باشید.
برای خرید محصولات پروژه خواندن کدهای تگ RFID با ماژول RC522 و آردوینو چه مدت زمانی طول میکشه تا به دستم برسه و اینکه قابلیت پیاده سازی در نرم افزار هایی مثل پروتیوس – آلتیوم و یا labview رو داره؟
سلام
لینک محصولات در متن آموزش درج شده است. با کلیک بر روی لینکها به فروشگاه ارجاع داده میشوید. در همان قسمت سوال خود را مطرح نمایید تا کارشناسان پاسخ دهند. همچنین موارد مربوط به فروشگاه در اینجا بررسی نمیشوند.
در خصوص سوال دوم هر پروژهای امکان اجرا شدن در نرم افزارهای منحصر به فرد خود را دارند ولی با کد این برنامه بی ارتباط است. به عبارتی در این آموزش از نرم افزار دیگری استفاده شده است.
سلام چه طور باید آپلود کنیم برنامه را ؟ من قطعه ها را طبق همون چیزی که شما فرمودید بستم و برنامه رو هم کپی و کامپایل کردم ولی آپلود نمیشه . اگه ممکنه راهمایی کنید ممنون
سلام
برای انتقال کدها دو روش وجود دارد. در نوار سمت راست کد برنامه دو آیکون قرار گرفته شده است. با نگه داشتن موس بر روی هر یک از آن ها نحوه ی انتقال نمایش داده میشود. به عنوان مثال با انتخاب آیکون ۳ از راست میتوانید توسط دو کلید میانبر ctrl+c و ctrl+v کد را کپی کنید.
برنامه من اصلا اجرا نمیشه .ورژن نرم افزار Arduino شما چه هست؟
سلام مجدد
لطفا اروری که با آن مواجه میشوید، ارسال نمایید تا بتوانم راهنمایی کنم. ورژن آردوینو برای اجرا شدن کدها مهم نیست. لطفا ارور و نحوه ی انتقال کدها را توضیح دهید تا راهنمایی کنم.
سلام . ببخشید من تگ و کارت های RFID را از لینکی که شما گذاشته بودید چند تا خریداری کردم ولی فقط تگ و کارت RFID ماژول RFID را میخواند و در نرم افزار نشان میدهد .تمامی مراحلی که شما فرمودید انجام دادم فقط مشکلم این جاست که کارت ها و تگ های RFID به جز اونایی که با ماژول بود دیگه نمیخونه .میتونید لینک خریداری کارت وتگی که ماژول بتونه بخونه رو بزارید ؟ ممنون
سلام
دقت کنید تگی که خرید میکنید باید هر دو قابلیت Read & Write را داشته باشد. تگ RFID موجود در فروشگاه تنها قابلیت خواندن دارد و با این کد از RFID قابل اجرا نیست. در توضیح کالا به این نکته اشاره شده است. پس از موجود شدن تگ RFID با هر دو قابلیت Read & Write از همین طریق اعلام خواهم کرد.
مرسی, ببخشید من یک سوال دیگه هم دارم,الان دوباره برنامه را اجرا کردم ولی کارت و تگی که قبلا ماژول میخوند را دیگه نمیخونه, مشکل کجا هست؟همون کارت و تگ که همراه ماژول بود را دیگه نمیخونه
آیا در سریال مانیتور نمایش مقادیر نوشته نمیشود ؟
خیر. برنامه را دوباره اجرا کردم ولی دیگه تگ و کارت به همراه ماژول بود رو نمیخونه
به احتمال زیاد در کدها تغییراتی ایجاد کرده اید. پیشنهاد میکنم ابتدا مجددا کد اصلی را از سایت دریافت و آپلود کنید. در غیر اینصورت حافظه EEPROM را پاک کنید.
ممنون,بله درست شد.
خیلی لطف کردید
بسیار عالی
موفق باشید.
سلام
عمر این بورد چقدره؟
من برای کاری که میخوام انجام بدم باید این بورد رو همیشه روشن نگه دارم
چون باید چندین ماه بصورت ۲۴ ساعته روشن بمونه به همراه چند ماژول مثل RFID و ESP و …
میخواستم بدونم مشکلی پیش میاد یا خیر
تشکر
سلام
این موارد به صورت کلی تا به امروز مشکلی در عملکرد نداشته است ولی باز هم بستگی به پروژه و شرایط محیطی دارد.
سلام
مومنی هستم
برد یا ماژول مانند درب کمد استخری ، بدین صورت که با نزدیک شدن تگ ، رله ای فعال شود لازم داشتم
ممنون میشوم راهنمایی کنید
سلام
در این خصوص آموزش RFID ورود به سیستم با مستر کارت منتشر شده است، کامل مطالعه کنید و سوالات خود را در همان آموزش بپرسید تا راهنمایی کنم.
دوستان عزیزی که با ارور
MIFARE_Key’ in ‘class MFRC522’ does not name a type
مواجه میشوند:
از داخل خود نرم افزار آردوینو اگه کتابخونه MFRC522 رو آپدیت کنید مشکل حل میشه.
با تشکر از سایت دیجی اسپارک و خانوم بلورچیان
سلام
با تشکر از اینکه اطلاعات خود را با دبگر کاربران به اشتراک میگذارید.
موفق باشید.
با سلام
من وقتی می خواهم برنامه را اپلود کنم ای ارور را می دهد:
Arduino: 1.8.1 (Windows 7), Board: “Arduino/Genuino Uno”
C:\Users\mortezagh.82\Documents\Arduino\sketch\sketch.ino:2:21: fatal error: MFRC522.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
مشکل از کجاست؟؟؟؟
سلام
قبل از آپلود برنامه از منو Tools تنظیمات برد را بررسی کنید. اگر از آردوینو UNO استفاده میکنید، نوع برد را UNO انتخاب و پورت را انتخاب کنید.
همچنین کتابخانه MFRC522 را فراخوانی کنید.
با سلام
دوباره این ارور رومیده:
Arduino: 1.8.1 (Windows 7), Board: “Arduino/Genuino Uno”
SRF04.arduinocode:9: error: ‘MIFARE_Key’ in ‘class MFRC522’ does not name a type
MFRC522::MIFARE_Key key;
^
G:\SRF04.arduinocode\SRF04.arduinocode.ino: In function ‘void setup()’:
SRF04.arduinocode:17: error: ‘class MFRC522’ has no member named ‘PCD_Init’
rfid.PCD_Init(); // Init MFRC522
^
SRF04.arduinocode:20: error: ‘key’ was not declared in this scope
key.keyByte[i] = 0xFF;
^
SRF04.arduinocode:25: error: ‘key’ was not declared in this scope
printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
^
SRF04.arduinocode:25: error: ‘MF_KEY_SIZE’ is not a member of ‘MFRC522’
printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
^
G:\SRF04.arduinocode\SRF04.arduinocode.ino: In function ‘void loop()’:
SRF04.arduinocode:31: error: ‘class MFRC522’ has no member named ‘PICC_IsNewCardPresent’
if ( ! rfid.PICC_IsNewCardPresent())
^
SRF04.arduinocode:35: error: ‘class MFRC522’ has no member named ‘PICC_ReadCardSerial’
if ( ! rfid.PICC_ReadCardSerial())
^
SRF04.arduinocode:39: error: ‘PICC_Type’ is not a member of ‘MFRC522’
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
^
SRF04.arduinocode:40: error: ‘class MFRC522’ has no member named ‘PICC_GetTypeName’
Serial.println(rfid.PICC_GetTypeName(piccType));
^
SRF04.arduinocode:40: error: ‘piccType’ was not declared in this scope
Serial.println(rfid.PICC_GetTypeName(piccType));
^
SRF04.arduinocode:43: error: ‘PICC_TYPE_MIFARE_MINI’ is not a member of ‘MFRC522’
if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
^
SRF04.arduinocode:44: error: ‘PICC_TYPE_MIFARE_1K’ is not a member of ‘MFRC522’
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
^
SRF04.arduinocode:45: error: ‘PICC_TYPE_MIFARE_4K’ is not a member of ‘MFRC522’
piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
^
SRF04.arduinocode:50: error: ‘class MFRC522’ has no member named ‘uid’
if (rfid.uid.uidByte[0] != nuidPICC[0] ||
^
SRF04.arduinocode:51: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[1] != nuidPICC[1] ||
^
SRF04.arduinocode:52: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[2] != nuidPICC[2] ||
^
SRF04.arduinocode:53: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[3] != nuidPICC[3] ) {
^
SRF04.arduinocode:58: error: ‘class MFRC522’ has no member named ‘uid’
nuidPICC[i] = rfid.uid.uidByte[i];
^
SRF04.arduinocode:63: error: ‘class MFRC522’ has no member named ‘uid’
printHex(rfid.uid.uidByte, rfid.uid.size);
^
SRF04.arduinocode:63: error: ‘class MFRC522’ has no member named ‘uid’
printHex(rfid.uid.uidByte, rfid.uid.size);
^
SRF04.arduinocode:66: error: ‘class MFRC522’ has no member named ‘uid’
printDec(rfid.uid.uidByte, rfid.uid.size);
^
SRF04.arduinocode:66: error: ‘class MFRC522’ has no member named ‘uid’
printDec(rfid.uid.uidByte, rfid.uid.size);
^
SRF04.arduinocode:72: error: ‘class MFRC522’ has no member named ‘PICC_HaltA’
rfid.PICC_HaltA();
^
SRF04.arduinocode:75: error: ‘class MFRC522’ has no member named ‘PCD_StopCrypto1’
rfid.PCD_StopCrypto1();
^
exit status 1
‘MIFARE_Key’ in ‘class MFRC522’ does not name a type
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
چه کار کنممممممم؟؟؟؟؟؟؟؟؟؟؟
سلام
کد به درستی کپی نشده است.
باید از طریق کلید های میانبری که برای انتقال کدها در نظر گرفته شده است، کد را انتقال دهید. حتما از Ctrl+C وCtrl+v استفاده کنید.
نتیجه را از همین طریق اعلام کنید تا بررسی کنم.
بازم ارور میده:
Arduino: 1.8.1 (Windows 7), Board: “Arduino/Genuino Uno”
SRF04.arduinocode:9: error: ‘MIFARE_Key’ in ‘class MFRC522’ does not name a type
MFRC522::MIFARE_Key key;
^
G:\SRF04.arduinocode\SRF04.arduinocode.ino: In function ‘void setup()’:
SRF04.arduinocode:17: error: ‘class MFRC522’ has no member named ‘PCD_Init’
rfid.PCD_Init(); // Init MFRC522
^
SRF04.arduinocode:20: error: ‘key’ was not declared in this scope
key.keyByte[i] = 0xFF;
^
SRF04.arduinocode:25: error: ‘key’ was not declared in this scope
printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
^
SRF04.arduinocode:25: error: ‘MF_KEY_SIZE’ is not a member of ‘MFRC522’
printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
^
G:\SRF04.arduinocode\SRF04.arduinocode.ino: In function ‘void loop()’:
SRF04.arduinocode:31: error: ‘class MFRC522’ has no member named ‘PICC_IsNewCardPresent’
if ( ! rfid.PICC_IsNewCardPresent())
^
SRF04.arduinocode:35: error: ‘class MFRC522’ has no member named ‘PICC_ReadCardSerial’
if ( ! rfid.PICC_ReadCardSerial())
^
SRF04.arduinocode:39: error: ‘PICC_Type’ is not a member of ‘MFRC522’
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
^
SRF04.arduinocode:40: error: ‘class MFRC522’ has no member named ‘PICC_GetTypeName’
Serial.println(rfid.PICC_GetTypeName(piccType));
^
SRF04.arduinocode:40: error: ‘piccType’ was not declared in this scope
Serial.println(rfid.PICC_GetTypeName(piccType));
^
SRF04.arduinocode:43: error: ‘PICC_TYPE_MIFARE_MINI’ is not a member of ‘MFRC522’
if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
^
SRF04.arduinocode:44: error: ‘PICC_TYPE_MIFARE_1K’ is not a member of ‘MFRC522’
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
^
SRF04.arduinocode:45: error: ‘PICC_TYPE_MIFARE_4K’ is not a member of ‘MFRC522’
piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
^
SRF04.arduinocode:50: error: ‘class MFRC522’ has no member named ‘uid’
if (rfid.uid.uidByte[0] != nuidPICC[0] ||
^
SRF04.arduinocode:51: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[1] != nuidPICC[1] ||
^
SRF04.arduinocode:52: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[2] != nuidPICC[2] ||
^
SRF04.arduinocode:53: error: ‘class MFRC522’ has no member named ‘uid’
rfid.uid.uidByte[3] != nuidPICC[3] ) {
^
SRF04.arduinocode:58: error: ‘class MFRC522’ has no member named ‘uid’
nuidPICC[i] = rfid.uid.uidByte[i];
^
SRF04.arduinocode:63: error: ‘class MFRC522’ has no member named ‘uid’
printHex(rfid.uid.uidByte, rfid.uid.size);
^
SRF04.arduinocode:63: error: ‘class MFRC522’ has no member named ‘uid’
printHex(rfid.uid.uidByte, rfid.uid.size);
^
SRF04.arduinocode:66: error: ‘class MFRC522’ has no member named ‘uid’
printDec(rfid.uid.uidByte, rfid.uid.size);
^
SRF04.arduinocode:66: error: ‘class MFRC522’ has no member named ‘uid’
printDec(rfid.uid.uidByte, rfid.uid.size);
^
SRF04.arduinocode:72: error: ‘class MFRC522’ has no member named ‘PICC_HaltA’
rfid.PICC_HaltA();
^
SRF04.arduinocode:75: error: ‘class MFRC522’ has no member named ‘PCD_StopCrypto1’
rfid.PCD_StopCrypto1();
^
exit status 1
‘MIFARE_Key’ in ‘class MFRC522’ does not name a type
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
چهکار کنم؟؟؟؟
در انتقال کدها ایراد دارید.
از چه کتابخانه ای استفاده میکنید و اینکه به نظر میرسد کدها با برنامه دیگری ترکیب شده است. کلید Ctrl + N را بزنید و یک تب جدید باز کنید. سپس کد را از طریق کلید میانبر انتقال دهید.
نتیجه را اعلام کنید.
بازم نمیشه ارور میده
سلام مجدد
با توجه به موارد گفته شده، کدها مجدد تست شد و ایرادی ندارد.
لطفا مراحل را دوباره با دقت کافی اجرا نمایید.
۱ : کتابخانه را از لینک گفته شده دانلود کنید و به پوشه محل نصب آردوینو Library انتقال دهید. دقت کنید که فایل را حتما از حالت زیپ خارج نمایید.
۲: سپس کد را از طریق کلید میانبر انتخاب کرده و توسط ctrl+ c و Ctrl+ v به نرم افزار آردوینو انتقال دهید.
۳: از منو tools نوع برد و پورت را با توجه به نوع برد آردوینو مورد استفاده انتخاب کنید.
نتیجه را از همین طریق اعلام کنید.
ba salam mamnoon az amoozeshe khoobetoon.
man in amoozesh ro anjam dadam vali vaghti kelid ro be paye 3 digital vasl kardam ba tahrike an hich taghiri dar medar ijad nemishavad.
mamnoon misham pasokh bedin
ba tashakor az shoma,
سلام
در این کد کلید تعریف نشده است.
اگر من بخواهم دوتا تگ رو قبول کنه باید چکار کنم
سلام
این کد برای نمایش کد تگ ها میباشد و با هر بار نزدیک کردن یک تگ، کد آن در سریال مانیتور نمایش داده میشود.
سلام خیلی ممنونم از سایت خوبتون ولی ار اف ای دی من تگارو نمیشناسه امکان داره ماژولم خراب باشه
سلام
ممکن است فرکانس تگ یا کارت با ماژول یکسان نباشد.
سلام من اتصالات و کد ها رو مطابق اون چیزی که گفتید انجام دادم و هیچ خطایی نداد اما وقتی تگ و کارت رو نزدیک ماژول میکنم هیچ پیغامی در مانیتور ظاهر نمیشه.
سلام
مدل تگ و کارت را بیان کنید تا بررسی کنم.
همون تگ و کارت داخل ماژول rfid rc522 استفاده کردم
سلام مجدد
به احتمال زیاد تگ و کارت استفاده شده دارای فرکانس متفاوتی است و به همین دلیل با این کد شناسایی نمیشود.
کدوم قسمت کد رو باید تغییر بدم؟
با این کد قابل اجرا نیست.
از آموزش راه اندازی آر اف آی دی MRFC522 ماژول RFID با آردوینو – بخش اول استفاده کرده و نتیجه را اعلام کنید.
سلام ببخشید ها… ولی شما کاملا اشتباه می کنید. خواهشا قبل از ایجاد پست های جدید یکم در مورد اون مطلب مطالعه کنید Mfrc522 برای خواندن و نوشتن روی کارت های مایفر هستش یعنی تگ های ۱۳.۵۶MHz لطفا مطالب پست ها رو هر چه زود تر اصلاح کنید تا مردم دچار اشتباه در خرید نباشن! اگه کمکی در باره RFID خواستید می تونید به من اعتماد کنید… من در خدمتم
با سلام
ضمن تشکر از اطلاع رسانی شما، لینک ها درست بوده است ولی گویا در فروشگاه عنوان کالا تغییر کرده است. در خصوص همکاری شما بابت پاسخ به کاربران هم تشکر میکنم. همچنین خوشحال خواهم شد که پاسخ کاربران را از همین طریق ارسال بفرمایید.
سلام
خسته نباشید
می خواستم بدونم میشه rfid به
(esp8266(node mcu متصل کرد؟
ممنون از سایت خوبتون
سلام
بله هبچ محدودیتی برای اینکار وجود ندارد.
با سلام
من ماژول rc522 را با اردوینو uno راه انداختم و کار میکنه ولی همین کار رو روی اردوینو پرو مینی و نانو انجام میدم کار ناقص میشه مثلا تو کتابخونه access control مستر کارت رو میخونه حالا که باید تگ دیگه رو اد کنی شماره تگ بعدی رو مینویسه و هنگ میکنه تا ریست نکنی هیچ کار دیگه ای انجام نمیده
سلام
این مورد با بردهای دیگر تست شده و تا به حال مشکلی نداشته است.
در این خصوص پبشنهاد میکنم، اتصالات را چک کنید. در آموزش های بعدی RFID اتصالات گفته شده است.
نتیجه را اعلام کنید.
همه چی درسته این مشکل تو سایتهای خارجی هم پیدا کردم ولی جوابی براش نبود
با uno مشکلی نداره ولی برای برد های نانو و پرو مینی این مشکل پیش میاد
کاربر گرامی تا جایی که بنده اطلاع دارم برای استفاده از rfid توسط برد آردوینو نانو به مشکل میخورید. لطفا مساعدت فرموده و سوالتان را فقط در یک قسمت بنویسید. از نوشتن همزمان سوال در چند پست خودداری کنید. همچنین اگر راه حلی پیدا کردید از همین طریق تجربه تان را برای دیگر کاربران منتشر کنید.
سلام،
ماژول من پین SDA نداره جاش NSS داره… این کد رو هم اجرا کردم ماژول کار نمیکنه… راهنمایی کنید لطفا.مرسی
سلام
از چه ماژولی استفاده میکنید؟
سلام. وقت خیر. من تصمیم دارم از این ماژول جهت ساخت کارت های اعتباری جهت فروش آب تصفیه شده استفاده کنم. آیا امکان کپی کردن اطلاعات میزان شارژ و UID در یک کارت دیگر و امکان تقلب توسط افراد سود جو وجود دارد؟ تشکر
سلام
دقت داشته باشید که خواندن اطلاعات UID توسط ریدرهای دیگر امکان پذیر است. برای این منظور میبایست موارد را از طریق بخش نرم افزاری رفع کنید. به این صورت که هر UID مربوط به یک مشتری باشد و اطلاعات آن اعم از میزان شارژ و هر آن چیزی که نیاز دارید، سمت نرم افزار شما صورت بگیرد.
سلام خسته نباشین
من کد rfid 522 خریدم کجا میتونم کد ببینم کجا ارسال میشه کدش ممنون.
سلام
پس از ثبت نام در سایت از طریق digispark.ir/login وارد شوید.
پس از وارد شدن به سایت در همان آموزش مربوطه کدها نمایش داده خواهد شد.
سلام خسته نباشین
بعد از ورود به سایتی توضیع دادین
سه گذینه میاد به نام شناسنامه FAQS پیشخوان کد داخل کدوم یکی شونه
ممنون
با سلام
کاربر گرامی لینک ارایه شده مربوط به ورود به حساب کاربری در دیجی اسپارک میباشد. اگر با صفحه ای که میفرمایید روبرو میشوید یعنی وارد شدهاید. مجددا به آموزش RFID مراجعه کنید. کدها برای شما نمایش داده خواهد شد.
سلام خسته نباشین
من وارد اون سایتی که ادرس شو فرستادین شدم ٣گذینه میاد پیشخوان FAQS و شناسنامه تو کدوم قسمت کد RFID522 موجود است ممنون.
مطابق پاسخ قبلی عمل بفرمایید.
با سلام
خیلی ممنون از آموزش های خوبتون
میخاستم ببینم میشه یه تگ رو به تنهایی با این برد کپی کرد رو یه تگ جدید؟
در واقع میخام کلون کنم
سلام
بله بستگی به نوع تگ دارد. اینکار شدنی است ولی نیاز به توسعه کدهای مورد نظرتان خواهید داشت.
سلام
من یک ماژول rfid دارم که قبلا سالم بود ولی الان وقتی کارت را اسکن می کنه یک کد دیگه بر می گردونه و آخر کد کاراکتر “ک” یا معادل کیبور انگلیسیش که ; هست را بر می گردونه.
با سلام
کاربر گرام جهت بررسی و ارایه راهنمایی میبایستی وضعیت کاملی از فعالیتهایی که انجام دادهاید. اعم از کدها و نوع ماژول و فرکانس کاری ورژن نرم افزار و…را ارسال کنید.
سلام وقتتون بخیر یه سوال داشتم در مورد اینکه میخوام تگ ها فقط یکبار قابلیت استفاده داشته باشند . یعنی اینکه بعد از خوانده شدن برای استفاده دوم ؛ کدشون توی برنامه بررسی بشه و اگه تکرار ی بود اخطار بده و قابل استفاده نباشه. خیلی ممنون از لطفتون
سلام
در این خصوص امکان راهنمایی از طریق کامنت وجود ندارد و باید کدها تغییر کند.
بررسی و در صورت امکان در بخش بعدی آموزش های RFID توضیح داده خواهد شد.
Using the following key: FF FF FF FF FF FF
با سلام
لطفا توضیحات کامل و شفاف ارائه دهید تا امکان راهنمایی وجود داشته باشد.
سلام
منم همین مشکلو دارم.
فقط میزنه ThThis code scan the MIFARE Classsic NUID.
Using the following key: FF FF FF FF FF FF
بسته استارترکیت بر پایه rfidسایت رو هم تهیه کردم.
با سلام
جهت بررسی، وارد library manager از منو Sketch شده و کتابخانه MFRC522 را سرچ و آپدیت کنید.
نتیجه را از همین طریق اعلام کنید.
با سلام
اگر لطف کنید هر خطیو کامنت کنید و توضیح دهید که هر برای چی هستش ممنون میشم.
همچنین اینکه دستور buffer چه کاربردی داره
با سلام
کاربر گرامی در صورتیکه در هر خط از برنامه با ابهامی مواجه شده اید، بپرسید تا توضیح داده شود.
توسط تابع Buffer مقادیر عددی دریافتی به هگز و دسیمال تبدبل خواهند شد.
سوال دومم اینکه: چه طور میشه اون ۴ بیت (مقدار سایز بیت ذخیره شده در چیپ) رو وقتی بیرون از حلقه for هم میاریم باز هم به ما همون ۴ بیتی نمایش بده(کلا۴ بیتو نمایش بده نه فقط خروجی حلقه اخروالبته بیرون از حلقه for)
با سلام
لطفا شفاف تر توضیح دهید تا بررسی شود.
با سلام
به عنوان مثال در حلقه for که ساختیم ۴ بار تکرار میشه و در هر بار یک عددی را میده (برای خواندن تگ) بار اول:۳۴ بار دوم:۲B بار سوم ۵۳ و بار چهارم:۲۸ که کنارهم قرار گرفتن این اعداد میشه تگ کارتمان.اما وقتی از حلقه for بیرون میاریم و تگو میخونیم فقط عددی که میده عدد اخریعنی۲۸ هستش حالا چه طور میتونیم زمانی که از حلقه for بیرون اومدیم و تگ کارتو serial.print بکنیم به ما کامل عدد تگو ببگه یعنی بیرون از حلقه for وقتی Serial.printn میکنیم نمایش بده : ۳۴۲B5328
سلام مجدد
میخواهید این پارامتر روی LCD نمایش داده شود؟
سلام من RFID رو با سروو موتور به آردوینو متصل کردم برنامه رو هم روی آردوینو آپلود کردم چون قبلا چند بار امتحان کردم که وقتی کارت رو جلوی RFID بگیرم ودرست کار کرده ایرادی تو بستن مدار و کد ش ندارم فقط نمیدونم چرا از یه جایی به بعد کارت رو نمیخونه تو سریال مانیتور هم چیزی رو نمایش نمیده با اینکه چراغ RFID روشنه میتونید کمکم کنید که مشکل از کجاست؟
سلام
با ریست کردن مشکل برطرف میشود؟
سلام.من کارت رو نزدیک RC522 می برم و اطلاعات خونده میشه ولی بعدش باید چیکار کنم؟؟
با سلام
اگر طبق آموزش پیش میروید، پس از تشخیص کارت خروجی فعال خواهد شد. به عنوان مثال در خروجی این آموزش از قفل استفاده شده است که با نزدیک شدن تگ قفل باز شده و پس از چند ثانیه بسته میشود. پیشنهاد میشود متن آموزش را کامل مطالعه نمایید و سپس از همین طریق سوالات خود را بپرسید.
سلام کد خوانده نمیشود
با سلام
منظور شما چیست؟ شفاف توضیح دهید تا راهنمایی شود.
با سلام و تشکر از سایت خوبتون .
بنده می خواهم با استفاده از این پروژه یک رله را روشن کنم میشه راهنماییم کنید.
با سلام
از آموزش زیر استفاده کنید:
ساخت دربازکن RFID با برد آردوینو Door Lock بر پایه RFID RC522
عالی است
موفق باشید
سپاسگزارم.
This code scan the MIFARE Classsic NUID.
Using the following key: FF FF FF FF FF FF
سلام من تگ نزدیک میکنم این پیغام تغییری نمیکنه مشکل کجاست؟ تگ همراه با ماژول فرستادین
با سلام
لطفا توضیح دهید که چه مراحلی را انجام داده اید، در صورتیکه از ماژول کارت خوان همراه با تگ و کارت استفاده میکنید، نباید مشکلی وجود داشته باشد.
C:\Users\Eniac1\Documents\Arduino\sketch_may14a\sketch_may14a.ino: In function ‘void loop()’:
C:\Users\Eniac1\Documents\Arduino\sketch_may14a\sketch_may14a.ino:39:50: warning: invalid conversion from ‘byte {aka unsigned char}’ to ‘MFRC522::PICC_Type’ [-fpermissive]
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
Sketch uses 4928 bytes (15%) of program storage space. Maximum is 32256 bytes.
Global variables use 217 bytes (10%) of dynamic memory, leaving 1831 bytes for local variables. Maximum is 2048 bytes.
با سلام
با توجه به ارور ارسالی به نظر میرسد در انتقال کدها خطایی وجود داشته باشد. لطفا کد را کپی کرده و در یک تب جدید کپی کنید.
الان اینو تو مانیتور میده MFRC522 Software Version: 0x0 (unknown)
WARNING: Communication failure, is the MFRC522 properly connected?
Scan PICC to see UID, type, and data blocks…
با سلام
این ارور نشان دهنده عدم اتصال ماژول RFID به آردوینو است. لطفا اتصالات را بررسی نمایید.
C:\Users\Eniac1\Documents\Arduino\sketch_may17a\sketch_may17a.ino: In function ‘void loop()’:
C:\Users\Eniac1\Documents\Arduino\sketch_may17a\sketch_may17a.ino:39:50: warning: invalid conversion from ‘byte {aka unsigned char}’ to ‘MFRC522::PICC_Type’ [-fpermissive]
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
Sketch uses 4928 bytes (15%) of program storage space. Maximum is 32256 bytes.
Global variables use 217 bytes (10%) of dynamic memory, leaving 1831 bytes for local variables. Maximum is 2048 bytes.
این ارور قبلا ارسال شده و روش حل آن گفته شده است. مطابق با کامنت های قبل پیش رفته و نتیجه را اعلام کنید.
سلام اون تگ هارو میتونیم خودمون چیزی که میخواییم داشته باشه؟
با سلام
کاربر گرامی سوال شما نامفهوم است.
با سلام وخسته نباشید من یک ماژول rfid522 را با برد اردینو uno راه اندازی کردم گاهی سیستم هنگ میکنه و باید ریست یا برق تغذیه جا کنی که کار بکنه تا یک مدت باز دوباره این اتفاق می افته کار نمی کنه باز دوباره همین داستان
با سلام
در این خصوص پست زیر را مطالعه کنید. تاخیر در اجرا به کدنویسی و اتصالات و تغذیه وابسته است.
آردوینو در صنعت
برد اردینو زمان هنگ ریست میکنم ریست میشه ولی هیچ سیگنالی از طرف ماژول rfid نمیاد اینجوی به نظر میاد
/*
——————————————————————————————————————–
Example sketch/program showing An Arduino Door Access Control featuring RFID, EEPROM, Relay
——————————————————————————————————————–
This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid
This example showing a complete Door Access Control System
Simple Work Flow (not limited to) :
+———+
+———————————–>READ TAGS+^——————————————+
| +——————–+ |
| | | |
| | | |
| +—-v—–+ +—–v—-+ |
| |MASTER TAG| |OTHER TAGS| |
| +–+——-+ ++————-+ |
| | | | |
| | | | |
| +—–v—+ +—-v—-+ +—-v——+ |
| +————+READ TAGS+—+ |KNOWN TAG| |UNKNOWN TAG| |
| | +-+——-+ | +———–+ +——————+ |
| | | | | | |
| +—-v—–+ +—-v—-+ +–v——–+ +-v———-+ +——v—-+ |
| |MASTER TAG| |KNOWN TAG| |UNKNOWN TAG| |GRANT ACCESS| |DENY ACCESS| |
| +———-+ +—+—–+ +—–+—–+ +—–+——+ +—–+—–+ |
| | | | | |
| +—-+ +—-v——+ +–v—+ | +—————>
+——-+EXIT| |DELETE FROM| |ADD TO| | |
+—-+ | EEPROM | |EEPROM| | |
+———–+ +——+ +——————————-+
Use a Master Card which is act as Programmer then you can able to choose card holders who will granted access or not
* **Easy User Interface**
Just one RFID tag needed whether Delete or Add Tags. You can choose to use Leds for output or Serial LCD module to inform users.
* **Stores Information on EEPROM**
Information stored on non volatile Arduino’s EEPROM memory to preserve Users’ tag and Master Card. No Information lost
if power lost. EEPROM has unlimited Read cycle but roughly 100,000 limited Write cycle.
* **Security**
To keep it simple we are going to use Tag’s Unique IDs. It’s simple and not hacker proof.
@license Released into the public domain.
Typical pin layout used:
—————————————————————————————–
MFRC522 Arduino Arduino Arduino Arduino Arduino
Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
Signal Pin Pin Pin Pin Pin Pin
—————————————————————————————–
RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
SPI SS SDA(SS) 10 53 D10 10 10
SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
*/
#include // We are going to read and write PICC’s UIDs from/to EEPROM
#include // RC522 Module uses SPI protocol
#include // Library for Mifare RC522 Devices
/*
Instead of a Relay you may want to use a servo. Servos can lock and unlock door locks too
Relay will be used by default
*/
// #include
/*
For visualizing whats going on hardware we need some leds and to control door lock a relay and a wipe button
(or some other hardware) Used common anode led,digitalWriting HIGH turns OFF led Mind that if you are going
to use common cathode led or just seperate leds, simply comment out #define COMMON_ANODE,
*/
#define COMMON_ANODE
#ifdef COMMON_ANODE
#define LED_ON LOW
#define LED_OFF HIGH
#else
#define LED_ON HIGH
#define LED_OFF LOW
#endif
#define redLed 7 // Set Led Pins
#define greenLed 6
#define blueLed 5
#define relay A0// Set Relay Pin
#define sensor A1
#define wipeB 3// Button pin for WipeMode
bool programMode = false; // initialize programming mode to false
uint8_t successRead; // Variable integer to keep if we have Successful Read from Reader
byte storedCard[100]; // Stores an ID read from EEPROM
byte readCard[100]; // Stores scanned ID read from RFID Module
byte masterCard[4]; // Stores master card’s ID read from EEPROM
// Create MFRC522 instance.
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
///////////////////////////////////////// Setup ///////////////////////////////////
void setup() {
//Arduino Pin Configuration
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(blueLed, OUTPUT);
pinMode(wipeB, INPUT_PULLUP); // Enable pin’s pull up resistor
pinMode(relay, OUTPUT);
pinMode(sensor, OUTPUT);
//Be careful how relay circuit behave on while resetting or power-cycling your Arduino
digitalWrite(relay, HIGH); // Make sure door is locked
digitalWrite(sensor, HIGH);
digitalWrite(redLed, LED_OFF); // Make sure led is off
digitalWrite(greenLed, LED_OFF); // Make sure led is off
digitalWrite(blueLed, LED_OFF); // Make sure led is off
//Protocol Configuration
Serial.begin(9600); // Initialize serial communications with PC
SPI.begin(); // MFRC522 Hardware uses SPI protocol
mfrc522.PCD_Init(); // Initialize MFRC522 Hardware
//If you set Antenna Gain to Max it will increase reading distance
//mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max);
Serial.println(F(“Access Control Example v0.1”)); // For debugging purposes
ShowReaderDetails(); // Show details of PCD – MFRC522 Card Reader details
//Wipe Code – If the Button (wipeB) Pressed while setup run (powered on) it wipes EEPROM
if (digitalRead(wipeB) == LOW) { // when button pressed pin should get low, button connected to ground
digitalWrite(redLed, LED_ON); // Red Led stays on to inform user we are going to wipe
Serial.println(F(“Wipe Button Pressed”));
Serial.println(F(“You have 10 seconds to Cancel”));
Serial.println(F(“This will be remove all records and cannot be undone”));
bool buttonState = monitorWipeButton(10000); // Give user enough time to cancel operation
if (buttonState == true && digitalRead(wipeB) == LOW) { // If button still be pressed, wipe EEPROM
Serial.println(F(“Starting Wiping EEPROM”));
for (uint16_t x = 0; x < EEPROM.length(); x = x + 1) { //Loop end of EEPROM address
if (EEPROM.read(x) == 0) { //If EEPROM address 0
// do nothing, already clear, go to the next address in order to save time and reduce writes to EEPROM
}
else {
EEPROM.write(x, 0); // if not write 0 to clear, it takes 3.3mS
}
}
Serial.println(F("EEPROM Successfully Wiped"));
digitalWrite(redLed, LED_OFF); // visualize a successful wipe
delay(200);
digitalWrite(redLed, LED_ON);
delay(200);
digitalWrite(redLed, LED_OFF);
delay(200);
digitalWrite(redLed, LED_ON);
delay(200);
digitalWrite(redLed, LED_OFF);
}
else {
Serial.println(F("Wiping Cancelled")); // Show some feedback that the wipe button did not pressed for 15 seconds
digitalWrite(redLed, LED_OFF);
}
}
// Check if master card defined, if not let user choose a master card
// This also useful to just redefine the Master Card
// You can keep other EEPROM records just write other than 143 to EEPROM address 1
// EEPROM address 1 should hold magical number which is '143'
if (EEPROM.read(1) != 143) {
Serial.println(F("No Master Card Defined"));
Serial.println(F("Scan A PICC to Define as Master Card"));
do {
successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0
digitalWrite(blueLed, LED_ON); // Visualize Master Card need to be defined
delay(200);
digitalWrite(blueLed, LED_OFF);
delay(200);
}
while (!successRead); // Program will not go further while you not get a successful read
for ( uint8_t j = 0; j < 4; j++ ) { // Loop 4 times
EEPROM.write( 2 + j, readCard[j] ); // Write scanned PICC's UID to EEPROM, start from address 3
}
EEPROM.write(1, 143); // Write to EEPROM we defined Master Card.
Serial.println(F("Master Card Defined"));
}
Serial.println(F("——————-"));
Serial.println(F("Master Card's UID"));
for ( uint8_t i = 0; i < 4; i++ ) { // Read Master Card's UID from EEPROM
masterCard[i] = EEPROM.read(2 + i); // Write it to masterCard
Serial.print(masterCard[i], HEX);
}
Serial.println("");
Serial.println(F("——————-"));
Serial.println(F("Everything is ready"));
Serial.println(F("Waiting PICCs to be scanned"));
cycleLeds(); // Everything ready lets give user some feedback by cycling leds
}
///////////////////////////////////////// Main Loop ///////////////////////////////////
void loop () {
do {
successRead = getID(); // sets successRead to 1 when we get read from reader otherwise 0
// When device is in use if wipe button pressed for 10 seconds initialize Master Card wiping
if (digitalRead(wipeB) == LOW) { // Check if button is pressed
// Visualize normal operation is iterrupted by pressing wipe button Red is like more Warning to user
digitalWrite(redLed, LED_ON); // Make sure led is off
digitalWrite(greenLed, LED_OFF); // Make sure led is off
digitalWrite(blueLed, LED_OFF); // Make sure led is off
// Give some feedback
Serial.println(F("Wipe Button Pressed"));
Serial.println(F("Master Card will be Erased! in 10 seconds"));
bool buttonState = monitorWipeButton(10000); // Give user enough time to cancel operation
if (buttonState == true && digitalRead(wipeB) == LOW) { // If button still be pressed, wipe EEPROM
EEPROM.write(1, 0); // Reset Magic Number.
Serial.println(F("Master Card Erased from device"));
Serial.println(F("Please reset to re-program Master Card"));
while (1);
}
Serial.println(F("Master Card Erase Cancelled"));
}
if (programMode) {
cycleLeds(); // Program Mode cycles through Red Green Blue waiting to read a new card
}
else {
normalModeOn(); // Normal mode, blue Power LED is on, all others are off
}
}
while (!successRead); //the program will not go further while you are not getting a successful read
if (programMode) {
if ( isMaster(readCard) ) { //When in program mode check First If master card scanned again to exit program mode
Serial.println(F("Master Card Scanned"));
Serial.println(F("Exiting Program Mode"));
Serial.println(F("—————————–"));
programMode = false;
return;
}
else {
if ( findID(readCard) ) { // If scanned card is known delete it
Serial.println(F("I know this PICC, removing…"));
deleteID(readCard);
Serial.println("—————————–");
Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM"));
}
else { // If scanned card is not known add it
Serial.println(F("I do not know this PICC, adding…"));
writeID(readCard);
Serial.println(F("—————————–"));
Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM"));
}
}
}
else {
if ( isMaster(readCard)) { // If scanned card's ID matches Master Card's ID – enter program mode
programMode = true;
Serial.println(F("Hello Master – Entered Program Mode"));
uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that
Serial.print(F(" ")); // stores the number of ID's in EEPROM
Serial.print(count);
Serial.print(F(" record(s) on EEPROM"));
Serial.println("");
Serial.println(F("Scan a PICC to ADD or REMOVE to EEPROM"));
Serial.println(F("Scan Master Card again to Exit Program Mode"));
Serial.println(F("—————————–"));
}
else {
if ( findID(readCard)) { // If not, see if the card is in the EEPROM
Serial.println(F("خوش آمدید"));
granted(300); // Open the door lock for 300 ms
}
else { // If not, show that the ID was not valid
Serial.println(F("شما مجوز ورود ندارید"));
denied();
}
}
}
}
///////////////////////////////////////// Access Granted ///////////////////////////////////
void granted ( uint16_t setDelay) {
digitalWrite(blueLed, LED_OFF); // Turn off blue LED
digitalWrite(redLed, LED_OFF); // Turn off red LED
digitalWrite(greenLed, LED_ON); // Turn on green LED
digitalWrite(relay, LOW); // Unlock door!
digitalWrite(sensor, HIGH);
delay(setDelay); // Hold door lock open for given seconds
digitalWrite(relay, LOW); // Relock door
delay(400); // Hold green LED on for a second
digitalWrite(relay, HIGH);
delay(3000);
digitalWrite(sensor, LOW);
delay(300);
}
///////////////////////////////////////// Access Denied ///////////////////////////////////
void denied() {
digitalWrite(greenLed, LED_OFF); // Make sure green LED is off
digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off
digitalWrite(redLed, LED_ON); // Turn on red LED
delay(1000);
}
///////////////////////////////////////// Get PICC's UID ///////////////////////////////////
uint8_t getID() {
// Getting ready for Reading PICCs
if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue
return 0;
}
if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue
return 0;
}
// There are Mifare PICCs which have 4 byte or 7 byte UID care if you use 7 byte PICC
// I think we should assume every PICC as they have 4 byte UID
// Until we support 7 byte PICCs
Serial.println(F("Scanned PICC's UID:"));
for ( uint8_t i = 0; i < 4; i++) { //
readCard[i] = mfrc522.uid.uidByte[i];
Serial.print(readCard[i], HEX);
}
Serial.println("");
mfrc522.PICC_HaltA(); // Stop reading
return 1;
}
void ShowReaderDetails() {
// Get the MFRC522 software version
byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);
Serial.print(F("MFRC522 Software Version: 0x"));
Serial.print(v, HEX);
if (v == 0x91)
Serial.print(F(" = v1.0"));
else if (v == 0x92)
Serial.print(F(" = v2.0"));
else
Serial.print(F(" (unknown),probably a chinese clone?"));
Serial.println("");
// When 0x00 or 0xFF is returned, communication probably failed
if ((v == 0x00) || (v == 0xFF)) {
Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?"));
Serial.println(F("SYSTEM HALTED: Check connections."));
// Visualize system is halted
digitalWrite(greenLed, LED_OFF); // Make sure green LED is off
digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off
digitalWrite(redLed, LED_ON); // Turn on red LED
while (true); // do not go further
}
}
///////////////////////////////////////// Cycle Leds (Program Mode) ///////////////////////////////////
void cycleLeds() {
digitalWrite(redLed, LED_OFF); // Make sure red LED is off
digitalWrite(greenLed, LED_ON); // Make sure green LED is on
digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off
delay(200);
digitalWrite(redLed, LED_OFF); // Make sure red LED is off
digitalWrite(greenLed, LED_OFF); // Make sure green LED is off
digitalWrite(blueLed, LED_ON); // Make sure blue LED is on
delay(200);
digitalWrite(redLed, LED_ON); // Make sure red LED is on
digitalWrite(greenLed, LED_OFF); // Make sure green LED is off
digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off
delay(200);
}
//////////////////////////////////////// Normal Mode Led ///////////////////////////////////
void normalModeOn () {
digitalWrite(blueLed, LED_ON); // Blue LED ON and ready to read card
digitalWrite(redLed, LED_OFF); // Make sure Red LED is off
digitalWrite(greenLed, LED_OFF); // Make sure Green LED is off
digitalWrite(relay, HIGH); // Make sure Door is Locked
digitalWrite(sensor, HIGH);
}
//////////////////////////////////////// Read an ID from EEPROM //////////////////////////////
void readID( uint8_t number ) {
uint8_t start = (number * 4 ) + 2; // Figure out starting position
for ( uint8_t i = 0; i < 4; i++ ) { // Loop 4 times to get the 4 Bytes
storedCard[i] = EEPROM.read(start + i); // Assign values read from EEPROM to array
}
}
///////////////////////////////////////// Add ID to EEPROM ///////////////////////////////////
void writeID( byte a[] ) {
if ( !findID( a ) ) { // Before we write to the EEPROM, check to see if we have seen this card before!
uint8_t num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards
uint8_t start = ( num * 4 ) + 6; // Figure out where the next slot starts
num++; // Increment the counter by one
EEPROM.write( 0, num ); // Write the new count to the counter
for ( uint8_t j = 0; j < 4; j++ ) { // Loop 4 times
EEPROM.write( start + j, a[j] ); // Write the array values to EEPROM in the right position
}
successWrite();
Serial.println(F("Succesfully added ID record to EEPROM"));
}
else {
failedWrite();
Serial.println(F("Failed! There is something wrong with ID or bad EEPROM"));
}
}
///////////////////////////////////////// Remove ID from EEPROM ///////////////////////////////////
void deleteID( byte a[] ) {
if ( !findID( a ) ) { // Before we delete from the EEPROM, check to see if we have this card!
failedWrite(); // If not
Serial.println(F("Failed! There is something wrong with ID or bad EEPROM"));
}
else {
uint8_t num = EEPROM.read(0); // Get the numer of used spaces, position 0 stores the number of ID cards
uint8_t slot; // Figure out the slot number of the card
uint8_t start; // = ( num * 4 ) + 6; // Figure out where the next slot starts
uint8_t looping; // The number of times the loop repeats
uint8_t j;
uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that stores number of cards
slot = findIDSLOT( a ); // Figure out the slot number of the card to delete
start = (slot * 4) + 2;
looping = ((num – slot) * 4);
num–; // Decrement the counter by one
EEPROM.write( 0, num ); // Write the new count to the counter
for ( j = 0; j < looping; j++ ) { // Loop the card shift times
EEPROM.write( start + j, EEPROM.read(start + 4 + j)); // Shift the array values to 4 places earlier in the EEPROM
}
for ( uint8_t k = 0; k < 4; k++ ) { // Shifting loop
EEPROM.write( start + j + k, 0);
}
successDelete();
Serial.println(F("Succesfully removed ID record from EEPROM"));
}
}
///////////////////////////////////////// Check Bytes ///////////////////////////////////
bool checkTwo ( byte a[], byte b[] ) {
for ( uint8_t k = 0; k < 4; k++ ) { // Loop 4 times
if ( a[k] != b[k] ) { // IF a != b then false, because: one fails, all fail
return false;
}
}
return true;
}
///////////////////////////////////////// Find Slot ///////////////////////////////////
uint8_t findIDSLOT( byte find[] ) {
uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that
for ( uint8_t i = 1; i <= count; i++ ) { // Loop once for each EEPROM entry
readID(i); // Read an ID from EEPROM, it is stored in storedCard[4]
if ( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM
// is the same as the find[] ID card passed
return i; // The slot number of the card
}
}
}
///////////////////////////////////////// Find ID From EEPROM ///////////////////////////////////
bool findID( byte find[] ) {
uint8_t count = EEPROM.read(0); // Read the first Byte of EEPROM that
for ( uint8_t i = 1; i < count; i++ ) { // Loop once for each EEPROM entry
readID(i); // Read an ID from EEPROM, it is stored in storedCard[4]
if ( checkTwo( find, storedCard ) ) { // Check to see if the storedCard read from EEPROM
return true;
}
else { // If not, return false
}
}
return false;
}
///////////////////////////////////////// Write Success to EEPROM ///////////////////////////////////
// Flashes the green LED 3 times to indicate a successful write to EEPROM
void successWrite() {
digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off
digitalWrite(redLed, LED_OFF); // Make sure red LED is off
digitalWrite(greenLed, LED_OFF); // Make sure green LED is on
delay(200);
digitalWrite(greenLed, LED_ON); // Make sure green LED is on
delay(200);
digitalWrite(greenLed, LED_OFF); // Make sure green LED is off
delay(200);
digitalWrite(greenLed, LED_ON); // Make sure green LED is on
delay(200);
digitalWrite(greenLed, LED_OFF); // Make sure green LED is off
delay(200);
digitalWrite(greenLed, LED_ON); // Make sure green LED is on
delay(200);
}
///////////////////////////////////////// Write Failed to EEPROM ///////////////////////////////////
// Flashes the red LED 3 times to indicate a failed write to EEPROM
void failedWrite() {
digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off
digitalWrite(redLed, LED_OFF); // Make sure red LED is off
digitalWrite(greenLed, LED_OFF); // Make sure green LED is off
delay(200);
digitalWrite(redLed, LED_ON); // Make sure red LED is on
delay(200);
digitalWrite(redLed, LED_OFF); // Make sure red LED is off
delay(200);
digitalWrite(redLed, LED_ON); // Make sure red LED is on
delay(200);
digitalWrite(redLed, LED_OFF); // Make sure red LED is off
delay(200);
digitalWrite(redLed, LED_ON); // Make sure red LED is on
delay(200);
}
///////////////////////////////////////// Success Remove UID From EEPROM ///////////////////////////////////
// Flashes the blue LED 3 times to indicate a success delete to EEPROM
void successDelete() {
digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off
digitalWrite(redLed, LED_OFF); // Make sure red LED is off
digitalWrite(greenLed, LED_OFF); // Make sure green LED is off
delay(200);
digitalWrite(blueLed, LED_ON); // Make sure blue LED is on
delay(200);
digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off
delay(200);
digitalWrite(blueLed, LED_ON); // Make sure blue LED is on
delay(200);
digitalWrite(blueLed, LED_OFF); // Make sure blue LED is off
delay(200);
digitalWrite(blueLed, LED_ON); // Make sure blue LED is on
delay(200);
}
////////////////////// Check readCard IF is masterCard ///////////////////////////////////
// Check to see if the ID passed is the master programing card
bool isMaster( byte test[] ) {
return checkTwo(test, masterCard);
}
bool monitorWipeButton(uint32_t interval) {
uint32_t now = (uint32_t)millis();
while ((uint32_t)millis() – now < interval) {
// check on every half a second
if (((uint32_t)millis() % 500) == 0) {
if (digitalRead(wipeB) != LOW)
return false;
}
}
return true;
}
با سلام
کاربر گرامی لطفا توضیحات را همراه با بخشی از ارور دریافتی ارسال کنید تا بررسی شود.
با تشکر من برق تغذیه و اتصالات را مطمئنم لحیم کاری کردم فقط اگر برد اردینو را ریست میکنی چرا سیستم اوکی نمیشه حتما برق تغذیه باید قطع بشه چراغ مربوطه روی اردینو نشون از ریست هست ولی سیستم جواب در نزدیک کردن تگ نمی دهد در بالا برنامه استفاده شده را کپی کردم
سلام
این مشکل می تواند دلایل مختلف داشته باشد. یکی از آن، مشکلی در چیپست و یا برد آردویینو و ماژول RFID است. مشکل دیگر می تواند عدم مونتاژ صحیح و وجود مسیر اتصال کوتاه در قسمت های مختلف باشد. مورد دیگر، ضعف در لحیم کاری و ایجاد قلع مردگی در مسیر لحیم کاری و…. همه می توانند از عوامل ایجاد این مشکل به حساب آیند.
سلام
من این ماژول rfid رو تهیه کردم ولی دوتا پین که باید روش باشه رو نداره. میخواستم بدونم کجا میتونم جداگانه تهیه ش کنم. لوازم الکترونیکی ها دارن ازش؟
ممنون از راهنمایی
با سلام
منظور از دو پین چیست؟
سلام و درود من را پذیرا باشید
برای آغاز به کار با برد اردینو ( بدون آشنایی قبلی) و تخصص پیدا کردن برای استفاده از آن در پروژه های صنعتی در کوتاه ترین زمان از کجا و چگونه باید شروع کنم؟
رشته آکادمیک ( دانشجو مقطع دکترا رشته مکانیک گرایش سازه های صنعتی)
با سلام
سوال شما بسیار کلی است و به موارد زیادی وابسته است. در خصوص یادگیری سمت بردهای امبدد اساسی ترین مورد برنامه نویسی است که بایستی یاد بگیرید.
همچنین پیشنهاد میشود آموزش زیر را مطالعه کنید.
استفاده از آردوینو در صنعت
با سلام و خسته نباشید
ببخشید یه سوالی داشتم. حدود ۵ تا ۶ بار اطلاعات کارت خونده میشه بعد ماژول دیگه هیچ کارتی رو نمیخونه اصلا هیچ واکنشی نشون نمیده تا زمانی که ریست بشه. برق هم از باتری ۹ ولت و برق یو اس بی کامپیوتر استفاده کردم ولی تفاوتی نداشت. نمیدونم مشکل از کجاس
با سلام
در این خصوص نمیتوان قطعی پاسخ داد. عواملی مانند تغذیه و جریان در روند اجرای پروژه تاثیر گذار است. بررسی کنید.
دوستان فرکانس کاری rc522 اشتباه ذکر شده (۱۲۵ کیلوهرتز نیست)، فرکانسش ۱۳٫۵۸ مگاهرتز هست
با سلام
ضمن تشکر از شما، لینک اشتباه شده بود. اصلاح شد.
سلام خوب هستید ممنون از آموزش های مفیدتون فقط یک سوال ما چند تا ماژول Reid یا بهتر بگم حداکثر چند تا کارت می تونم معرفی کنم؟؟؟؟
با سلام
در این خصوص دیتاشیت را مطالعه کنید.
سلام زمانی که کارت و میخوام بخونه در قسمت دامپ فایل کارت سفید ومیخونه ولی کارت های دیگر را خطای pcd_authenticate() failed error in communication چکار باید کرد؟
با سلام
فرکانس کارت را بررسی کنید.
سلام پارکینگ ما از این سیستم استفاده میکنه. هر شخص یک تگ RFID داره شبیه جاسوییچی آبی رنگ هست اصولا و پلاستیکیه جنسش. از ما گم شده و میخوایم تهیه کنیم. باید چیکار کنیم؟
با سلام
بایستی فرکانس تگ مورد استفاده را مشخص کنید.
سلام کد زیر در برنامه Arduino IDE که از مثالهای خود برنامه هست پیام خطا روی خط
MFRC522 mfrc522(SS_PIN, RST_PIN);
رو میده علت چیه (‘MFRC522’ does not name a type
) ؟
کد:
#include
#include
constexpr uint8_t RST_PIN = 9; // Configurable, see typical pin layout above
constexpr uint8_t SS_PIN = 10; // Configurable, see typical pin layout above
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
void setup() {
Serial.begin(9600); // Initialize serial communications with the PC
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522
mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD – MFRC522 Card Reader details
Serial.println(F(“Scan PICC to see UID, SAK, type, and data blocks…”));
}
void loop() {
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
// Dump debug info about the card; PICC_HaltA() is automatically called
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}
با سلام
جدیدترین کتابخانه را دانلود کنید و سپس باید با کلاس های جدید کد را آپدیت کنید.
سلام استاد گرانقدر
من می خواهم ماژول rc522 را مستقیم و بدون اتصال به اردوینو به کامپیوتر وصل کنم لطفا راهنمایی بفرمائید و یک نقشه ای چیزی برای اتصال پایه ها به uart یا rs232 بفرستید. باتشکر
با سلام
کاربر گرامی این مورد تست نشده است.
سلام
ببخشید من می خواستم ماژول رو با ارتباط i2c راه اندازی کنم ولی کار نکرد اگه میشه راهنمایی کنید
با سلام
برد rc522 دارای رابط spi است و طبیعتا با ارتباط i2c راه اندازی نمیشود.
سلام.
اگه کارت گم بشه یک کارت جدید رو چطور تعریف کنیم؟و جهت تعویض کد گیرنده هم راهی هست،چون اون کارت اول ممکنه دست کسی بیفته
سلام.
ماژول آماده دارید که این تجهیز رو بدون آردوینو راه اندازی کرد
با سلام
برای این منظور به فروشگاههای الکترونیکی مراجعه کنید.