سلام به دوستان عزیز : اگه راجع ماژول RFID01D چیزی نمی دونید که آقا مهدی خیلی کامل توضیح داده، این لینکش : پروژه RFID یا همون کارتخوان با آموزش کامل، در واقع همون پروژش منتها با آرم؛ انشاءالله هفته های آتی کمی پیشرفته تر رشو میذاریم.
پروژه و آموزش راه اندازی rfid01d با at91sam7x256
اینم کد پروژه آرم ما، که مقابل هر کدوم وظیفش گفته شده :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#include <AT91SAM7X256.H> #include <delay.h> #define LCD_PORT_B #define LCD_RS 0 #define LCD_E 1 #define LCD_DB0 2 #define LCD_DB1 3 #define LCD_DB2 4 #define LCD_DB3 5 #define LCD_DB4 6 #define LCD_DB5 7 #define LCD_DB6 8 #define LCD_DB7 9 #include <lcd.h> #include<usart.c> int main () { char str[12]; *AT91C_PMC_PCER = 1<<7; //clk vazifeh janeby usart *AT91C_PIOA_PDR =(1<<5 | 1<<6);//az halat vorody ya khorojy bodan dar miavarad *AT91C_PIOA_ASR =(1<<5 | 1<<6);//faal kardan vazifeh janeby A (usart1) *AT91C_US1_CR =0X24;//reset gheir faaal girandeh(RX) *AT91C_US1_MR =0X1008C0;//tanzimat vorody over ... *AT91C_US1_BRGR =0X138;//9600 *AT91C_US1_CR =1<<4;//faal girandeh lcd_init(); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf(" DMF313.IR "); while(1) { USART_gets(1,str,12);// DARYAFT CODE RESHTEIE AZ USART1 BA TOL 12 lcd_gotoxy(2,1); lcd_putsf(str);//NAMAYESH CODE RESHTEIE } } |
همون طور که می بینید خیلی راحته اول هدر ها به برنامه ضمیمه شده
دوم متغیری از نوع کاراکتری تعریف شده
سوم تنظیمات مربوط به واحد یوزارت یک آرم هست که این تنظیمات یه ترتیب زیر هستند:
اول تغذیه واحد یوزارت برقرار شده
دوم پایه های 5 و شش از پورت A ورودی و خروجی بودنشان غیر فعال شده
سوم این پایه ها رو را روی وظیفه جانبی A که همان واحد یک یوزارت می باشد فعال کرده
چهارم گیرنده این واحد را غیر فعال و ریست می کند
پنجم مربوط به تنظیمات ورودی بیت OVER بیت توازن و… که بسته به نوع پروژه تغیر میکند
ششم نرخ انتقال را برابر 9600 می کند چون نرخ انتقال ارسالی RFID01D می باشد
هفتم گیرنده را فعال میکند.
و درآخر حلقه بی نهایت هرچی از بافر خونده شده تو متغیر ریخته و نمایش می دهد.
اگه در مورد ثبات های آرم خواستید بدونید دیتا شیتش تو اینترنت موجوده.
اینم عکسی از پروژه :
اینم فیلمی راجع به پروژه :
مهمان
سلام،
ببین کل نت رو گشتم برای فایل نمونه یا کتابخونه سنسور IR ولی چیزی نیافتم.
اگه برای codevision و یا atmel studio آموزشی، فایلی، منبعی چیزی داری بفرست.
البته سایت extreme electronics یه کتابخونه و یه نمونه گذتشته ولی همانطور که خیلی ها تو نظراتش گفتن کار نمیکنه.
چطور ممکنه مطلب به این مهمی چیزی در موردش نباشه.
من هم سنسور IR LED رو دارم و هم از این سه پایه TSOP.
نویسنده این مطلب
سلام منم راجع چیزی که داری حرف ممیزنی چیزی نمی دونم
مهمان
برای سنسور IR داری دنبال کتاب خونه میگردی !!!! کار کردن با این سنسور ساده تر از حل کردن یک انتگرال هستش …. کاش مینوشتی برای کجا داری از استفاده کنی ….. فکر میکنم برای کنترل از راه دور داری استفاده میکنی …
ببین برای میتونی برای هر کانال یک فرکانس تعریف کنی مثلا کانال یک فرکانس باشه 1kHz و کانال دو فرکانسش باشه 2kHz این فرکانسو میتونی با اسیلاتور میکرو بسازی برای توی کدویژن تنظیمات تایمر یک مد CTC رو انتخاب کن که یک فرمول داره برای ساختن فرکانس میتونی رجیستر های مربوط به اسیلاتور ها هم OCR1A , OCR1B هستش کا هر کدوم فرکانس یک پایه رو مشخص میکنند این فرکانس رو میدی به فرستنده مادون قرمز با یک مقاومت …
طرف گیرنده هم یک مدار اشمیت تریگر داری و یک گیرنده مادون قرمز خروجی اشمیت تریگر رو میدی به کانتر میکرو که در اصل همون فرکانس متر هستش …داخل میکرو تعریف میکنی اگر فرکانس1کیلو هرتز بود کانال یک رو فعال کنه اگر 2 کیلو هرتز بود کانال 2 رو فعال کنه …. در اصل خروجی اشمیت تریگر همو فرکانس که در فرستنده ساخیتم رو دریافت میکنیم البته از معایب ای روش اینکه سرعت تشخیص کم هستش ولی برای این کار میتونی از روش های مختلفی استفاده کنی که اینجا نمی گنجه بگم
مهمان
سلام
خیلی عالی بود آقا حسین، حتما نوشتن آموزش ها را ادامه بده.
سوال: چرا از یک میکروکنترلر ARM به صورت جداگانه استفاده نکرده ای و یک Header Board تهیه کرده ای؟
نویسنده این مطلب
سلام
چون جنبه آموزشی داره
مهمان
برای اینکه دسترسی به حافظه های کار داشته باشیم باید چه کار کنیم .
تغیذیه نیست و تغذیه هستش … :()
نویسنده این مطلب
AT91SAM7X256 حافظه EEPROM نداره در مورد تغذیه هم خود میکرو 5 ولته و درمورد ماژول هم ولتاژ مورد نیازش 5 ولته ولی چون جریان مورد نیازش 60 میلی آمپره و میکرو نمی تونه همچین جریانی بده تغذیه اش جدا کنیم بهتره
مهمان
منظورم از تغیذیه این بود که توی متن اشتباه تایپ شده بود….مهم نیست …..منظور من حافظه e2prom میکرو نیست بلکه منظورم حافظه خود داخلی تگ ها هستش .چجوری باید مقدار داخل حافظه تگ ها رو خوند یا مقدار داخل اش رو تغییر داد و سوال دیگه اینکه این حافظه ها چند بیتی اند
با تشکر از مطلب ، و از زحمات تون برای نشر مطالب
نویسنده این مطلب
این تگی که من استفاده کردم :تگ و يا کارت RFID، شامل يک مدار الکترونيکی است زمانی که تگ در نزدیکی کدخوان ( RFID Reader ) قرار می گيرد، میدان مغناطيسی تولید شده توسط کد خوان باعث فعال شدن تگ می گردد. و تگ اقدام به ارسال داده از طریق پالس های راديويی می نماید. در نهايت داده توسط کدخوان دريافت و به یک کامپیوتر یا میکروکنترلر ارسال می گردد.
مشخصات:
فرکانس رادیویی : 125KHZ
نوع تگ: فقط خواندنی , Read Only// پس نمیشه تو این نوع نوشت
ثانیا خود ماژول هم این قابلیت رو نداره ماژول هایی که قابلیت read & write دارند خیلی گرونتره فکر کنم حدود 60 70 تومن
راه اندازی اش هم اونا هم با واحد usart است چیز خیلی سختی نیست.
پس اگر بخواهی رو تگ ها بنویسی با تگی بخری که بشه روش نوشت.
دوما باید خود ماژول هم read & write باشه
سایز استاندارد کارتهای عابربانک
تگ RFID مدل کارتی
اندازه 5.5*8.7 سانتی متر
دارای کد یونیک
جنس بدنه بسیار مقاوم
بسیار سبک و زیبا
من در حالتی از تگ استفاده کردم که sw1 و sw2 ماژول به زمین وصل بودن در این حالت یک کد رشته ای ده رقمی سمت راست رو برام می فرستاد
واگر در حالتی دیگر به کار می بردم کد ده رقمی ممیز دار رو بهم نشون میداد
که جمعا میشه بیست تا کد رشته ای هر کد رشته ای معدل چند بایته؟ ضرب کن جوابتو خودت می فهمی البته به نظر من شاید این طوری باشه