ما معمولا با سنسورهای آنالوگ زیاد کار میکنیم.
این وسط ما یه adc داریم.
اساس کار adcها هم ولتاژ vcc هست.

بزرگترین عاملی که در آردوینو adc خطا داره این هستش که ولتاژ vcc که ما روش حساب میکنیم ثابت نیست. وقتی با usb توان آردوینو فراهم میشه ولتاژی که روی پایه VCC (همون 5v) میوفته بین 4.7 تا 5.2 خواهد بود لذا ثابت نیست. و همین عاملی میشه تا adc ما دقیق نباشه.

چجوری این مشکل رو حل کنیم حالا؟
قاعدتا همونجایی که کار رو خراب کرده باید همونجا رو درست کنیم یعنی ولتاز مرجع VCC.
با یه مثال توضیح میدم:
ml8511_uv_hookup.jpg

به این سنسور نگاه کنید سسنور تشخیص فرابنفشه.خروجی این سنسور یه سیگنال آنالوگه.

از پایه خروجیش مستقیم یه سیم به A0 رفته برای خواندن داده سنسور با دقت معمولی Adc
حالا اومده از پایه 3.3 به پایه A1 وصل کرده.میدونید چرا؟
چون میخواسته 3.3 ولت رو اندازه گیری کنه ببینه چه عددی بر میگردونه و بر مبنای اون بیاد تبدیلش رو دقیق کنه.
یه فرمول داره:
UV_Voltage / uvLevel = 3.3 / refLevel
refLevel توی فرمول اون عددی هست که از پایه A1 خونده میشه و مبنای قرار میگیره.
uvLevel خروجی سنسور آنالوگ هست که از پایه A0 خونده میشه.
و در نهایت UV_Voltage که از فرمول به دست میاد عدددقیق مورد نظر ماست.
تمام