()analogRead
קוראת ערך מכניסה אנלוגית שציינתם. כרטיסי Arduino כוללים מספר ממירי ADC שהם ממירים מאנלוגי לדיגיטלי. הממירים הם בעלי רזולוציה של 10bit. מה שזה אומר זה שמתח הכניסות (בין 0 ל-5V) מתורגם למספר בין 0 ל-1023. ההמרה מספקת רזולוציה של 5V חלקי 1023, שזה 0.0049V או 4.9mV לכל יחידה. אפשר להשפיע על מתח הכניסה והרזולוציה בעזרת פונקציה ()analogReference
.קריאת ערך אנלוגי לוקח כ-100 מיקרושניות (0.0001 שניה), מה שאומר שהקצב המקסימלי של קריאות אנלוגיות הוא כ-10 אלף פעם בשניה.
תחביר
- קוד: בחר הכל
analogRead(pin);
פרמטרים:
pin - מספר של הקו אנלוגי ממנו תרצו לקרוא את הערך
הפונקציה מחזירה מספר בין 0 ל-1023.
שימו לב:
אם קו האנלוגי ממנו אתם קוראים את הערך לא מחובר לכלום, הערך שמוחזר מפונקציית
()analogRead
ישתנה בהתאם להרבה מאוד פרמטרים (כמו למשל מתחים על הקווים הקרובים, קרבה של היד, רעשים אלקטרומגנטיים בסביבה וכו').דוגמה
- קוד: בחר הכל
int analogPin = 3; // potentiometer wiper (middle terminal) connected to analog pin 3
// outside leads to ground and +5V
int val = 0; // variable to store the value read
void setup()
{
Serial.begin(9600); // setup serial
}
void loop()
{
val = analogRead(analogPin); // read the input pin
Serial.println(val); // debug value
}
ראו גם:
()analogReference()analogReadResolution
מדריך: תיאור של הקווים האנלוגיים - TODO
פירוט שפת תכנות לסביבת Arduino
עמוד זה הוא תרגום של ()analogRead לפי רישיון Creative Commons Attribution-ShareAlike 3.0.