برد Esp32 میکروپایتون Micropython

پروژه راه‌اندازی ماژول RC522 RFID با میکروپایتون در برد ESP32

نوشته شده توسط CiferTech

در پروژه RFID میکروپایتون با استفاده از ماژول RC522 و به کمک میکروپایتون قصد خواندن و نوشتن مقادیر در تگ های RFID را داریم، در این پروژه از برد ESP32 و میکروپایتون برای راه‌اندازی و کد نویسی ماژول RC522 استفاده خواهیم کرد. در این پروژه هردو سناریو برای خواندن و همچنین نوشتن مقادیر مربوط در تگ های RFID بر پایه میکروپایتون را بررسی خواهیم کرد. در این پروژه برای کدنویسی از نرم‌افزار upycraft استفاده خواهیم کرد. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

پروژه RFID با میکروپایتون و ESP32 - دیجی اسپارک

 


ماژول RC522


به لطف تکنولوژی Radio Frequency IDentification یا RFID در طول روز تنها با حمل یک کارت کوچک، قادر به پرداخت هزینه حمل نقل عمومی و تایید هویت در مکان های محتلف هستیم و این تنها دو نمونه از کاربرد های این تکنولوژی جذاب است، ماژول RC522 یک انتخاب خوب برای پروژه های این چنینی به حساب می آید. کم مصرف، کم هزینه، رابط کاربری آسان و بسیار محبوب بین علاقه مندان است. ماژول  RC522 مبتنی بر MFRC522 IC از NXP یکی از ارزان ترین گزینه ها برای پروژه های بر پایه RFID است، که معمولاً با تگ RFID با حافظه ۱KB ارائه می شود. و از همه مهم تر، می تواند بر روی این تگ ها بنویسد، بنابراین می توانید نوعی پیام مخفی خود را در آن ذخیره کنید.

ماژول RC522 RFID با میکروپایتون - دیجی اسپارک

 

ماژول RC522 برای خواندن تگ های RFID اقدم به ایجاد یک میدان الکترومغناطیسی ۱۳٫۵۶MHz می کند که از آن برای برقراری ارتباط با تگ های RFID استفاده می کند. این تگ دارای استاندارد ISO 14443A هستند. RC522 می تواند با یک میکروکنترلر از طریق رابط سریال ۴ پین سریال (SPI) با حداکثر سرعت داده ۱۰Mbps اقدام به برقراری ارتباط کند. همچنین این ارتباطات از طریق پروتکل های I2C و UART نیز امکان پذیر می باشد. ولتاژ کاری ماژول از ۲٫۵ تا ۳٫۳ ولت است، اما خبر خوب این است که پایه های منطقی، ۵ ولت را تحمل می کنند، بنابراین ما می توانیم بدون استفاده از مبدل سطح منطقی، آن را به راحتی به یک Arduino یا هر میکروکنترلر با ولتاژ ۵ ولت متصل کنیم.

 


تراشه ESP32


ESP32 می تواند به عنوان یک سیستم کامل مستقل یا به عنوان یک دستگاه MCU عمل کند و بار اضافی ارتباطات را در پردازنده اصلی برنامه کاهش دهد. ESP32 می تواند با سیستم های دیگر ارتباط برقرار کند تا از طریق SPI عملکرد Wi-Fi و بلوتوث را ارائه دهد. ESP32 با سوئیچ های آنتن داخلی، RF balun، تقویت کننده قدرت، تقویت کننده دریافت، فیلترها و ماژول های مدیریت توان یکپارچه شده است. ESP32 با حداقل الزامات برد مدار چاپی (PCB) ، عملکرد و تطبیق پذیری بی نظیری را به برنامه های شما اضافه می کند. برد ESP32 نسل پیشرفته ESP8266 است. یکی از تفاوت‌های آن بلوتوث داخلی‌اش می‌باشد. همچنین دارای هسته وایفای ۲,۴ گیگا هرتزی و بلوتوث داخلی تولید شده با تکنولوژی ۴۰ نانومتری شرکت TSMC می‌باشد. این ماژول دارای بهترین پرفورمنس در مصرف انرژی می‌باشد یعنی با کمترین مصرف انرژی بهترین نتیجه را برای ما به همراه دارد. اگر بخواهیم دقیق‌تر به این برد نگاه کنیم باید بگوییم که این یک chip است که پلتفرم NodeMCU در اون پیاده سازی شده که به این نوع چیپ ها System on a chip microcontrollers هم گفته می‌شود.

 


