सरल Arduino डिजिटल ओहमीटर सर्किट

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





इस पोस्ट में हम Arduino और 16x2 LCD डिस्प्ले का उपयोग करके एक साधारण डिजिटल ओममीटर सर्किट का निर्माण करने जा रहे हैं। हम उसी अवधारणा का उपयोग करते हुए अन्य संभावित सर्किट विचारों की भी खोज करेंगे।

सर्किट उद्देश्य

इस लेख का आदर्श वाक्य केवल एक ओम मीटर बनाना नहीं है जो आपके मल्टीमीटर के प्रतिरोध को बेहतर ढंग से माप सके।



इस परियोजना का मुख्य उद्देश्य कुछ उपयोगी परियोजनाओं को करने के लिए arduino द्वारा पढ़े गए प्रतिरोध मूल्य का उपयोग करना है, उदाहरण के लिए, आग अलार्म, जहां थर्मिस्टर के प्रतिरोध मूल्य में परिवर्तन को आसानी से पता लगाया जा सकता है या स्वचालित सिंचाई प्रणाली जहां, मिट्टी का प्रतिरोध उच्च माइक्रोकंट्रोलर पानी पंप को गति प्रदान कर सकता है। परियोजनाओं की संभावना आपकी कल्पना तक है।

आइए देखें कि पहले ओम मीटर कैसे बनाया जाता है और फिर हम अन्य सर्किट विचारों पर जाते हैं।



यह काम किस प्रकार करता है

Arduino Ohmmeter सर्किट

सर्किट में Arduino शामिल है आप अपने पसंदीदा Arduino बोर्ड का उपयोग कर सकते हैं, अज्ञात प्रतिरोधक मूल्य को प्रदर्शित करने के लिए 16x2 एलसीडी डिस्प्ले, एलसीडी डिस्प्ले के विपरीत स्तर को समायोजित करने के लिए एक शक्तिशाली नापने का यंत्र। दो प्रतिरोधों का उपयोग किया जाता है, जिनमें से एक को प्रतिरोधक मूल्य और दूसरे को अज्ञात प्रतिरोधक मान के रूप में जाना जाता है।

प्रतिरोध एक एनालॉग फ़ंक्शन है, लेकिन एलसीडी पर प्रदर्शित मूल्य डिजिटल फ़ंक्शन है। इसलिए, हमें डिजिटल रूपांतरण के लिए एनालॉग करने की आवश्यकता है, सौभाग्य से Arduino ने डिजिटल कनवर्टर में 10-बिट एनालॉग बनाया है।

10-बिट एडीसी 1024 असतत वोल्टेज स्तरों को अलग कर सकता है, 5 वोल्ट 2 प्रतिरोधों पर लागू होता है और प्रतिरोधों के बीच वोल्टेज का नमूना लिया जाता है।

कुछ गणितीय गणनाओं का उपयोग करते हुए, नोड पर वोल्टेज ड्रॉप और ज्ञात प्रतिरोध मूल्य को अज्ञात प्रतिरोध मूल्य खोजने के लिए व्याख्या की जा सकती है।

गणितीय समीकरण कार्यक्रम में लिखे गए हैं, इसलिए कोई मैन्युअल गणना करने की आवश्यकता नहीं है, हम एलसीडी डिस्प्ले से प्रत्यक्ष मूल्य पढ़ सकते हैं।

लेखक का प्रोटोटाइप:

Arduino डिजिटल ओहोमीटर प्रोटोटाइप

ओम मीटर के लिए कार्यक्रम:

//-------------Program developed by R.Girish--------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogPin=0
int x=0
float Vout=0
float R=10000 //Known Resistor value in Ohm
float resistor=0
float buffer=0
void setup()
{
lcd.begin(16,2)
lcd.setCursor(0,0)
lcd.print('----OHM METER---')
}
void loop()
{
x=analogRead(analogPin)
buffer=x*5
Vout=(buffer)/1024.0
buffer=(5/Vout)-1
resistor=R*buffer
lcd.setCursor(0,1)
lcd.print('R = ')
lcd.print(resistor)
lcd.print(' Ohm')
delay(3000)
}
//-------------Program developed by R.Girish--------//

नोट: फ्लोट आर = 10000 // ओम में ज्ञात पिंड मूल्य

