- आवश्यक घटक:
- सर्किट आरेख:
- 8051 माइक्रोकंट्रोलर:
- 16x2 एलसीडी:
- EM-18 आरएफआईडी रीडर:
- काम और कोड स्पष्टीकरण:
रेडियो फ्रीक्वेंसी आइडेंटिफिकेशन (RFID) RFID कार्ड या टैग में संग्रहीत जानकारी को पढ़ने के लिए रेडियो फ्रीक्वेंसी का उपयोग करता है। इस परियोजना में हम 8051 माइक्रोकंट्रोलर के साथ ईएम -18 आरएफआईडी रीडर इंटरफ़ेस करने जा रहे हैं और 16 * 2 एलसीडी डिस्प्ले पर आरएफआईडी कार्ड नंबर प्रदर्शित करते हैं। इस वायरलेस RF आइडेंटिफिकेशन का उपयोग कई प्रणालियों में किया जाता है जैसे RFID बेस्ड अटेंडेंस सिस्टम, सिक्योरिटी सिस्टम, वोटिंग मशीन आदि। यह प्रोजेक्ट 8051 माइक्रोकंट्रोलर के साथ 16 * 2 एलसीडी के उचित अंतराल के रूप में भी काम करेगा।
आवश्यक घटक:
- 8051 माइक्रोकंट्रोलर
- EM-18 RFID रीडर
- 16 * 2 एलसीडी डिस्प्ले
- आरएफआईडी कार्ड / टैग
- तनाव नापने का यंत्र
- जम्पर के तार
सर्किट आरेख:
8051 माइक्रोकंट्रोलर:
8051 माइक्रोकंट्रोलर एक 8 बिट माइक्रोकंट्रोलर है जिसमें चिप रैम पर 128 बाइट्स, चिप रॉम पर 4K बाइट्स, दो टाइमर, एक सीरियल पोर्ट और चार 8 बिट पोर्ट हैं। 8052 माइक्रोकंट्रोलर माइक्रोकंट्रोलर का एक विस्तार है। नीचे दी गई तालिका में 8051 परिवार के सदस्यों की तुलना दिखाई गई है।
फ़ीचर |
8051 है |
8052 |
ROM (बाइट्स में) |
4K |
K के |
RAM (बाइट्स) |
128 |
256 |
टाइमर |
२ |
३ |
I / O पिंस |
32 |
32 |
सीरियल पोर्ट |
1 |
1 |
बाधा के स्रोत |
६ |
। |
16x2 एलसीडी:
16 * 2 एलसीडी एम्बेडेड अनुप्रयोगों के लिए एक व्यापक रूप से उपयोग किया जाने वाला डिस्प्ले है। यहाँ पिन और 16 * 2 एलसीडी डिस्प्ले के काम करने के बारे में संक्षिप्त विवरण दिया गया है। एलसीडी के अंदर दो बहुत महत्वपूर्ण रजिस्टर हैं। वे डेटा रजिस्टर और कमांड रजिस्टर हैं। कमांड रजिस्टर का उपयोग कमांड भेजने के लिए किया जाता है जैसे स्पष्ट डिस्प्ले, घर पर कर्सर आदि, डेटा रजिस्टर का उपयोग डेटा भेजने के लिए किया जाता है जिसे 16 * 2 एलसीडी पर प्रदर्शित किया जाना है। नीचे दी गई तालिका 16 * 2 एलसीडी का पिन विवरण दिखाती है।
पिन |
प्रतीक |
मैं / ओ |
विवरण |
1 |
वीएसएस |
- |
भूमि |
२ |
Vdd |
- |
+ 5 वी बिजली की आपूर्ति |
३ |
वी |
- |
कंट्रास्ट को नियंत्रित करने के लिए बिजली की आपूर्ति |
४ |
रुपये |
मैं |
RS = 0 कमांड रजिस्टर के लिए, आरएस = 1 डेटा रजिस्टर के लिए |
५ |
आरडब्ल्यू |
मैं |
लिखने के लिए आर / डब्ल्यू = 0, पढ़ने के लिए आर / डब्ल्यू = 1 |
६ |
इ |
मैं / ओ |
सक्षम |
। |
डी ० |
मैं / ओ |
8-बिट डेटा बस (LSB) |
। |
डी 1 |
मैं / ओ |
8-बिट डेटा बस |
९ |
डी 2 |
मैं / ओ |
8-बिट डेटा बस |
१० |
डी 3 |
मैं / ओ |
8-बिट डेटा बस |
1 1 |
डी 4 |
मैं / ओ |
8-बिट डेटा बस |
१२ |
D5 |
मैं / ओ |
8-बिट डेटा बस |
१३ |
डी 6 |
मैं / ओ |
8-बिट डेटा बस |
१४ |
डी 7 |
मैं / ओ |
8-बिट डेटा बस (MSB) |
१५ |
ए |
- |
बैकलाइट के लिए + 5 वी |
१६ |
क |
- |
भूमि |
नीचे दी गई तालिका में अक्सर एलसीडी कमांड कोड का उपयोग किया गया है।
कोड (हेक्स) |
विवरण |
०१ |
स्पष्ट प्रदर्शन स्क्रीन |
06 |
वृद्धि कर्सर (दाएं बदलाव) |
0 ए |
प्रदर्शन, कर्सर पर |
0 सी |
प्रदर्शन, कर्सर बंद |
0 फ |
प्रदर्शन, कर्सर ब्लिंकिंग |
.० |
1 सेंट लाइन की शुरुआत के लिए कर्सर को बल दें |
C0 |
2 एन डी लाइन की शुरुआत के लिए कर्सर को बल दें |
३। |
2 लाइनें और 5 * 7 मैट्रिक्स |
EM-18 आरएफआईडी रीडर:
EM-18 RFID रीडर 125 KHz पर संचालित होता है और यह एक ऑन-चिप एंटीना के साथ आता है और इसे 5V बिजली की आपूर्ति के साथ संचालित किया जा सकता है। यह वीगैंड आउटपुट के साथ सीरियल आउटपुट प्रदान करता है। रेंज लगभग 8-12 सेमी है। धारावाहिक संचार पैरामीटर 9600bps, 8 डेटा बिट्स, 1 स्टॉप बिट हैं। इसके अनुप्रयोगों में प्रमाणीकरण, ई-टोल रोड मूल्य निर्धारण, सार्वजनिक परिवहन के लिए ई-टिकटिंग, उपस्थिति प्रणाली आदि शामिल हैं।
EM-18 RFID रीडर द्वारा प्रदान किया गया आउटपुट 12 अंकों के ASCII प्रारूप में है। 12 अंकों में से पहले 10 अंक कार्ड नंबर होते हैं और अंतिम दो अंक कार्ड नंबर का XOR परिणाम होते हैं। अंतिम दो अंक त्रुटि जांच के लिए उपयोग किए जाते हैं।
उदाहरण के लिए, कार्ड नंबर रीडर से पढ़ा गया 0200107D0D62 है तो कार्ड पर अंकित कार्ड नंबर नीचे होगा।
02 - प्रस्तावना
00107D0D = 1080589 दशमलव में।
62 के लिए XOR मान है (02 XOR 00 XOR 10 XOR 7D XOR 0D)।
इसलिए कार्ड पर नंबर 0001080589 है।
काम और कोड स्पष्टीकरण:
पूरा सी कार्यक्रम और प्रदर्शन वीडियो इस परियोजना के लिए इस परियोजना के अंत में दिया जाता है। कोड को छोटे अर्थों में विभाजित किया गया है और नीचे समझाया गया है।
8051 माइक्रोकंट्रोलर के साथ 16 * 2 एलसीडी इंटरफेसिंग के लिए, हमें पिंस को परिभाषित करना होगा, जिस पर 16 * 2 एलसीडी 8051 माइक्रोकंट्रोलर से जुड़ा है। 16 * 2 एलसीडी का RS पिन P3.7 से जुड़ा है, 16 * 2 का RW पिन P3.6 से जुड़ा है और 16 * 2 का E पिन P3.5 से जुड़ा है। डेटा पिन 8051 माइक्रोकंट्रोलर के पोर्ट 1 से जुड़े हैं।
sbit rs = P3 ^ 7; sbit rw = P3 ^ 6; sbit en = P3 ^ 5;
आगे हमें कुछ कार्यों को परिभाषित करना होगा जो कार्यक्रम में उपयोग किए जाते हैं। विलंब फ़ंक्शन का उपयोग निर्दिष्ट समय विलंब बनाने के लिए किया जाता है। Cmdwrt फ़ंक्शन का उपयोग 16 * 2 एलसीडी डिस्प्ले पर कमांड भेजने के लिए किया जाता है। डेटावार्ट फ़ंक्शन का उपयोग 16 * 2 एलसीडी डिस्प्ले पर डेटा भेजने के लिए किया जाता है। Rxdata फ़ंक्शन का उपयोग सीरियल पोर्ट से डेटा प्राप्त करने के लिए किया जाता है।
शून्य विलंब (अहस्ताक्षरित int); शून्य cmdwrt (अहस्ताक्षरित चार); शून्य डेटावार्ट (अहस्ताक्षरित चार); char rxdata (void);
कोड के इस भाग में हम धारावाहिक संचार के लिए 8051 माइक्रोकंट्रोलर को कॉन्फ़िगर करने जा रहे हैं ।
TMOD रजिस्टर टाइमर 1, मोड 2 (ऑटो पुनः लोड) के लिए 0x20 के साथ लोड किया गया है। SCON रजिस्टर 8 डेटा बिट्स, 1 स्टॉप बिट के लिए 0x50 के साथ लोड किया गया है और सक्षम है। TH1 रजिस्टर प्रति सेकंड 9600 बिट्स की बॉड दर के लिए 0xfd के साथ लोड किया गया है। TR1 = 1 का उपयोग टाइमर शुरू करने के लिए किया जाता है।
टीएमओडी = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1;
कोड के इस भाग में, हम 16 * 2 एलसीडी को कमांड भेज रहे हैं। स्पष्ट डिस्प्ले, इंक्रीमेंट कर्सर जैसे कमांड्स, कर्सर को 1 सेंट लाइन की शुरुआत के लिए मजबूर करते हैं, 16 * 2 एलसीडी डिस्प्ले पर एक के बाद एक कुछ निर्दिष्ट समय देरी के लिए भेजा जाता है।
for (i = 0; i <5; i ++) {cmdwrt (cmd); देरी (1); }
कोड के इस भाग में हम 8051 माइक्रोकंट्रोलर के सीरियल इंटरफ़ेस के माध्यम से EM-18 RFID रीडर का आउटपुट प्राप्त कर रहे हैं और एक चर में संग्रहीत हैं। प्राप्त बाइट्स की संख्या का ट्रैक रखने के लिए गणना का उपयोग किया जाता है। एक बार सभी 12bytes डेटा प्राप्त हो जाने के बाद, हमें इसे 16 * 2 एलसीडी डिस्प्ले पर प्रदर्शित करना होगा। विभिन्न कार्डों को पढ़ने के लिए इस प्रक्रिया को हमेशा के लिए दोहराया जाता है।
जबकि (1) {गिनती = 0; cmdwrt (0xC2); जबकि (गिनती <12) {इनपुट = rxdata (); गिनती ++; } के लिए (i = 0; मैं <12; मैं ++) {डेटावार्ट (इनपुट); देरी (1); } देरी (100); }
कोड के इस भाग में, हम 16 * 2 एलसीडी डिस्प्ले को कमांड भेज रहे हैं । कमांड को 8051 माइक्रोकंट्रोलर के पोर्ट 1 में कॉपी किया जाता है। RS को कमांड लिखने के लिए कम किया जाता है। राइट ऑपरेशन के लिए आरडब्ल्यू को कम किया जाता है। कमांड राइट ऑपरेशन शुरू करने के लिए हाई (लो) पल्स इनेबल (E) पिन पर लगाया जाता है।
शून्य cmdwrt (अहस्ताक्षरित चार x) {P1 = x; rs = 0; आरडब्ल्यू = 0; एन = 1; देरी (1); एन = 0; }
कोड के इस भाग में, हम 16 * 2 एलसीडी डिस्प्ले पर डेटा भेज रहे हैं। डेटा को 8051 माइक्रोकंट्रोलर के पोर्ट 1 में कॉपी किया जाता है। RS को कमांड लिखने के लिए उच्च बनाया जाता है। राइट ऑपरेशन के लिए आरडब्ल्यू को कम किया जाता है। डेटा राइट ऑपरेशन शुरू करने के लिए सक्षम (ई) पिन पर उच्च से निम्न पल्स लागू किया जाता है।
शून्य डेटावार्ट (अहस्ताक्षरित चार y) {P1 = y; rs = 1; आरडब्ल्यू = 0; एन = 1; देरी (1); एन = 0; } इसके अलावा, अन्य माइक्रोकंट्रोलर्स के साथ हमारी सभी आरएफआईडी परियोजनाओं की जांच करें।