मैं बस कुछ उदाहरण कोड देख रहा था और एक रेखा में आया, मुझे पूरी तरह से समझ में नहीं आता कि इसे क्यों किया जाना चाहिए। मैं समझता हूं कि आप एक अनुरूप मूल्य ले रहे हैं। यह मान स्पष्ट रूप से 0 और 1024 के बीच है? ऐसा क्यों है? 0 और 255 के बीच आउटपुट को मैप करने की आवश्यकता क्यों है? यहां उपयोग किए गए तर्कों का क्या निर्देश है? सवाल में लाइन:Arduino मानचित्र() विधि - क्यों?
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1024, 0, 255);
कोड में हाइलाइट किया गया: उत्तर के लिए बहुत बहुत
created 29 Dec. 2008
Modified 4 Sep 2010
by Tom Igoe
This example code is in the public domain.
*/
// These constants won't change. They're used to give names
// to the pins used:
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}
void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
**// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1024, 0, 255);**
// change the analog out value:
analogWrite(analogOutPin, outputValue);
// print the results to the serial monitor:
Serial.print("sensor = ");
Serial.print(sensorValue);
Serial.print("\t output = ");
Serial.println(outputValue);
// wait 10 milliseconds before the next loop
// for the analog-to-digital converter to settle
// after the last reading:
delay(10);
}
धन्यवाद।
कोई तर्क दे सकता है कि 4 से पूर्णांक विभाजन भी काम करेगा, लेकिन नक्शा() ठीक काम करता है। – Mchl
पकड़ने वाले हाथ पर एक पूर्णांक को 2- –
द्वारा सही-स्थानांतरित कर सकता है यदि उत्पादन 0-2524 के बीच होना चाहिए तो एनालॉग इनपुट 0-1024 क्यों होना चाहिए? –