پروژه کنترل ورود و خروج با ماژول rfid RF01D
به نام خدا و با سلام خدمت دوستان!!
در این مطلب قصد دارم پروژه ماژول RFID مدل RF01D رو خدمت دوستان معرفی کنم!!
ماژول های RFID به منظور خواندن کارت های مغناطیسی مورد استفاده قرار میگیرند. کارت های مغناطیسی امروزه در زندگی روزمره ما به وفور در دستگاه های مختلفی استفاده می گردند. دستگاه های حضور و غیاب، کارخانجات، انبارداری، مترو و در بسیاری از مواردی که نیاز می باشد هر فرد یک کارت شناسایی الکترونیکی داشته باشد از این ماژول ها استفاده می گردد. کارت ها (تگ ها) تشکیل شده اند از یک چیپ کوچک به همراه یک سیم پیچ که معمولاً درون یک محفظه پلاستیکی قرار میگیرند. این پلاستیک می تواند بصورت کارت، جا کلیدی، اسباب بازی، سکه ای یا هر شکل دیگری باشد. با نزدیکتر کردن تگ به ماژول های RFID امواج مغناطیسی ماژول سیم پیچ تگ را قطع کرده و از این طریق کد مربوط به تگ خوانده می شود. هر بار که یک تگ خوانده شود، عبارت مربوط به تگ از طریق پروتکل مربوط (معمولاً سریال ) ارسال می گردد.
این ماژول علاوه بر کارایی عادی خود دارای امتیازاتی است که در ادامه به اختصار توضیح داده می شوند:
-
کارت خوان ۱۲۵کیلوهرتز حافظه دار
-
درب باز کن کارتی RFID
-
ولتاژ کاری: ۳ الی ۵ ولت
-
جریان مصرفی کمتر از ۶۰ میلی آمپر
-
بدون حافظه داخلی
-
چهار مد خروجی دیتای کارت
-
خروجی رله هنگام حضور کارت
-
دارای آنتن داخلی
-
خروجی بیزر و رله جداگانه
ماژول RFID فوق برای خواندن کارت و تگ های با فرکانس ۱۲۵ کیلوهرتز مناسب است.
این ماژول دو پایه نیز برای اتصال آنتن جانبی هم دارد که بنده تا حالا استفاده نکردم.
تغذیه این ماژول ۵ ولت است و همچنین پروتکل ارتباطی آن USART TTL است و بادریت پیش فرض آن روی ۹۶۰۰ تنظیم شده است
پایه های خروجی ماژول به صورت شکل زیر است
نکته:دوستان دقت کنید که شکل بالا نمای داخلی ماژول(bottom view) است
توضیح پایه های ماژول نیز به صورت زیر است
برای اینکه در ابتدا ماژول خودتون رو تست کنید و از سلامتش اطمینان پیدا کنید به صورت بالا اون رو راه اندازی کنید و پایه هاشو به مبدل usb به سریال متصل کنید و خروجیشو در نرم افزار ترمینال سریال در لبتاب ببینید.
ماژول پس از شناسایی کارت یا تگ آی دی کارت رو که یک عدد ۱۱ رقمی هستش( یک رشته ۱۱ کاراکتری ) از طریق پایه tx خودش با بادریت ۹۶۰۰ میفرسته و همچنین led متصل شده به پایه BUZZE روشن میشه که اگه یک بازر متصل کنید بوق میزنه و همچنین پایه AROUND OUT هم یک خروجی رله است فعال میشه.
در رابطه با این ماژول پر کاربرد پروژه ای را به زبان c در کامپایلر کدویژن برای میکروکنترلر atmega16a با فرکانس کاری ۸ مگاهرتز انجام داده ام که شماتیک آن به صورت زیر است :
همانطور که در شماتیک پروژه مشاهده میکنید از یک lcd کاراکتری هم برای نمایش اطلاعات استفاده شده است
- نحوه عملکرد مدار
نحوه عملکرد مدار به این صورت است که به طور پیش فرض سه عدد کارت به میکرو معرفی می شود و میکرو آی دی کارت ها را در حافظه eeprom خود ذخیره می کند تا با قطع برق اطلاعات کارت ازبین نرود
برای تعریف کارت دکمه define را میفشاریم و از ما پرسیده میشود که قصد تعریف کدام کارت را دارید (کارت ۱ یا کارت ۲ یا کارت ۳) که برای انتخاب از دکمه up , down استفاده میکنیم و در صورت منصرف شدن از تعریف کارت دکمه exit را می زنیم و از منو خارج میشویم.
پس از انتخاب کارت دکمه select را میزنیم و مدار از ما میخواهد که کارت را به جهت ذخیره به ماژول اعمال کنیم و پس شناسایی و دریافت آی دی کارت و ذخیره آن در حافظه ایپرام پروژه از ما تعداد روز هارا میخواهد که برای هر کارت چند روز تعریف شود که تعداد روز هارا میتوان با دو کلید up , down مشخص کرد،در این پروژه هم تعداد روز ها و هم تعداد ساعت ها با تغییر کوچکی در سورس قابل انتخاب است که توابع آن به صورت اماده نوشته شده اند
مثلا شما فرض کنید این مدار برای یک استخر مورد استفاده قرار می گیرد به این صورت که کاربر کارت خود را تعریف میکند و به ازای هزینه ای که میپردازد برای او تعداد روز تعریف میشود و هر بار که وارد میشود و کارت خود را به دستگاه نزدیک میکند و توسط رله درب باز میشود ، یک واحد از تعداد روز ها کم میشود. حال اگر بعد از تمام شدن تعداد روز ها کارت خود را نزدیک دستگاه کند چراغ قرمز روشن میشود و درب برای او باز نمی شود،که مجددا باید کارت خود را شارژ کند لازم به ذکر است که تعداد روز ها نیز در حافظه eeprom ذخیره میشود.
حالا اگر در پروژه مدت زمان مطرح باشد یعنی کاربر تا ۲۴ ساعت فرصت دارد از شارژ کارتش استفاده کند در غیر این صورت هزینه او ازبین می رود، در برنامه این آبشن هم نوشته شده و به صورت کامنت در کد های پروژه قرار دارد…
همچنین اگر دو دکمه up , down را اگر در حالت عادی بفشارید میتوانید به مرور کارت ها و روزهای باقی مانده هر کارت را مشاهده کنید.
برای هر سه کارت همین روند برقرار است که البته قابل گسترش است.
و یک دکمه ی open door هم وجود دارد که با فشردن آن مستقیما رله فعال شده و درب باز میشد(دکمه پارتی o_O )
سخت افزار مدار کاملا تست شده است و به درستی عمل می کند
موفق و سربلند باشید!!!
دانلود دیتاشیت فارسی و انگلیسی ماژول
خرید سورس کامل پروژه به زبان سی در کامپایلر کدویژن و برای میکروکنترلر ATMEGA16 انجام شده است و فایل شماتیک و شبیه سازی پروتعوس نیز در فایل موجود است.
۱-ماژول کارت خوان RFID و کارت های ۱۲۵KHZ
و دیگر قطعات کاربردی و رایج و لازم…
«این قطعات رو از هر فروشگاهی میتونید تهیه کنید»
توضیحات تنظیمات میکروکنترلر:
فرکانس کاری میکرو ۸ مگا هرتز است که میتوانید از اسیلاتور داخلی استفاده کنید و فیوز بیت ها رو به صورت زیر تنظیمات کنید:
کلاک سلکت صفر برابر ۰
کلاک سلکت یک برابر ۰
کلاک سلکت دو برابر ۱
کلاک سلکت سه برابر ۰
و در صورت اتصال کریستال خارجی ۸ مگا هرتز تمامی کلاک سلکت هارو ۱ کنید
توضیحات بیشتر در مورد نحوه پروگرام کردن میکرو از این لینک ببینید.
مطالب پیشنهادی:
بخش نرم افزار پروژه ردیاب : برنامه اندرویدی tracker (ردیاب) و نمایش مختصات
سخت افزار پروژه ردیاب : ارسال موقعیت جغرافیایی روی سرور از طریق ماژول A7 و LPC1768
لینک مطلب بخش نرم افزار پروژه ماژول بلوتوث که تحت #C نوشته شده است.
لینک مطلب بخش سخت افزار پروژه ارتباط ماژول بلوتوث با میکروکنترلر lpc1768 با برنامه اندرویدی و #C )
لینک مطلب بخش نرم افزار پروژه ماژول بلوتوث که تحت اندروید نوشته شده است.