Arduino - उन्नत I / O फ़ंक्शन
इस अध्याय में, हम कुछ उन्नत इनपुट और आउटपुट फ़ंक्शंस सीखेंगे।
analogReference () फ़ंक्शन
एनालॉग इनपुट के लिए उपयोग किए जाने वाले संदर्भ वोल्टेज को कॉन्फ़िगर करता है (यानी इनपुट रेंज के शीर्ष के रूप में उपयोग किया जाने वाला मूल्य)। विकल्प हैं -
DEFAULT - 5 वोल्ट (5V Arduino बोर्ड पर) या 3.3 वोल्ट (3.3V Arduino बोर्ड पर) का डिफ़ॉल्ट एनालॉग संदर्भ
INTERNAL - एक अंतर्निर्मित संदर्भ, ATmega168 या ATmega328 पर 1.1 वोल्ट के बराबर और ATmega8 पर 2.56 वोल्ट (Arduino मेगा पर उपलब्ध नहीं)
INTERNAL1V1 - एक अंतर्निहित 1.1V संदर्भ (केवल Arduino मेगा)
INTERNAL2V56 - एक अंतर्निहित 2.56V संदर्भ (केवल Arduino मेगा)
EXTERNAL - अरेफ पिन (केवल 0 से 5 वी) पर लागू वोल्टेज को संदर्भ के रूप में उपयोग किया जाता है
analogReference () फ़ंक्शन सिंटैक्स
analogReference (type);
type - किसी भी प्रकार का अनुसरण कर सकते हैं (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXBNN)
अरे वी पिन पर बाहरी संदर्भ वोल्टेज के लिए 0 वी से कम या 5 वी से अधिक का उपयोग न करें। यदि आप अरेफ़ पिन पर किसी बाहरी संदर्भ का उपयोग कर रहे हैं, तो आपको कॉल करने से पहले बाहरी संदर्भ को बाहरी संदर्भ में सेट करना होगाanalogRead()समारोह। अन्यथा, आप सक्रिय संदर्भ वोल्टेज (आंतरिक रूप से उत्पन्न) और एरीएफ पिन को कम कर देंगे, संभवतः आपके Arino बोर्ड पर माइक्रोकंट्रोलर को नुकसान पहुंचाएगा।
वैकल्पिक रूप से, आप बाहरी संदर्भ वोल्टेज को 5K रोकनेवाला के माध्यम से AreF पिन से जोड़ सकते हैं, जिससे आप बाहरी और आंतरिक संदर्भ वोल्टेज के बीच स्विच कर सकते हैं।
ध्यान दें कि अवरोधक उस वोल्टेज को बदल देगा जिसका उपयोग संदर्भ के रूप में किया जाता है क्योंकि अरेफ़ पिन पर एक आंतरिक 32K रोकनेवाला होता है। दो वोल्टेज विभक्त के रूप में कार्य करते हैं। उदाहरण के लिए, प्रतिरोधक के माध्यम से लागू किए गए 2.5V में 2.5 * 32 / (32 + 5) = ~ 2.2V क्षेत्र में होगा।
Example
int analogPin = 3;// potentiometer wiper (middle terminal) connected to analog pin 3
int val = 0; // variable to store the read value
void setup() {
Serial.begin(9600); // setup serial
analogReference(EXTERNAL); // the voltage applied to the AREF pin (0 to 5V only)
// is used as the reference.
}
void loop() {
val = analogRead(analogPin); // read the input pin
Serial.println(val); // debug value
}