Arduino - रीडिंग एनालॉग वोल्टेज

यह उदाहरण आपको दिखाएगा कि एनालॉग पिन पर एनालॉग इनपुट को कैसे पढ़ा जाए। 0. इनपुट को एनालॉगरेड () से वोल्टेज में परिवर्तित किया जाता है, और Arduino Software (IDE) के सीरियल मॉनिटर पर प्रिंट किया जाता है।

अवयव आवश्यक

आपको निम्नलिखित घटकों की आवश्यकता होगी -

  • 1 × ब्रेडबोर्ड
  • 1 × Arduino Uno R3
  • 1 × 5K चर रोकनेवाला (पोटेंशियोमीटर)
  • 2 × जम्पर

प्रक्रिया

सर्किट आरेख का पालन करें और ब्रेडबोर्ड पर घटकों को हुक करें जैसा कि नीचे दी गई छवि में दिखाया गया है।

तनाव नापने का यंत्र

एक पोटेंशियोमीटर (या पॉट) एक साधारण इलेक्ट्रो-मैकेनिकल ट्रांसड्यूसर है। यह इनपुट ऑपरेटर से रोटरी या रैखिक गति को प्रतिरोध के परिवर्तन में परिवर्तित करता है। यह परिवर्तन है (या हो सकता है) एक हाई-फाई सिस्टम की मात्रा से एक विशाल कंटेनर जहाज की दिशा में कुछ भी नियंत्रित करने के लिए उपयोग किया जाता है।

जैसा कि हम जानते हैं कि पॉट मूल रूप से एक रिओस्तात के रूप में जाना जाता था (अनिवार्य रूप से एक चर वायरवाउंड रोकनेवाला)। उपलब्ध बर्तनों की विविधता अब काफी आश्चर्यजनक है, और यह शुरुआती (विशेष रूप से) के लिए काम करना बहुत कठिन हो सकता है जो किसी दिए गए कार्य के लिए उपयुक्त है। कुछ अलग पॉट प्रकार, जो सभी एक ही कार्य के लिए उपयोग किए जा सकते हैं, कार्य को कठिन बना देता है।

बाईं ओर की छवि एक पॉट के मानक योजनाबद्ध प्रतीक को दिखाती है। दाईं ओर की छवि पोटेंशियोमीटर है।

स्केच

अपने कंप्यूटर पर Arduino IDE सॉफ्टवेयर खोलें। Arduino भाषा में कोडिंग आपके सर्किट को नियंत्रित करेगा। New पर क्लिक करके एक नया स्केच फाइल खोलें।

Arduino कोड

/*
   ReadAnalogVoltage
   Reads an analog input on pin 0, converts it to voltage, 
   and prints the result to the serial monitor.
   Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
   Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
*/

// the setup routine runs once when you press reset:

void setup() {
   // initialize serial communication at 9600 bits per second:
   Serial.begin(9600);
}

// the loop routine runs over and over again forever:

void loop() {
   // read the input on analog pin 0:
   int sensorValue = analogRead(A0);
   // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
   float voltage = sensorValue * (5.0 / 1023.0);
   // print out the value you read:
   Serial.println(voltage);
}

नोट करने के लिए कोड

नीचे दिए गए प्रोग्राम या स्केच में, आप सेटअप फ़ंक्शन में जो पहली चीज करते हैं, वह धारावाहिक संचार शुरू होता है, 9600 बिट्स प्रति सेकंड, आपके बोर्ड और आपके कंप्यूटर के बीच लाइन के साथ -

Serial.begin(9600);

अपने कोड के मुख्य लूप में, आपको अपने पोटेंशियोमीटर से आने वाले प्रतिरोध मान (जो 0 और 1023 के बीच एक इंट डेटेटाइप के लिए एकदम सही होगा) को स्टोर करने के लिए एक वैरिएबल स्थापित करने की आवश्यकता है -

int sensorValue = analogRead(A0);

मान को 0-1023 से एक सीमा तक बदलने के लिए जो वोल्टेज से मेल खाती है, पिन पढ़ रहा है, आपको एक और चर, एक फ्लोट बनाने और थोड़ी गणना करने की आवश्यकता है। 0.0 और 5.0 के बीच की संख्याओं को मापने के लिए 5.0 को 1023.0 से विभाजित करें और सेंसरवैल्यू द्वारा गुणा करें -

float voltage= sensorValue * (5.0 / 1023.0);

अंत में, आपको इस जानकारी को अपने सीरियल विंडो पर प्रिंट करना होगा। आप अपने अंतिम कोड लाइन में Serial.println () कमांड के साथ ऐसा कर सकते हैं -

Serial.println(voltage)

अब, शीर्ष ग्रीन बार के दाईं ओर आइकन पर क्लिक करके या Ctrl + Shift + M दबाकर Arduino IDE में सीरियल मॉनिटर खोलें।

परिणाम

आपको 0.0 - 5.0 तक की संख्या का एक स्थिर प्रवाह दिखाई देगा। जैसा कि आप पॉट को चालू करते हैं, मान बदल जाएंगे, पिन ए 0 पर वोल्टेज के अनुरूप।