इस ट्यूटोरियल में हम ATMEGA32A माइक्रोकंट्रोलर के साथ एक 4x2 (8 की) टच कीपैड को इंटरफेस करने जा रहे हैं। हम सभी जानते हैं कि कीपैड इलेक्ट्रॉनिक्स इंजीनियरिंग में उपयोग किए जाने वाले सबसे महत्वपूर्ण इनपुट डिवाइसों में से एक है। इस मॉड्यूल में वास्तविक कुंजी नहीं है, लेकिन विशेष रूप से कैपेसिटिव धातु पैड डिज़ाइन किए गए हैं, और ये पैड बहुत संवेदनशील हैं। इसलिए जब कोई व्यक्ति पैड में से किसी एक के संपर्क में आता है, तो संबंधित लूप में कैपेसिटिव परिवर्तन होगा, और मॉड्यूल में नियंत्रण इलेक्ट्रॉनिक द्वारा इस परिवर्तन को महसूस किया जाएगा। स्पर्श की प्रतिक्रिया के रूप में संबंधित पैड आउटपुट पिन उच्च हो जाता है।
आठ कुंजी स्पर्श पैड के लिए हमारे पास आठ आउटपुट होंगे। हालांकि इस मॉड्यूल के साथ अन्य विशेषताएं हैं, हम यहां उनकी चर्चा नहीं करने जा रहे हैं।
अवयव आवश्यक
हार्डवेयर: ATMEGA32 माइक्रोकंट्रोलर, बिजली की आपूर्ति (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16x2LCD), 100uF संधारित्र, 100nF संधारित्र, 1KF अवरोधक (2 टुकड़े), टच कीपैड मॉड्यूल।
सॉफ्टवेयर: Atmel स्टूडियो 6.1 या Atmel स्टूडियो 6.2, progisp या फ़्लैश मैजिक।
सर्किट आरेख और कार्य स्पष्टीकरण
ATMEGA32 के सर्किट पोर्ट में डेटा पोर्ट एलसीडी से जुड़ा है। यहां किसी को फ्यूज बाइट्स को बदलकर, PORTC में ATMT में JTAG संचार को अक्षम करना याद रखना चाहिए, यदि कोई PORTC को सामान्य संचार पोर्ट के रूप में उपयोग करना चाहता है। 16x2 एलसीडी में बैक लाइट होने पर सभी में 16 पिन होते हैं, अगर बैक लाइट नहीं है तो 14 पिन होंगे। एक बिजली या पीछे की हल्की पिंस को छोड़ सकता है। अब 14 पिनों में 8 डेटा पिन (7-14 या D0-D7), 2 पावर सप्लाई पिन (1 & 2 या VSS & VDD या gnd & + 5v), कंट्रास्ट कंट्रोल के लिए 3 rd पिन (VEE- नियंत्रण हैं कि पात्रों को कितना मोटा होना चाहिए दिखाया गया है, और 3 नियंत्रण पिन (रुपये और आरडब्ल्यू और ई)
सर्किट में, आप देख सकते हैं कि मैंने केवल दो नियंत्रण पिन लिए हैं, इससे बेहतर समझ का लचीलापन मिलता है, कंट्रास्ट बिट और READ / WRITE का अक्सर उपयोग नहीं किया जाता है, इसलिए इन्हें जमीन पर छोटा किया जा सकता है। यह एलसीडी को कंट्रास्ट और रीड मोड में डालता है। हमें केवल वर्ण और डेटा भेजने के लिए सक्षम और आरएस पिन को नियंत्रित करने की आवश्यकता है।
एलसीडी के लिए जो कनेक्शन दिए गए हैं, वे नीचे दिए गए हैं:
PIN1 या VSS जमीन पर
PIN2 या VDD या VCC से + 5v पावर
पिन 3 या वीईई को ग्राउंड (शुरुआती के लिए अधिकतम विपरीत देता है)
पिन 4 या आरएस (रजिस्टर चयन) को यूसी के पीडी 6 में
पिन 5 या आरडब्ल्यू (पढ़ें / लिखें) को जमीन पर रखें (रीड मोड में एलसीडी लगाता है उपयोगकर्ता के लिए संचार को आसान बनाता है)
पिन 6 या uC के PD5 के लिए E (सक्षम करें)
पिन 7 या U0 से PBC का P0
PIN8 या U1 के PB1 को D1
PIN9 या U2 के PB2 को D2
पिन 10 या यूसी के पीबी 3 से 3 डी
PIN11 या U4 के PB4 को D4
PIN12 या U5 के PB5 को D5
PIN13 या U6 के PB6 को D6
पिन 14 या U7 के PB7 को D7
सर्किट में आप देख सकते हैं कि हमने 8bit संचार (D0-D7) का उपयोग किया है लेकिन यह अनिवार्य नहीं है, हम 4bit संचार (D4-D7) का उपयोग कर सकते हैं लेकिन 4 बिट संचार कार्यक्रम थोड़ा जटिल हो जाता है।
इसलिए उपरोक्त तालिका का अवलोकन करके हम एलसीडी के 10 पिनों को नियंत्रक से जोड़ रहे हैं जिसमें 8 पिन डेटा पिन और नियंत्रण के लिए 2 पिन हैं।
आगे जाने से पहले, यह जानना जरूरी है कि, कैपेसिटिव मॉड्यूल 2.5 वी के वोल्टेज के लिए काम करता है। और स्पर्श मॉड्यूल द्वारा खींचा गया वर्तमान भी अधिक नहीं है। इसलिए 5 वी से मॉड्यूल के लिए 2.5 वी प्राप्त करने के लिए हम वोल्टेज डिवाइडर सर्किट का उपयोग करने जा रहे हैं।
प्रतिरोधों द्वारा पूर्व में वोल्टेज विभक्त सर्किट को नीचे की आकृति में दिखाया गया है।
अब वोल्टेज विभक्त सर्किट मॉड्यूल और अन्य संदर्भों के लिए कम वोल्टेज प्रदान करता है। जैसा कि चित्र में दिखाया गया है, मध्य बिंदु पर आउटपुट वोल्टेज प्रतिरोधों का एक अनुपात है। तो 5 वी से 2.5 वी प्राप्त करने के लिए हम आर 1 = आर 2 = 1 के so का उपयोग करने जा रहे हैं, इसलिए 5 वी की आपूर्ति वोल्टेज के लिए मिडपॉइंट वोल्टेज जमीन के संबंध में 2.5 वी होगा। डिवाइडर सर्किट से यह वोल्टेज मॉड्यूल से जुड़ा हुआ है। हार्मोनिक्स को फ़िल्टर करने के लिए एक संधारित्र इसके साथ जुड़ा हुआ है, जैसा कि सर्किट आरेख में दिखाया गया है।
टच मॉड्यूल का आउटपुट पोर्ट एटमेगा कंट्रोलर से जुड़ा होता है, इसलिए जब भी किसी पैड को टच किया जाता है तो संबंधित पिन आउटपुट हाई हो जाता है। इस तर्क परिवर्तन को नियंत्रक द्वारा होश में लाया जाता है। नियंत्रक पिन के आधार पर एलसीडी पर अंक दिखाता है, जो उच्च जाता है।
सुरक्षा के रूप में, कोई भी 10K प्रतिरोधों के माध्यम से सभी मॉड्यूल आउटपुट पिंस को जमीन पर खींच सकता है, हालांकि यह अनिवार्य नहीं है।
TOUCH KEAYPAD INTERFACE का कार्य करना नीचे दिए गए C कोड के चरण में बताया गया है।