قطعات مورد نیاز


برد ESp32

ماژول RC522

 


شرح پروژه RC522


در پروژه RFID میکروپایتون با استفاده از دو فایل کد یعنی کتابخانه ماژول RC522 و کدی برای سناریو اصلی اقدام به راه‌اندازی این سنسور به منظور خواندن مقادیر تگ های RFID خواهیم کرد، در ادامه این آموزش نحوه کار با ماژول RC522 را با استفاده از برنامه نویسی میکروپایتون یاد خواهید گرفت و قادر خواهید بود با تغییر کد های این پروژه و افزودن موارد دلخواه به عنوان ویژگی های اضافه پروژه خود را پیش ببرید.

 

شرح پروژه RC522 با میکروپایتون - دیجی اسپارک

 


شماتیک پروژه RFID میکروپایتون


در شماتیک پروژه RFID میکروپایتون پین VCC را به پایه ESP32 3.3V متصل می‌کنیم. پین RST به پین GPIO4. پین GND به پین GND. پین IRQ بدون اتصال رها شده است. پین MISO به پین GPIO 19. پین MOSI به پین GPIO 23. پین SCK به پین GPIO 18. و در آخر، پین SDA به پین GPIO 5 متصل خواهد شد. همچنین می‌توانید از شماتیک زیر برای برقراری اتصالات استفاده کنید.

 


کد های پروژه RFID میکروپایتون


کد های پروژه RFID میکروپایتون از دوبخش تشکیل شده‌اند، مانند پروژه های قبلی میکروپایتون بیس با ESP32 ابتدا کتابخانه مورد نظر برای راه‌اندازی سنسور یا ماژول مورد استفاده را اضافه می‌کنیم که در این پروژه مورد مدنظر ما ماژول RC522 است. کد زیر را با نام mfrc522.py در نرم‌افزار upycraft ایجاد و ذخیره کنید، و در ادامه کد را در برد ESP32 آپلود کنید.

 

در ادامه نوبت به کد اصلی پروژه RFID میکروپایتون می‌رسد، کد بالا به تنهایی برای ما کار مفیدی انجام نمی‌دهد و نیاز به یک برنامه جداگانه برای استفاده از قابلیت هایی دارد که در اختیار ما قرار می‌دهد، کد پایین را با نام rc522.py در نرم‌افزار upycraft ذخیره کنید و سپس هردو کد را در برد ESP32 خود آپلود کنید. نکته: در نرم‌افزار upycraft به منظور آپلود هر کد در صفحه های جداگانه نیاز دارید تا هر کد را بصورت جداگانه آپلود کنید.

 

کد نویسی میکروپایتون در برد ESP32 پروژه RFID - دیجی اسپارک

 


نتیجه نهایی


در نهایت پس از آپلود کد های این پروژه RFID میکروپایتون و برقراری اتصالات، در صورتی که تمام مراحل به درستی امجام شده باشد. قادر خواهید بود در نرم‌افزار upycraft در ترمینال این نر‌م‌افزار خواهید دید پس از هربار نزدیک کردن تگ rfid نزدیک ماژول rc522 شناسه uid تگ برای شما نمایش داده می‌شود، با استفاده از این شناسه و افزودن به کد های این پروژه قادر خواهید بود تا سییستم تایید هویت مبتنی بر ماژول rc522  و تگ های rfid بسازید.

پروژه RFID میکروپایتون micropython - دیجی اسپارک

 


کلام آخر با سایفر


پروژه های مثل این پروژه مبتنی ماژول های مختلف در سال گذشته همواره با زبان c/c++ در بستر آردوینو یا برد ESP و از این دست نوشته می‌شدند، اما میکروپایتون به دلیل سرعت و قابلیت های این چنینی که دارد به برنامه نویس در ساخت پروژه مختلف و خلاقانه تر کمک می‌کند. برای دانستن بیشتر در مورد میکروپایتون در برد های ESP32 آموزش های پایه و پروژه های مبتنی میکروپایتون را در سایت مشاهده کنید.

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

درباره نویسنده

CiferTech

فقط 10 نوع آدم در این دنیا وجود داره، اونی که باینری میفهمه و اونی که باینری نمیفهمه! ^-^

~ اینستاگرام: CiferTech

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه

  • سلام خسته نباشید کدوم پایه هارو متصل کردید؟ زیاد واضح نیست عکس ، اگه میشه یک راهنمایی بکنید که کدوم پایه هارو به RFID متصل کنیم برای این کدی که نوشتید
    ممنون