- आवश्यक घटक:
- सर्किट आरेख:
- अरुडिनो यूनो:
- 16x2 एलसीडी:
- प्रतिरोध रंग कोड की अवधारणा:
- Arduino ओम मीटर का उपयोग कर प्रतिरोध की गणना:
- कोड स्पष्टीकरण:
हमें प्रतिरोधों को खोजने के लिए प्रतिरोधों पर रंग कोड पढ़ना मुश्किल है। प्रतिरोध मूल्य खोजने की कठिनाई को दूर करने के लिए, हम Arduino का उपयोग करके एक साधारण ओम मीटर बनाने जा रहे हैं । इस परियोजना के पीछे मूल सिद्धांत एक वोल्टेज डिवाइडर नेटवर्क है। अज्ञात प्रतिरोध का मूल्य 16 * 2 एलसीडी डिस्प्ले पर प्रदर्शित होता है। यह परियोजना Arduino के साथ 16 * 2 एलसीडी डिस्प्ले इंटरफेसिंग का काम भी करती है।
आवश्यक घटक:
- अरुडिनो उनो
- 16 * 2 एलसीडी डिस्प्ले
- पोटेंशियोमीटर (1 किलो ओम)
- प्रतिरोधों
- ब्रेड बोर्ड
- जम्पर के तार
सर्किट आरेख:
अरुडिनो यूनो:
Arduino Uno एक खुला स्रोत माइक्रोकंट्रोलर बोर्ड है जो ATmega328p माइक्रोकंट्रोलर पर आधारित है। इसमें 14 डिजिटल पिन हैं (जिनमें से 6 पिन का उपयोग PWM आउटपुट के रूप में किया जा सकता है), 6 एनालॉग इनपुट, बोर्ड वोल्टेज रेगुलेटर पर आदि। Arduino Uno में 32KB की फ्लैश मेमोरी, SRAM की 2KB और EKROM की 1KB है। यह 16MHz की क्लॉक फ्रीक्वेंसी पर काम करता है। Arduino Uno अन्य उपकरणों के साथ संचार के लिए सीरियल, I2C, SPI संचार का समर्थन करता है। नीचे दी गई तालिका Arduino Uno के तकनीकी विनिर्देश को दर्शाती है।
microcontroller | ATmega328p |
प्रचालन वोल्टेज | 5 वी |
इनपुट वोल्टेज | 7-12 V (अनुशंसित) |
डिजिटल I / O पिन | १४ |
एनालॉग पिंस | ६ |
फ्लैश मेमोरी | 32 केबी |
SRAM | 2KB |
EEPROM | 1 केबी |
घड़ी की गति |
16 मेगाहर्ट्ज |
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 वी |
१६ |
क |
- |
भूमि |
प्रतिरोध रंग कोड की अवधारणा:
प्रतिरोध के मूल्य की पहचान करने के लिए हम नीचे दिए गए सूत्र का उपयोग कर सकते हैं।
R = {(AB * 10 c) { } T%}
कहाँ पे
ए = पहले बैंड में रंग का मूल्य।
बी = दूसरे बैंड में रंग का मूल्य।
सी = तीसरे बैंड में रंग का मूल्य।
टी = चौथे बैंड में रंग का मूल्य।
नीचे दी गई तालिका प्रतिरोधों का रंग कोड दिखाती है।
रंग |
रंग का संख्यात्मक मान |
गुणन कारक (10 c) |
सहिष्णुता मूल्य (टी) |
काली |
० |
१० ० |
- |
भूरा |
1 |
१० १ |
± 1% |
लाल |
२ |
१० २ |
± 2% |
संतरा |
३ |
१० ३ |
- |
पीला |
४ |
१० ४ |
- |
हरा |
५ |
१० ५ |
- |
नीला |
६ |
१० ६ |
- |
बैंगनी |
। |
१० 7 |
- |
धूसर |
। |
१० 8 |
- |
सफेद |
९ |
१० ९ |
- |
सोना |
- |
10 -1 |
± 5% |
चांदी |
- |
10 -2 |
± 10% |
कोई बैंड नहीं |
- |
- |
± 20% |
उदाहरण के लिए, यदि रंग कोड भूरा - हरा - लाल - चांदी है, तो प्रतिरोध का मान इस प्रकार है, ब्राउन = 1 हरा = 5 लाल = 2 रजत = 1 10%
पहले तीन बैंड से, आर = एबी * 10 सी
आर = 15 * 10 +2 आर = 1500 +
चौथा बैंड% 10% की सहनशीलता को दर्शाता है
10% 1500 = 150 + 10 प्रतिशत के लिए, मूल्य 1500 + 150 = 1650 - है - 10 प्रतिशत के लिए, मूल्य 1500 -150 = 1350 150 है
इसलिए वास्तविक प्रतिरोध मूल्य 1350 actual से 1650 can के बीच कहीं भी हो सकता है।
इसे और अधिक सुविधाजनक बनाने के लिए यहां प्रतिरोध रंग कोड कैलकुलेटर है जहां आपको केवल रोकनेवाला पर छल्ले के रंग दर्ज करने की आवश्यकता होती है और आपको प्रतिरोध मूल्य मिलेगा।
Arduino ओम मीटर का उपयोग कर प्रतिरोध की गणना:
इस रेजिस्टेंस मीटर का काम बहुत सरल है और नीचे दिखाए गए सरल वोल्टेज डिवाइडर नेटवर्क का उपयोग करके समझाया जा सकता है।
प्रतिरोधों R1 और R2 के वोल्टेज विभक्त नेटवर्क से, Vout = Vin * R2 / (R1 + R2)
उपरोक्त समीकरण से, हम R2 के मान को घटा सकते हैं
आर 2 = वाउट * आर 1 / (विन - वाउट)
जहाँ R1 = ज्ञात प्रतिरोध
आर 2 = अज्ञात प्रतिरोध
Vin = वोल्टेज Arduino के 5V पिन पर उत्पादित
जमीन के संबंध में R2 पर वोल्टेज = वोल्टेज।
नोट: ज्ञात प्रतिरोध (आर 1) का मूल्य 3.3K but है, लेकिन उपयोगकर्ताओं को इसे उनके द्वारा चुने गए प्रतिरोधक के प्रतिरोध मूल्य के साथ बदलना चाहिए।
इसलिए यदि हमें अज्ञात प्रतिरोध (Vout) में वोल्टेज का मान मिलता है, तो हम अज्ञात प्रतिरोध R2 की आसानी से गणना कर सकते हैं। यहां हमने एनालॉग पिन A0 (सर्किट आरेख देखें) का उपयोग करके वोल्टेज मान वाउट पढ़ा है और उन डिजिटल मूल्यों (0 -1023) को वोल्टेज के रूप में नीचे दिए गए कोड में समझाया गया है।
यदि ज्ञात प्रतिरोध का मान अज्ञात प्रतिरोध से कहीं अधिक या छोटा है, तो त्रुटि अधिक होगी। तो यह ज्ञात प्रतिरोध मूल्य को अज्ञात प्रतिरोध के पास रखने की सलाह दी जाती है।
कोड स्पष्टीकरण:
पूरा Arduino कार्यक्रम और डेमो वीडियो इस परियोजना के लिए इस परियोजना के अंत में दिया जाता है। कोड को छोटे अर्थों में विभाजित किया गया है और नीचे समझाया गया है।
कोड के इस भाग में, हम पिन को परिभाषित करने जा रहे हैं जिस पर 16 * 2 एलसीडी डिस्प्ले Arduino से जुड़ा है। 16 * 2 एलसीडी का आरएस पिन आर्कडिनो के डिजिटल पिन 2 से जुड़ा है। 16 * 2 का सक्षम पिन Arduino के डिजिटल पिन 3 से जुड़ा है। 16 * 2 एलसीडी का डेटा पिन (D4-D7) डिजिटल पिन 4,5,6,7 Arduino से जुड़ा है।
लिक्विडकल्चर एलसीडी (2,3,4,5,6,7); // आरएस, ई, डी 4, डी 5, डी 6, डी 7
कोड के इस भाग में, हम प्रोग्राम में उपयोग किए जाने वाले कुछ चर को परिभाषित कर रहे हैं। विन आर्दीनो के 5V पिन द्वारा प्रदान किया जाने वाला वोल्टेज है। वाउट जमीन के संबंध में रोकनेवाला आर 2 पर वोल्टेज है।
आर 1 ज्ञात प्रतिरोध का मूल्य है। आर 2 अज्ञात प्रतिरोध का मूल्य है।
int विन = 5; // वोल्टेज 5V पिन पर आर्डिनो फ्लोट Vout = 0; // वोल्टेज आउडीनो फ्लोट आर १ = ३३०० पर; // ज्ञात प्रतिरोध फ्लोट आर 2 = 0 का मूल्य; // अज्ञात प्रतिरोध का मूल्य
कोड के इस भाग में, हम 16 * 2 एलसीडी डिस्प्ले को इनिशियलाइज़ करने जा रहे हैं । अलग-अलग सेटिंग्स जैसे स्पष्ट स्क्रीन, कर्सर ब्लिंकिंग पर डिस्प्ले आदि के लिए 16 * 2 एलसीडी डिस्प्ले को कमांड दिए गए हैं।
lcd.begin (16,2);
कोड के इस भाग में, प्रतिरोधक R2 (A0 पिन) पर एनालॉग वोल्टेज को डिजिटल मान (0 से 1023) में परिवर्तित किया जाता है और एक चर में संग्रहीत किया जाता है।
a2d_data = analogRead (A0);
कोड के इस भाग में, डिजिटल वैल्यू (0 से 1023) को आगे की गणना के लिए वोल्टेज में परिवर्तित किया जाता है ।
बफर = a2d_data * विन; Vout = (बफ़र) / 1024.0;
Arduino ऊनो एडीसी (ताकि 0 से पूर्णांक मूल्यों - 2 ^ 10 = 1024 मान) 10 बिट संकल्प के है। इसका अर्थ है कि यह 0 और 5 वोल्ट के बीच 0 और 1023 के बीच पूर्णांक मानों में इनपुट वोल्टेज को मैप करेगा। इसलिए यदि हम anlogValue को (5/1024) में इनपुट करते हैं , तो हमें इनपुट वोल्टेज का डिजिटल मूल्य मिलता है। यहां जानें कि कैसे Arduino में ADC इनपुट का उपयोग करें।
कोड के इस भाग में, अज्ञात प्रतिरोध के वास्तविक मूल्य की गणना प्रक्रिया के अनुसार की जाती है जैसा कि ऊपर बताया गया है।
बफर = वाउट / (विन-वाउट); आर 2 = आर 1 * बफर;
कोड के इस हिस्से में, अज्ञात प्रतिरोध का मूल्य 16 * 2 एलसीडी डिस्प्ले पर मुद्रित होता है।
lcd.setCursor (4,0); lcd.print ("ओम मीटर"); lcd.setCursor (0,1); lcd.print ("आर (ओम) ="); lcd.print (R2);
यह हम Arduino का उपयोग करके अज्ञात प्रतिरोधक के प्रतिरोध की आसानी से गणना कर सकते हैं। यह भी जांचें:
- Arduino फ्रीक्वेंसी मीटर
- Arduino Capacitance मीटर