سلام : تو این مطلب که خیلی وقت پیش میخواستم بزارم ولی قسمت نمیشد، پروژش رو خیلی وقت پیش من انجام دادم ولی…، الان میخوام بزارمش تو سایت، همون طور که میدونید بعضیها! اینجور پروژه ها رو میفروشن ، در ضمن چون مطلب رایگان هستش که حق اعتراض کردن رو نداره، چون قبلا شده که طرف پروژه های سایت رو میره در عمل میبنده و معلوم نیست کجا سوتی داده و میاد جد و آباد ما رو به فحش میبنده، رخ داده این اتفاق که الان دارم میگم، خداییش یه عده خیلی بیشعور هستن، این جور افراد رو باید عین سگ تیغشون بزنن و بعد حالشون رو هم آخر سر بگیرن بعضی شیادها تا …، ولی این پروژه رو میزارم برا بعضی دوستانی که مثل دسته بالا نیستن، امیدوارم این جور پروژه ها مفید باشه براتون و پروژه های بیشتری خودتون انجام بدید.
پروژه RFID با قابلیت حذف و اضافه کردن کارت v3
نسخه های قبلی این پروژه :
پروژه RFID یا همون کارتخوان با آموزش کامل
پروژه RFID یا همون کارتخوان نسخه ۲
مطالب پیشنیاز این پروژه :
اتصال AVR به کامپیوتر از طریق USB با ماژول CP2102 (آموزش کار با ماژول اتطال AVR به کامپیوتر)
برنامه نویسی C
آموزش جامع میکروکنترلر AVR جلسه12 (مقاومت پول دان)
آموزش جامع میکروکنترلر AVR جلسه4 ( آموزش USART مقدمه )
آموزش جامع میکروکنترلر AVR جلسه5 ( آموزش USART )
آموزش جامع میکروکنترلر AVR جلسه6 ( آموزش USART پروژه )
عملکرد این پروژه
خب تو این پروژه اول به ما میگه که یه کارت به RFID نزدیک کنیم، اگه کارت موجود بود که میگه موجود هستش و میگه تو خونه فلان از حافظه قرار داره وگرنه میگه موجو نبود.
این پروژه 2 تا دکمه داره، که یکیش برا رفتن به مد تنظیمات هستش که تو اونجا میتونیم کارتی رو اضافه و یا حذف کنیم و اون یکی دکمه هم برای جابجا شدن بین حالت اضافه کردن کارت و یا حذف کارت هستش و اگه دوباره دکمه تنظیمات رو فشار بدید از مد تنظیمات خارج میشید.
تنها مشکلی که این پروژه داره اینه که اطلاعات تو حافظه EEPROM ذخیره نمیشن که اینم بمونه برای نسخه های بعدی.(هر چند کار خاصی نداره.)
پروژه RFID با AVR با قابلیت حذف و اضافه کردن کارت
کدهای پروژه
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 |
#include <mega32.h> #include <stdlib.h> #include <alcd.h> #define Frequency (long int)8000000 unsigned char BarresiBarabary(char *, char *); void USART_Flush(void); void Setting(void); void Delay(int MilSec); void CheckCard(void); void Transmit( unsigned char data ); void Transmits( unsigned char *data ); unsigned char Buffer[10+1]; #define MaxNumberCard 50 unsigned char Card[50][10] = { // EEPROM {'0','0','0','1','3','5','4','5','9','8'}, // card1 {'0','0','0','1','1','5','7','1','8','6'}, // card2 {'0','0','0','6','7','1','4','5','4','7'}, // card3 {'0','0','0','6','7','1','4','5','6','2'}, // card4 {'0','0','0','6','7','1','4','5','6','9'}, // card5 }; unsigned char NumberDataRicieve=0; unsigned char DataReady = 0, SettingBit = 0; unsigned char Str[5]; int i,j; #define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<DOR) interrupt [USART_RXC] void RX_Complate(void){ unsigned char status,data; status = UCSRA; data = UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { if(NumberDataRicieve>=0 && NumberDataRicieve<=9) { // دوازده بایت دیتا ارسال میشه ولی ما فقط 10 تای اول رو دریافت میکنیم و بدردمون میخوره if(NumberDataRicieve==0) { // خالی کردن آرایه int i; for(i=0; i<10; i++) Buffer[i] = '\0'; } Buffer[NumberDataRicieve] = data; //if(NumberDataRicieve==9) Buffer[10] = '\0'; // نعیین پایان آرایه } NumberDataRicieve++; if(NumberDataRicieve==12) { DataReady = 1; NumberDataRicieve = 0; USART_Flush(); } } } interrupt [EXT_INT0] void SettingInterrupt(void) { SettingBit = !SettingBit; } /* U2X = 0, 1 TX = 0, 1 RX = 0, 1 baud : 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 */ void USART_Init( unsigned char _U2X, unsigned int baud, unsigned char TX, unsigned char RX ) { if(_U2X == 0) { baud = Frequency/baud; baud = baud/16; baud--; } else if(_U2X == 1) { baud = Frequency/baud; baud = baud/8; baud--; } // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: Off // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA = (0 << RXC) | (0 << TXC) | (0 << UDRE) | (0 << FE) | (0 << DOR) | (0 << PE) | (0 << U2X) | (0 << MPCM); // بیت 4 : برا تعیین قطعه مورد نظر (مثلا میکرو) به عنوان دریافت کننده // بیت 7 : با یک کردن این بیت وقفه کامل شدن دریافت فعال میشه UCSRB = (1 << RXCIE) | (0 << TXCIE) | (0 << UDRIE) | (RX << RXEN) | (TX << TXEN) | (0 << UCSZ2) | (0 << RXB8) | (0 << TXB8); // 8Bit : UCSZ2=0, UCSZ1=1, UCSZ0=1 UCSRC = (1 << URSEL) | (0 << UMSEL) | (0 << UPM1) | (0 << UPM0) | (0 << USBS) | (1 << UCSZ1) | (1 << UCSZ0) | (0 << UCPOL); //UBRRH = 0x00; //UBRRL = 51; UBRRH = baud>>8; UBRRL = baud; } /* _INT0 : 0, 1 _INT1 : 0, 1 _INT2 : 0, 1 */ void ExternalInterrupt_Init(unsigned char _INT0, unsigned char _INT1, unsigned char _INT2) { // Interrupt ----------------------------------------------------------------------------------- // (1<<INT0) : فعال کردن وقفه 0 // (1<<ISC01) | (1<<ISC00) : The rising edge of INT0 generates an interrupt request. GICR = (_INT1<<INT1) | (_INT0<<INT0) | (_INT2<<INT2) | (0<<IVSEL) | (0<<IVCE); GIFR = (0<<INTF1) | (0<<INTF0) | (0<<INTF2); MCUCR = (0<<SM2) | (0<<SE) | (0<<SM0) |(0<<ISC11) | (0<<ISC10) | (1<<ISC01) | (1<<ISC00); } void main(void) { // UP/DOWN Button DDRD.4 = 0; PORTD.4 = 0; USART_Init( 0, 9600, 1, 1 ); // USART ExternalInterrupt_Init(1,0,0); #asm("sei") //فعال کردن وقفه سراسری lcd_init(20); lcd_clear(); lcd_puts("Please Near Card"); while (1) { if(DataReady) CheckCard(); if(SettingBit) Setting(); } } void Transmit( unsigned char data ) { // Wait for empty transmit buffer while ( !( UCSRA & (1<<UDRE)) ); // Put data into buffer, sends the data UDR = data; } void Transmits( unsigned char *data ) { int i; for(i=0; data[i]!='\0'; i++) Transmit(data[i]); } void CheckCard(void) { DataReady = 0; lcd_clear(); lcd_puts(Buffer); { int i; for(i=0; i<MaxNumberCard; i++) { if( BarresiBarabary(Buffer,Card[i]) ) { Transmits(Buffer); Transmit('\n'); lcd_gotoxy(11,0); lcd_puts("CARD"); itoa(i+1, Str); lcd_puts(Str); goto Down; } } // کارت پیدا نشده { Transmits("NotFind "); Transmits(Buffer); Transmit('\n'); lcd_gotoxy(0,1); lcd_puts("Not Card Defined!"); } Down: Delay(1000); lcd_gotoxy(0,0); lcd_puts("Please Near Card "); lcd_gotoxy(0,1); lcd_puts(" "); } } void Setting(void) { unsigned char Add_Delete = 0; lcd_clear(); lcd_puts("Add Card"); lcd_gotoxy(0,1); lcd_puts("Please Near Card"); while(SettingBit) { if(PIND.4) { Add_Delete++; if(Add_Delete==2)Add_Delete=0; if(Add_Delete==0) { // Add lcd_gotoxy(0,0); lcd_puts("Add Card "); Delay(100); } else if(Add_Delete==1) { // Delete lcd_gotoxy(0,0); lcd_puts("Delete Card"); Delay(100); } } if(DataReady) { DataReady = 0; lcd_gotoxy(0,2); lcd_puts(Buffer); // نمایش شماره کارت if(Add_Delete==0) { // Add // بررسی این که کارت قبلا تعریف شده بود یا نه for(i=0; i<MaxNumberCard; i++) { if( BarresiBarabary(Buffer,Card[i]) ) { lcd_gotoxy(0,3); lcd_puts("Card is Exist."); Delay(1000); lcd_gotoxy(0,2); lcd_puts(" "); lcd_gotoxy(0,3); lcd_puts(" "); goto Down2; } } // بررسی این که کجای آرایه خالی هستش تا دیتا رو داخلش بریزیم for(i=0; i<MaxNumberCard; i++) { if( Card[i][0] == '\0' ) { for(j=0; j<10; j++) Card[i][j] = Buffer[j]; lcd_gotoxy(0,3); lcd_puts("Card Added."); Delay(1000); lcd_gotoxy(0,2); lcd_puts(" "); lcd_gotoxy(0,3); lcd_puts(" "); goto Down2; } } Down2: } else if(Add_Delete==1) { // Delete // بررسی این که کارت قبلا تعریف شده بود یا نه for(i=0; i<MaxNumberCard; i++) { if( BarresiBarabary(Buffer,Card[i]) ) { // حذف کردن کارت for(j=0; j<10; j++) Card[i][j] = '\0'; lcd_gotoxy(0,3); lcd_puts("Card is Deleted"); Delay(500); lcd_gotoxy(0,2); lcd_puts(" "); lcd_gotoxy(0,3); lcd_puts(" "); goto Down3; } } lcd_gotoxy(0,3); lcd_puts("Card isNot Exist"); Delay(500); lcd_gotoxy(0,2); lcd_puts(" "); lcd_gotoxy(0,3); lcd_puts(" "); Down3: } } } lcd_clear(); lcd_puts("Please Near Card"); } unsigned char BarresiBarabary(char * Str1, char * Str2) { if(Str1[9]==Str2[9] && Str1[8]==Str2[8] && Str1[7]==Str2[7] && Str1[6]==Str2[6] && Str1[5]==Str2[5] && Str1[4]==Str2[4] && Str1[3]==Str2[3] && Str1[2]==Str2[2] && Str1[1]==Str2[1] && Str1[0]==Str2[0]) return 1; else return 0; } void USART_Flush(void) { unsigned char dummy; while ( UCSRA & (1<<RXC) ) dummy = UDR; } void Delay(int MilSec) { int i_Delay, j_Delay, Clock_Delay; Clock_Delay = Frequency/1000; Clock_Delay /= 4; for(i_Delay=0; i_Delay<MilSec; i_Delay++) { for(j_Delay=0; j_Delay<Clock_Delay; j_Delay++); } } |
شماتیک پروژه
توجه : عکس رو کوچیک کردم، روش کلیک کنید و در اندازه اصلی ببینید.
هزینه این مطلب : دعا برای سلامتی و طول عمر رهبر انتقلاب.
فیلم پروژه هم بمونه برا وقتی که من یه گوشی خریدم، چون حال منت کشیدن این و اون رو ندارم.(گوشیشون رو نمیدن و…)
فعلا یا علی.
مهمان
سلام
من میخواستم پروژه شمارش دام رو با استفاده از تگ و ریدر rfid انجام بدم.
میشه این پروژه رو تو خونه با استفاده از اسیلوسکوپ لپ تاب انجام داد یا وسیله دیگه ای هم میخواد؟
نویسنده این مطلب
سلام
این تگ ها بردشون شاید 10cm باشه ( برا برد بیشتر من اطلاعاتی ندارم ) و با این اوضاع بنظرتون برا شمارش دام مناسبه؟
اسکپ؟ نیازی به اسکپ نی؛ لبتاب مگه اسکپ داره؟
قطعات اصلی همین چیزایی هستش که تو شماتیک گزاشتم.
مهمان
طبق سرچ هایی که انجام دادم با استفاده از تگ های الکترونیکی یا همون rfid که به گوش دام میزنن و با استفاده از ریدر تعداد دام رو میشمارن.
نیازی به lc متر نیست؟
برای تست برد به اسیلوسکوپ نیازی نمیشه؟
من تو سرچم دیدم که با استفاده از یه نرم افزار میشه از لپتاب به عنوان اسکپ استفاده کرد.
نویسنده این مطلب
صحیح ولی بحث اینه که اون Reader آیا میتونه در فاصله چند متری از حیوانات، تگی که به گوش حیوان وصله رو بخونه؟… اگه پاسختون خیر هستش، باید دنبال ماژول RFID مناسب نوع استفاده تون بگردید؛ با راهی برای افزایش برد خوندن تگ.
lc متر؟ چرا باید نیاز باشه؟
چرا باید به اسکپ نیاز باشه؟
کارت اسکپ داریم، وصل میشه به pc و در سمت pc هم یه نرم افزار داره برا مانیتورینگ اطلاعات.
مهمان
خب ماژول RFID باید فرکانس بالا (uhf) باشه تا بتونه چند تا تگ رو با هم بخونه و تگ هم باید از نوع اکتیو باشه تا دامنه پاسخ گوییش بیشتر باشه
مهمان
سلام.
پایه های ماژول چه جوری به میکرو وصل میشه .
لطفا راهنماییم کنید.
ممنون
مهمان
سلام بخوام از طریق rf01dپروژه در بازکن انجام بدم راهنمایی میکنید؟
مهمان
سلام ببخشید من نمیخوام lcdبذارم فقط می خوام وقتی کارتو اضافه کرد بعد کارتو زدی یک رله باز بشه خواستم بپرسم رله رو به کدوم پایه وصل کنم و تو برنامه چی اضافه کنم
نویسنده این مطلب
سلام-امکان نوشتن کد وجود نداره.
مهمان
سلام مهدی داداش این برنامه بدون کد ویزارده ؟
میشه لطف کنی با کد ویزارد هم بزاری
نویسنده این مطلب
سلام-کدویزارد؟ باهاش کار نکن.
برو رجیسترها رو یاد بگیر.
مهمان
سلام
آقا مهدی من واسه پروژه Rf01D به کار بردم تعداد خطوط برنامه نزدیک 600 خط هست برنامه تو پروتئوس به خوبی کار میکنه رو برد حذف و اضافه کردن کارت به درستی انجام میشه ولی موقع چک کردن کارت چند باری باید کارت را نردیک کنم تا اجازه باز کردن صادر کنه فک کردم مشکل از برنامه ای هست که نوشتم کد شما را تست کردم همون مشکلا داشت کلا چند بار اول اطلاعات ناقص از RF01d ارسال میکنه به نطر شما مشکل کجاست؟
نویسنده این مطلب
سلام
تو کد نویسی مشکل هستش
خوندن کد
تعداد بایت صحیحی خونده نمیشه از کارت
مهمان
سلام چیلو
((من تنبل نیستم اصلا چیزی بلد نیستم ))
این جمله رو صد بار بنویس برای شروع خوبه
ولی دمت گرم بابت کد از هر جا که کپی کردی
????????
نویسنده این مطلب
سلام.
شعور هم خوب چیزیه
فک کردی مس تو گاوم که کپی کنم.
مهمان
داداش دمت گرم . من مطالبت رو میخونم . مشخصه هیچکدوم کپی نیست و کار خودته . سایتایه دیگه رو باز میکنی اکثرشون حتی به خودشون فشار نیاوردن یه (و) جابجا کننو همه مثل همن . بیشترشونم با google translate ازسایت آردوینو کپی کردن نوشتن
مهمان
سلام
بنده برام سئوال پیش امده ک شما چطور رنگ بک گراند رو تغییر دادید چون من کور رنگی دارم و سفیدی باعث اشک چشمم میشه ممنون میشم اگه راهنماییم کنید
نویسنده این مطلب
سلام
این مربوطه به سایت و نه کدویژن – تو تنضیمات کدویژن که برید یه قسمت احتمالا برا بحث تم مم باید داشته باشه که بشه رنگ متن و احتمالا پسزمینه رو تغییر داد.
مهمان
سلام من تو عمل بستم این پروژه رو منتهی وقتی میخوای کارت رو حذف یا اضافه کنی هی تندتند بین add/delet میچرخه…البته من خودم چون نیازی به حذف کارت نبود با پاک کردن قسمت delet حل کردم ولی تو زحمت بکش خودت یبار دیگه بررسی کن (بااینکه میدونم حسشو نداری هههه)..مممنون بابت مطالب ..خسته نباشی
نویسنده این مطلب
سلام – خوب حدس زدی – متاسفانه حلاوه بر حس – وقتش هم نی – دارم اندروید یاد میگیرم خیر سرم
مهمان
داداش عذر میخوام اگه بخوام بعد اینکه کارت تو حافظه موجود بود یه رله وصل بشه (درب باز کن میشه تقریبا) میدونم خودت کد نمینویسی ولی این سری زحمتشو بکش چون بردم تو همین قسمت مونده
نویسنده این مطلب
امکان کد نویسی وجود نداره متاسفانه.
مهمان
سلام و درود
داداش شما به وسیله یک حلقه ( if ) میتونی این کارو انجام بدی
مهمان
سلام
مطالبی که میزاری فوق العادس
من خیلی نظر نمیزارم جایی چون یکم تنبلم ولی اینجا دلم نیومد همینطوری برم
دمت واقعا گرم
یا علی
مهمان
خیلی ممنون
مهمان
سلام برادر،قسمت بررسی برابری رو واسم توضیح میدی عملکردشو؟؟
نویسنده این مطلب
سلام-برنامه نویسی C رو مطالعه کنید.
مهمان
داداش منم یدونه rfidدرست کردم ولی همون کارتی که ذخیره کردم دوباره وقتی بخوام ذخیره کنم باز هم ذخیره میشه اگه از دستور که تو بروزه استفاده کردی استفاده کنم مشکلش حل مییشه(با بررسی برابری)؟؟؟؟
نویسنده این مطلب
نمیدونم – این میشه برنامه نویسی – منم باید بشینم کل پروژه ام رو بررسی کنم تا بفهمم که چی میگی – که حسش نیست – دادا برو یکم برنامه نویسیتو قوی کن – البته خودم هم باید برم – امروز سر یه سوتی خنده دار تو برنامه نویسی ۵ ساعت الاف بودم
مهمان
اقا مهدی من فقط یه راهنمایی کوچیک نیاز دارم(چجور مدارو برنامه نویسی کنم که همون کارت یک بار تو حافظه ذخیره شه و حافظه رو اشغال نکنه(توeepromذخیرش میکنم)اگه راه حلشو بهم بگی بقیشو حل میکنم)ببخش که سرتو درد میارم
مهمان
سلام داداش
میخوام وقتی تگ زده میشه و تگا شناخت یه موتور به مدت ۵ ثانیه روشن شه و بعد که به میکرو سوییچ خورد قطع بشه میشه راهنمایی کنی؟
نویسنده این مطلب
سلام
کد نوشته نمیشود!
مهمان
سلام
میخوام برای ساخت این پروژه وسایل بخرم. rfid reader از چه مدلی بگیرم که پروژه های دیگه رو هم بیتونم باهاش بی دردسر ببندم. یعنی ههمه چیز داشته باشه دیگه …
میشه مدل و لینکشو بگین
ممنون
نویسنده این مطلب
سلام-شماتیک پروژه رو پیوست کردم.
مهمان
سلام داداش با چه کامپایلری مینویسی؟؟
میخوام بدونم رنگ متن کد و پس زمینه رو چطوری عوض کردی؟
نویسنده این مطلب
سلام-این کدهای رنگی که اینجا میبینی مربوطه به سایت و نه کامپایلر میکرو – وگرنه تو کدویژن این طوری نیست رنگبندی کدها
مهمان
داداش اینم توضیح بدی ممنون میشم.
void Transmits( unsigned char *data ) چرا پیش data ستاره گذاشتی. تو نت گشتم ولی خوب متوجه نشدم.
در ضمن من پروژه رو تو پروتوس تست کردم اصلا عدد 9 با 8 رو نمیخونه .اصلا فکر کنم برای عدد 9ب8 به وقفه interrupt [USART_RXC] void RX_Complate(void) نمیره .
نویسنده این مطلب
سرچت ضعیفه آقا محمد – یکم روش کار کن وگرنه اضیت میشی – این از بابت تیکه، نصیحت و… نمیگم. یه وقت از دستم شاکی نشی.
روش های ارسال متغییر به تابع درc
پروژه رو چطوری تو پروتئوس تست کردی؟ من با پروتئوس کاری ندارم – تو عمل تست کن.
مهمان
من اومدم مقدار NumberDataRicieve رو تو یه قسمت خالی از lcd نمایش دادم با تمام عددا میره تو وقفه interrupt [USART_RXC] void RX_Complate(void) و مقدار NumberDataRicieve و افزایش میده.ولی وقتی عدد 9 یا 8 اصلا NumberDataRicieve افزایش پیدا نمیکنه یعنی اصلا داخل وقفه نمیره .
اینجور که من تست کردم تا وقتی 9و8 میزنی نمیره تو وقفه و اصلا این دوتا عددو تو بافر قرار نمیده.
تو پروتوس هم اومدم همون مدار شمارو بستم به جای ماژول VIRTUAL TERMINAL گزاشتم.
مهمان
شرمنده دیگه تازه کاریم .ممنون بابت جوابا
نویسنده این مطلب
متوجه نشدم.
مهمان
سلام.
داداش این چندتا خطو توضیح بدی ممنون میشم.
#define Frequency (long int)8000000
unsigned char BarresiBarabary(char *, char *);
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
UBRRH = baud>>8;
نویسنده این مطلب
سلام
1) فرکانس رو تعریف کردم و بعد تو پروژه ازش برا راه اندازه ارتباط سریال استفاده کردم.
3) دیتاشیت مگا رو بخونی متوجه میشی – بررسی این که دیتای دریافتی از طریق ارتباط سریال اروری داره یا نه سالمه
4) مقدار نرخ نهایی رو به ریجستر مربوطه دادم – علامت << هم برا بحث شیفت دادن هستش- تو نت آموزشش هستش - شیفت دادن در زبان C
مهمان
مهدی داداش انشا الله زیر سایه پدر مادرت همیشه سلامت باشی.
مهمان
خیر دنیا و اخرت رو ببینی داداش
مهمان
سلام خدا قوت…واقعا دستتون درد نکنه که اینقدر صادقانه و دلسوزانه مطالبتو به اشتراک میذارید…ان شاالله که به هرچی میخواید برسید
مهمان
سلام
ممنون
سایتت عالی
واقعا ممنون که انقدر وقت میذاری و حوصله
یه خبر بد دارم برات.
من از این به بعد خواننده ی سایتت شدم
بیچاره شدی رفت
همش سوالای سخت و دنباله دار میپرسم،بعضی وقتا هم سوالای خیلی آسون که زورت میاد جواب بدی
حالا به مرور بیشتر آشنا میشی و دستت میاد داداش
ماژول RC522 با یوآرت میشه یا باید برم سراغ SPI و …؟
بعد میخوام تو کارت عکس و مشخصات بنویسم چه کنم؟
البته تازه کارما.زیر دیپلم بگو
ممنون
نویسنده این مطلب
سلام
3تا پروتئوکول i2c – spi – usart رو پشتیبانی میکنه – اگه بلدی کتابخونه بنویسی و دیتاشیت بخونی که با هر پروتکول که دوست داشتی کار کن – در غیر این صورت ببین اون میکرو و و زبون و کامپایلری که میخوای کار کنی کتابخونه های موجود براش از چه پروتکولی استفاده کردن.
کارت ها حافظشون بیشترینشون 4کیلو هستش تا جایی که من میدونم که اونم من تو ایران ندیدم تا حالا و فقط 1 کیلو دیدم – که اونم کل 1کیلو رو نمیتونی اطلاعات ذخیره کنی! حدود 800 بایت داری!
مهمان
سلام من یه پروژه دارم که میخوام به عنوان ریدر و رایتر تگ مایفر ازش استفاده کنم….سوال اول اینکه این rf01d برای این نوع تگ ها قابل استفاده هستن؟ سوال دوم اینکه این برنامه ای که بالا نوشتین قابلیت اضافه کردن اطلاعات به کارت را داره؟ مثلا وقتی میری تو تنظیمات کارت بتونی اطلاعات شخص را بریزی تو کارت…
نویسنده این مطلب
سلام
این مازولی نیست که میخوای – اونی که میخوای مطلبش رو چند رو ز دیگه میزارم تو سایت – الان دارم مطالبش رو آماده میکنم و مطلبش رو کم کم مینویسم.
مهمان
داش خیلی پیچوندی که یه توضیح میدادی.
نویسنده این مطلب
کجاش رو متوجه نشدی و توضیح میخوای بدم؟
فقط نگو کلش رو متوجه نشدی که حال توضیح دادن کلش رو ندارم جان داش
مهمان
اقا مهدی سلام
دمت گرم
فقط انگار ی ذره اعصابت خورده ها
داداش ی چیزی
اخر متن رهبر انقلاب رو اشتباه نوشتی
مث همیشه عالی
بازم دمت گرم یاعلی
نویسنده این مطلب
والا خیلی وقت پیش میخواستم اینو بگم – هر دفه گفتم ولش کن – ولی آدم هم صبری داره.
جان داش حس تصحیحش رو ندارم)
فدای چشات داش – مهم نیته – غلط املایی و اشتباه تایپی مهم نیست(سازمان ملی تنبل ها