توضیحات
تابع analogRead – خواندن انالوگ، مقدار را از پین انالوگ مشخص شده می خواند. برد های آردوینو دارای مبدل های 10 بیتی انالوگ به دیجیتال هستند. به عبارتی اگر ولتاژ ورودی بین 0 تا 5 ولت (یا 3.3 ولت در برد های 3.3) باشد ، ان را به مقادیر صحیح بین 0 تا 1023 واحد ترسیم می کند. در اردوینو Uno ، دقت در خاوندن 5 ولت برابراست با 0.0049 ولت (4.9 میلی ولت) در هر واحد.
برای پین های قابل استفاده ، ولتاژ عملکرد و حداکثر وضوح برای برخی از برد های آردوینو به جدول زیر مراجعه کنید.
Board | Operating voltage | Usable pins | Max resolution |
Uno | 5 Volts | A0 to A5 | 10 bits |
Mini, Nano | 5 Volts | A0 to A7 | 10 bits |
Mega, Mega2560, MegaADK | 5 Volts | A0 to A14 | 10 bits |
Micro | 5 Volts | A0 to A11* | 10 bits |
Leonardo | 5 Volts | A0 to A11* | 10 bits |
Zero | 3.3 Volts | A0 to A5 | 12 bits** |
Due | 3.3 Volts | A0 to A11 | 12 bits** |
MKR Family boards | 3.3 Volts | A0 to A6 | 12 bits** |
* A0 تا A5 روی تابلو برچسب گذاری شده است ، A6 تا A11 به ترتیب در پایه های 4 ، 6 ، 8 ، 9 ، 10 و 12 موجود است.
** وضوح پیش فرض analogRead () برای این تابلوها برای سازگاری 10 بیت است. برای تغییر دادن آن به 12 بیت باید از analogReadResolution () استفاده کنید.
نحوه استفاده
analogRead(pin)
در قسمت pin باید نام پین انالوگی که قرار است خوانده شود.
خروجی تابع
مقدار خوانده شده در پین انالوگ.
مثال
- اگر چه محدوده این عدد بسته به وضوح مبدل انالوگ به دیجیتال متغیر است (بین 0 تا 1023 برای 10 بیت یا 0 تا 4095 برای 12 بیت). نوع داده int
int analogPin = A3; // 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
}
اگر پین ورودی آنالوگ به چیزی متصل نباشد، مقدار بازگردانده شده توسط ()analogRead، طبق چند فاکتور (برای مثال: مقدار دیگر ورودیهای آنالوگ، مقدار نزدیکی دست شما به برد و …) دائم درحال تغییر و نوسان خواهد بود.
نکات مهم
اگر پین آنالوگ به جایی متصل نباشد، خروجی تابع analogRead – خواندن انالوگ نوسان خواهد داشت.