इस परियोजना में हम ATMEGA8 माइक्रोकंट्रोलर के साथ LDR को इंटरफ़ेस करने जा रहे हैं और इसके साथ ही हम इस क्षेत्र में LIGHT की तीव्रता को माप सकते हैं। ATMEGA8 में, हम प्रकाश की तीव्रता को मापने के लिए 10bit ADC (एनालॉग से डिजिटल रूपांतरण) सुविधा का उपयोग करने जा रहे हैं।
Am LDR एक ट्रांसड्यूसर है जो अपने प्रतिरोध को तब बदलता है जब LIGHT अपनी सतह पर गिरती है। LDR सेंसर विभिन्न आकारों और आकारों में उपलब्ध है।
एलडीआर अर्धचालक सामग्रियों से बने होते हैं ताकि वे अपने प्रकाश संवेदनशील गुणों को सक्षम कर सकें। कई प्रकार की सामग्रियों का उपयोग किया जाता है, लेकिन एक जो लोकप्रिय है वह है कैडमियम सल्फाइड (सीडीएस)। ये LDRs या फोटो REISTORS "फोटो चालकता" के सिद्धांत पर काम करते हैं। अब यह सिद्धांत कहता है कि जब भी LDR की सतह पर प्रकाश गिरता है (इस मामले में) तो तत्व का प्रवाह बढ़ जाता है या दूसरे शब्दों में LDR की रोशनी कम होने पर LDR का प्रतिरोध कम हो जाता है। एलडीआर के लिए प्रतिरोध में कमी की यह संपत्ति हासिल की जाती है क्योंकि यह सतह पर उपयोग किए जाने वाले अर्धचालक सामग्री की संपत्ति है। एलडीआर का उपयोग प्रकाश की उपस्थिति का पता लगाने या प्रकाश की तीव्रता को मापने के लिए किया जाता है ।
उपरोक्त आकृति में दिखाए गए अनुसार LDR के विभिन्न प्रकार हैं और प्रत्येक में अलग-अलग विनिर्देश हैं। आमतौर पर एक LDR में कुल अंधेरे में 1MΩ-2M total, 10-20 में 10-20K 10, 100 LUX में 2-5KUX होगा। एक LDR के LUX ग्राफ का विशिष्ट प्रतिरोध चित्र में दिखाया गया है।
जैसा कि ऊपर की आकृति में दिखाया गया है, सेंसर के दो संपर्कों के बीच प्रतिरोध प्रकाश की तीव्रता के साथ घटता है या सेंसर के दो संपर्कों के बीच चालन बढ़ता है।
अब वोल्टेज में परिवर्तन के प्रतिरोध में इस परिवर्तन को परिवर्तित करने के लिए, हम वोल्टेज विभक्त सर्किट का उपयोग करने जा रहे हैं । इस प्रतिरोधक नेटवर्क में हमारे पास एक निरंतर प्रतिरोध और अन्य चर प्रतिरोध है। जैसा कि चित्र में दिखाया गया है, आर 1 यहां एक निरंतर प्रतिरोध है और आर 2 फोर्स सेंसर है जो प्रतिरोध का काम करता है।
शाखा का मध्यबिंदु मापन के लिए लिया जाता है। जब प्रतिरोध R2 बदल जाता है, तो इसके साथ Vout बदल जाता है। तो इसके साथ हमारे पास एक वोल्टेज है जो वजन के साथ बदलता है।
अब यहां ध्यान देने योग्य बात यह है कि ADC रूपांतरण के लिए नियंत्रक द्वारा लिया गया इनपुट 50µAmp जितना कम है। प्रतिरोध आधारित वोल्टेज विभक्त का यह लोडिंग प्रभाव महत्वपूर्ण है क्योंकि वाउट ऑफ वोल्टेज डिवाइडर से खींची गई वर्तमान में त्रुटि प्रतिशत बढ़ जाता है, अब हमें लोडिंग प्रभाव के बारे में चिंता करने की आवश्यकता नहीं है।
हम यहां क्या करने जा रहे हैं, हम दो प्रतिरोधों को लेने जा रहे हैं और एक विभक्त सर्किट बनाते हैं ताकि 25Volts Vin के लिए, हमें 5Volt Vout मिले। इसलिए हम सभी को वास्तविक इनपुट वोल्टेज प्राप्त करने के लिए कार्यक्रम में "5" के साथ Vout मान को गुणा करना होगा।
अवयव
हार्डवेयर: ATMEGA8, बिजली की आपूर्ति (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16 * 2LCD), 100uF संधारित्र, 100nF संधारित्र (5 टुकड़े), 10xΩ रोकनेवाला, LDR (लाइट डिपेंडेंट रिसिस्टर)।
सोफावेयर : एटम स्टूडियो 6.1, प्रोगिस्प या फ्लैश मैजिक।
सर्किट आरेख और कार्य स्पष्टीकरण
ATMEGA8 के सर्किट पोर्ट में डेटा पोर्ट एलसीडी से जुड़ा है। 16 * 2 एलसीडी में बैक लाइट होने पर सभी में 16 पिन होते हैं, अगर बैक लाइट नहीं है तो 14 पिन होंगे। एक बिजली या वापस प्रकाश पिन छोड़ सकते हैं। अब 14 पिनों में 8 डेटा पिन (7-14 या D0-D7), 2 पावर सप्लाई पिन (1 & 2 या VSS & VDD या gnd & + 5v), कंट्रास्ट कंट्रोल के लिए 3 rd पिन (VEE- नियंत्रण हैं कि पात्रों को कितना मोटा होना चाहिए दिखाया गया है) और 3 नियंत्रण पिन (रुपये और आरडब्ल्यू और ई)
सर्किट में, आप देख सकते हैं कि मैंने केवल दो नियंत्रण पिन लिए हैं। कंट्रास्ट बिट और READ / WRITE का उपयोग अक्सर नहीं किया जाता है, ताकि उन्हें जमीन पर छोटा किया जा सके। यह एलसीडी को कंट्रास्ट और रीड मोड में डालता है। हमें केवल वर्ण और डेटा भेजने के लिए सक्षम और आरएस पिन को नियंत्रित करने की आवश्यकता है।
एलसीडी के लिए कनेक्शन नीचे दिए गए हैं:
पिन 1 या वीएसएस ------------------ ग्राउंड
PIN2 या VDD या VCC ------------ + 5v शक्ति
PIN3 या VEE --------------- जमीन (एक शुरुआत के लिए अधिकतम विपरीत देता है)
PIN4 या RS (पंजीकरण चयन) --------------- UC का PB0
पिन 5 या आरडब्ल्यू (पढ़ें / लिखें) ----------------- जमीन (रीड मोड में एलसीडी लगाता है उपयोगकर्ता के लिए संचार को आसान बनाता है)
PIN6 या E (सक्षम करें) ------------------- uC का PB1
PIN7 या D0 ----------------------------- uC का PD0
पिन 8 या डी 1 ----------------------------- यूसी का पीडी 1
पिन 9 या डी 2 ----------------------------- यूसी का पीडी 2
पिन 10 या डी 3 ----------------------------- यूसी का पीडी 3
पिन 11 या डी 4 ----------------------------- यूसी का पीडी 4
PIN12 या D5 ----------------------------- uC का PD5
पिन 13 या डी 6 ----------------------------- यूसी का पीडी 6
पिन 14 या डी 7 ----------------------------- यूसी के पीडी 7
सर्किट में आप देख सकते हैं कि हमने 8bit संचार (D0-D7) का उपयोग किया है लेकिन यह अनिवार्य नहीं है, हम 4bit संचार (D4-D7) का उपयोग कर सकते हैं लेकिन 4 बिट संचार कार्यक्रम थोड़ा जटिल हो जाता है। इसलिए उपरोक्त तालिका से मात्र अवलोकन से हम एलसीडी के 10 पिन को कंट्रोलर से जोड़ रहे हैं जिसमें 8 पिन डेटा पिन और 2 पिन नियंत्रण के लिए हैं।
R2 के पार वोल्टेज पूरी तरह से रैखिक नहीं है; यह एक शोर होगा। फ़िल्टर कैपेसिटर को विभक्त सर्किट में प्रत्येक प्रतिरोधक पर रखा जाता है जैसा कि चित्र में दिखाया गया है।
ATMEGA8 में, हम PORTC के किसी भी चैनल में एनालॉग इनपुट दे सकते हैं, इससे कोई फर्क नहीं पड़ता कि हम किस चैनल को चुनते हैं। हम PORTC का चैनल 0 या PIN0 चुनने जा रहे हैं। ATMEGA8 में, ADC 10 बिट रिज़ॉल्यूशन का है, इसलिए नियंत्रक Vref / 2 ^ 10 के न्यूनतम परिवर्तन का पता लगा सकता है, इसलिए यदि संदर्भ वोल्टेज 5V है तो हमें हर 5/2 ^ 10 = 5VV के लिए एक डिजिटल आउटपुट वेतन वृद्धि मिलती है। इसलिए इनपुट में प्रत्येक 5mV वेतन वृद्धि के लिए हमारे पास डिजिटल आउटपुट पर एक वेतन वृद्धि होगी।
अब हमें निम्नलिखित शर्तों के आधार पर ADC का रजिस्टर सेट करना होगा:
1. सबसे पहले हमें ADC में ADC सुविधा को सक्षम करना होगा।
2. यहां एडीसी रूपांतरण के लिए अधिकतम इनपुट वोल्टेज प्राप्त होने जा रहा है + 5 वी। इसलिए हम ADC के अधिकतम मान या संदर्भ को 5V तक सेट कर सकते हैं।
3. नियंत्रक में एक ट्रिगर रूपांतरण सुविधा है, जिसका अर्थ है कि एडीसी रूपांतरण बाहरी ट्रिगर के बाद ही होता है, क्योंकि हम नहीं चाहते हैं कि हमें एडीसी के लिए निरंतर फ्री रनिंग मोड में चलाने के लिए रजिस्टरों को सेट करना होगा।
4. किसी भी एडीसी के लिए, रूपांतरण की आवृत्ति (डिजिटल मूल्य के अनुरूप मूल्य) और डिजिटल आउटपुट की सटीकता व्युत्क्रमानुपाती होती है। इसलिए डिजिटल आउटपुट की बेहतर सटीकता के लिए हमें कम आवृत्ति का चयन करना होगा। सामान्य एडीसी घड़ी के लिए हम अधिकतम मूल्य (2) के लिए एडीसी के पूर्व निर्धारित कर रहे हैं। चूंकि हम 1MHZ की आंतरिक घड़ी का उपयोग कर रहे हैं, ADC की घड़ी (1000000/2) होगी।
ये केवल चार चीजें हैं जिन्हें हमें एडीसी के साथ शुरू करने के लिए जानना आवश्यक है।
उपरोक्त सभी चार विशेषताएं दो रजिस्टरों द्वारा निर्धारित हैं,
RED (ADEN): इस बिट को ATMEGA के ADC फीचर को सक्षम करने के लिए सेट किया जाना है।
BLUE (REFS1, REFS0): इन दो बिट्स का उपयोग संदर्भ वोल्टेज (या अधिकतम इनपुट वोल्टेज जिसे हम देने जा रहे हैं) को सेट करने के लिए किया जाता है। चूंकि हम संदर्भ वोल्टेज 5V रखना चाहते हैं, REFS0 को तालिका द्वारा सेट किया जाना चाहिए।
येल्लो (ADFR): इस बिट को ADC के लिए निरंतर (फ्री रनिंग मोड) चलाने के लिए सेट किया जाना चाहिए।
PINK (MUX0-MUX3): ये चार बिट्स इनपुट चैनल को बताने के लिए हैं। चूँकि हम ADC0 या PIN0 का उपयोग करने जा रहे हैं, हमें तालिका के अनुसार बिट्स सेट करने की आवश्यकता नहीं है।
BROWN (ADPS0-ADPS2): ये तीनों बिट्स ADC के लिए प्रीस्कूलर सेट करने के लिए हैं। चूंकि हम 2 का प्रीस्कूलर उपयोग कर रहे हैं, इसलिए हमें एक बिट सेट करना होगा।
DARK GREEN (ADSC): रूपांतरण शुरू करने के लिए ADC के लिए यह बिट सेट है। यह बिट प्रोग्राम में अक्षम किया जा सकता है जब हमें रूपांतरण को रोकने की आवश्यकता होती है।
तो 16x2 एलसीडी स्क्रीन पर LDR के प्रतिरोध के साथ, हम प्रकाश की तीव्रता प्राप्त करने के लिए इसे LUX ग्राफ से मिला सकते हैं ।