میکرو الکترونیک

طراحی آموزش مشاوره

 
آموزش راه اندازی ماژول EM-18
نویسنده : مصطفی نادری - ساعت ۸:٠٦ ‎ب.ظ روز ۱۳٩٠/۳/٢٦
 

 

به نام خدا

 

 آموزش راه اندازی ماژول EM-18  و دریافت اطلاعات کارت توسط میکرو

em-18

سلام به همه دوستان

چند وقت بود دنبال ماژول مناسبی می گشتم تا بشه راحت اطلاعات کارت های RFID دریافت کرد . و بتونیم راحت در پروژه های مختلف اعم از انواع دستگاه حضور غیاب, قفل های ورودی و خروجی منازل ,آسانسور های هوشمند و خیلی از موارد دیگه که بار ها و بارها به چشممون می خورده استفاده کنیم .در اینجا ما به بررسی اولیه و سخت افزاری این ماژول و نوشتن یک نمونه برنامه ساده برای دریافت اطلاعات کارت به زبان بیسیک می پردازیم . امیدوارم که مفید واقع بشه . و همه عزیزانی که مثل خود من با این ماژول مشکل داشتند سریعتر به هدفشون برسند.

 

                                                                                   فرزند ایران زمین

                                                                                    مصطفی نادری

 

 

 

 

 

 

 


 

مشخصات ماژول :

ولتاژ تغذیه ماژول 5 ولت

جریان مصرفی در لحظه خواندن اطلاعات از  کارت کمتر از 50 میلی آمپر

فرکانس ماژول KHZ   125

پشتیبانی از 2 پروتکل RS232  و WEIGAND

و دارای یک خروجی جهت اتصال به بازر یا ال ای دی به معنای خواندن اطلاعات کارت می باشد.

 

خب با ماژول تا حدی آشنا شدین حالا یه توضیح در مورد پایه های این ماژول  میدم.

 

پایه 1 =VCC

پایه 2=BEEB

پایه 3 =GND

پایه 4و5 =استفاده نمی شود

پایه 6 =انتخاب کننده پروتکل ارتباطی -در صورت اتصال به VCC پروتکل RS232 و در صورت اتصال به GND  پروتکل WEIGAND  انتخاب میشود

پایه 7= RS232

پایه 8و9 = WEIGAND

با مونتاژ مدار زیر و نزدیک شدن کارت بازر به صدا در اومده که به معنای خوندان کارت توسط ماژول می باشد.

**به دلیل استفاده از پروتکل RS232  لازمه پایه سلکت به VCC  وصل بشه .تا ماژول در مد  RS 232  قرار بگیرد.

pin em 18

 

 

 

 

 

 

 

 

 

این هم نحوه اتصال

خب بعد از اینکه با نحوه اتصال صحیح سخت افزار آشنا شدید .به سراغ نرم افزار میریم تا بتونیم کد کارت بخونیم و بر روی ال سی دی نمایش بدیم.

اول اینو بگم که ما قرار 12 کاراکتر دریافت کنیم 10 کاراکتر کد کارت و 2 کاراکتر مشترک بین تمام کارتها بوده.اعداد به صورت کد اسکی فرستاده میشود و باید به مقدار دسیمال تبدیل شود.

برای کاهش خطا از کریستال خارجی 11059200 استفاده کنید.

فیلتر rc  برای کاهش نویز در مدار در نظر گرفته شود .

و حتما حتما حتما پول آپ داخلی میکرو فعال باشه(1 روز کامل به خاطر این موضوع جواب نمی گرفتم ).

باود ریت ماژول 9600 می باشد .که در تنظیمات میکرو نباید اینو فراموش کرد.

و اما برنامه به زبان بیسیک:

" regfile = "m16def.dat$

crystal = 11059200$

baud = 9600$

Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db7 = Portc.2 , Db6 = Portc.3 , Db5 = Portc.4 , Db4 = Portc.5

Cursor Off

در بالا تنظیمات اولیه ماژول انجام دادیم و پین هایی که به ال سی دی متصل شده

Dim E As Byte, P As Byte

Dim C(12) As String * 1  

Dim code As String * 10

متغیر هایی که در برنامه لازم داریم تعریف کردیم متغیر E و P برای شمارش و متغیر C  که به صورت آرایه ایی هست برای دریافت 12 کاراکتر ورودی .و متغیر CODE  عدد کارت خوانده شده کارت می باشد.

Home : Lcd "      EM_18     ": Wait 2 : Cls

Do

: Step1

Incr E

 ()C(e) = Waitkey

If E < 12 Then Goto Step1

با استفاده 3 خط بالا میکرو منتظر دریافت اطلاعات توسط پرت سریال میشه و با دریافت هر کاراکتر در یک متغیر از آرایه C ذخیره میکنه.

For E = 3 To 12

Incr P

Mid(code , P , 1) = C(e)

Next

 با استفاده از حلقه بالا اطلاعات مشترک کارت از اطلاعات غیر مشترک جدا می کنیم و کنار هم قرار میدم و در متغیر CODE  ذخیره می کنیم.

E = 0

P = 0

Locate 1 , 1 : Lcd code

Loop

در نهایت کد کارت بر روی ال سی دی نمایش می دیم .

 

در عکس بالا کد 10 کاراکتری کارت مشاهده می کنید که از کد مشترک جدا شده

اطلاعات ارسالی توسط ماژول به این صورت بوده 2F00572EE0B6که ما 2F   که بین همه کارت ها مشترک هست جدا کردیم.

 

خوب دید که راه اندازی ماژول اوونقدر ها هم مشکل نبود اما یه سری چیزها با یه مقدار بی دقتی اجازه رسیدن به هدف اصلی نمیدن

 

امید وارم که این آموزش مفید بوده باشه