تابع ()analogReadResolution آردوینو
تابع ()analogReadResolution آردوینو جزو توابع ورودی خروجی آنالوگ آردوینو می باشد و به کمک این تابع می توان رزولیشن و وضوح مبدل ADC یعنی مبدل آنالوگ به دیجیتال را بر حسب بیت تنظیم کرد. وضوح مبدل ADC بطور پیش فرض بر روی 10 بیت قرار دارد و در نتیجه اعداد بین 0 تا 1023 را برمی گرداند.
در بردهای آردوینو می توان رزولیشن مبدل ADC را بر روی 10 بیت، 12 بیت، 14 بیت و 16 بیت تنظیم کرد. در نتیجه مبدل ADC در حالت 10 بیت اعداد 0 تا 1023 را برمی گرداند، در حالت 12 بیت اعداد بین 0 تا 4095 را برمی گرداند، در حالت 14 بیت اعداد بین 0 تا 16383 را برمی گرداند و در حالت 16 بیت اعداد بین 0 تا 65535 را برمی گرداند.
استفاده از تابع ()analogReadResolution آردوینو - نحو و سینتکس
تابع ()analogReadResolution آردوینو در برنامه نویسی آردوینو بصورت زیر استفاده می شود:
analogReadResolution(bits)
در عبارت بالا به جای bits می توان اعداد 10، 12، 14، 16 را قرار داد.
مقدار برگشتی از تابع ()analogReadResolution آردوینو
تابع ()analogReadResolution هیچ چیز و مقداری را برنمی گرداند بلکه فقط رزولیشن و وضوح مبدل ADC را تنظیم می کند.
مثال از تابع ()analogReadResolution آردوینو
مثال زیر نحوه استفاده از ADC با رزولوشنهای مختلف را نشان میدهد.
void setup() {
// open a serial connection
Serial.begin(9600);
}
void loop() {
// read the input on A3 at default resolution (10 bits)
// and send it out the serial connection
analogReadResolution(10);
Serial.print("ADC 10-bit (default) : ");
Serial.print(analogRead(A3));
// change the resolution to 12 bits and read A3
analogReadResolution(12);
Serial.print(", 12-bit : ");
Serial.print(analogRead(A3));
// change the resolution to 16 bits and read A3
analogReadResolution(16);
Serial.print(", 16-bit : ");
Serial.print(analogRead(A3));
// change the resolution to 8 bits and read A3
analogReadResolution(8);
Serial.print(", 8-bit : ");
Serial.println(analogRead(A3));
// a little delay to not hog Serial Monitor
delay(100);
}
نکته مهم 1: اگر با استفاده از تابع ()analogReadResolution رزولیشن را بر روی مقداری بالاتر از قابلیتهای بردی که در اختیار دارید تنظیم کنید، برد آردوینو فقط با بالاترین وضوح خود عمل تبدیل آنالوگ به دیجیتال را انجام میدهد و بیتهای اضافی را با صفر پر میکند.
برای مثال، استفاده از UNO R4 با analogReadResolution(16) یک عدد تقریبی ۱۶ بیتی به شما میدهد که ۱۴ بیت اول شامل مقدار واقعی ADC و ۲ بیت آخر با صفر پر شدهاند .
نکته مهم 2: اگر با استفاده از تابع ()analogReadResolution رزولیشن را بر روی مقداری کمتر از قابلیتهای بردی که در اختیار دارید تنظیم کنید، بیتهای کمارزش اضافی که از ADC خوانده میشوند، حذف خواهند شد .
نکته مهم 3: استفاده از وضوح ۱۶ بیتی (یا هر وضوحی بالاتر از قابلیتهای سختافزاری واقعی) به شما این امکان را میدهد که طرحهایی بنویسید که بهطور خودکار دستگاههایی با ADC با وضوح بالاتر را در صورت موجود شدن در بردهای آینده، بدون تغییر حتی یک خط کد، مدیریت کنند.