आप सर्किट में ज्ञात प्रतिरोधक मान को बदल सकते हैं, लेकिन यदि आप ऐसा करते हैं तो कृपया प्रोग्राम में भी मूल्य बदलें।

एक पारंपरिक मल्टीमीटर की तरह, इस Arduino डिजिटल ओममिटर सर्किट में प्रतिरोध को मापने के लिए कुछ रेंज भी हैं। यदि आप अपने मल्टीमीटर में मेगा ओम रेंज में कम मूल्य अवरोधक को मापने की कोशिश करते हैं, तो निश्चित रूप से आपको त्रुटि मान मिलते हैं।

इसी तरह, यह ओममीटर के लिए भी सही है।

यदि आप 1K से 50K ओम तक प्रतिरोध को मापना चाहते हैं, तो 10K ओम ज्ञात प्रतिरोधक पर्याप्त होगा, लेकिन यदि आप मेगा ओम रेंज या कुछ ओम रेंज को मापते हैं तो आपको कुछ कचरा रीडिंग मिलेगी। इसलिए यह आवश्यक है कि ज्ञात प्रतिरोधक के मान को उचित सीमा में बदला जाए।

इस लेख के अगले भाग में, हम ओममीटर के लिए एलसीडी डिस्प्ले सर्किट का अध्ययन करने जा रहे हैं और हम देखेंगे कि सीरियल मॉनिटर में सेंसर वैल्यू (अज्ञात प्रतिरोध) कैसे पढ़ें।

हम प्रोग्राम में थ्रेशोल्ड वैल्यू भी बताएंगे, एक बार जब यह पहले से निर्धारित सीमा को पार कर लेता है, तो अरुडिनो रिले को ट्रिगर करेगा।

सर्किट आरेख:

कार्यक्रम कोड:

//-------------Program developed by R.Girish--------//
float th=7800 // Set resistance threshold in Ohms
int analogPin=0
int x=0
float Vout=0
float R=10000 //Known value Resistor in Ohm
float resistor=0
float buffer=0
int op=7
void setup()
{
Serial.begin(9600)
pinMode(op,OUTPUT)
digitalWrite(op,LOW)
}
void loop()
{
x=analogRead(analogPin)
buffer=x*5
Vout=(buffer)/1024.0
buffer=(5/Vout)-1
resistor=R*buffer
Serial.print('R = ')
Serial.print(resistor)
Serial.println(' Ohm')
if(th>resistor) // if resistance cross below threshold value, output is on, if you want opposite result use '<' //
{
digitalWrite(op,HIGH)
Serial.println('Output is ON')
delay(3000)
}
else
{
digitalWrite(op,LOW)
Serial.println('Output is OFF')
delay(3000)
}
}
//-------------Program developed by R.Girish--------//

ध्यान दें:

ओह में फ्लोट वें = 7800 // सेट प्रतिरोध थ्रेशोल्ड
7800 ओम को अपने मान से बदलें।
• फ्लोट आर = 10000 // ओम में ज्ञात मूल्य रोकनेवाला
अपने ज्ञात अवरोधक मान के साथ 10000 ओम बदलें।
• यदि (th> रोकनेवाला)

कार्यक्रम में यह पंक्ति बताती है कि, यदि सेंसर प्रतिरोध थ्रेशोल्ड वैल्यू आउटपुट से नीचे चला जाता है और इसके विपरीत।

यदि आप रिले को चालू करना चाहते हैं जब सेंसर रीडिंग थ्रेशोल्ड से ऊपर जाता है और इसके विपरीत, बस 'अगर (थ्रेसिस्टर)' को बदलें

सीधे सेंसर (LDR या थर्मिस्टर या कुछ और) के प्रतिरोध को मापने और एक सीमा निर्धारित करके, हम रिले, एलईडी, मोटर और अन्य बाह्य उपकरणों पर नियंत्रण की महान सटीकता प्राप्त कर सकते हैं।

यह तुलनाकर्ताओं से बेहतर है, जहां हम एक संदर्भ वोल्टेज सेट करते हैं और इसी तरह की परियोजनाओं को पूरा करने के लिए एक चर रोकने वाले को नेत्रहीन रूप से मोड़ते हैं।




की एक जोड़ी: सामग्री भंडारण स्तर नियंत्रक सर्किट अगला: 10 एलईडी टैकोमीटर सर्किट