ورودی آنالوگ در Arduino:
ورودی های آنالوگ به منظور وارد کردن اطلاعات آنالوگ به داخل بردهای دیجیتال استفاده می شوند.
در این مطلب می خواهیم با این ورودی ها در برد های معروف Arduino آشنا شویم یا در اصل به مبحث ورودی آنالوگ در Arduino بپردازیم.
در خیلی از پروژه های عملی مهندسی برق، لازم است داده های آنالوگ سنسورها وارد برد های دیجیتال شوند.
برای مثال برای اندازه گیری شدت نور محیط از سنسورهای LDR استفاده می شود. این سنسور یک مقاومت متغیر وابسته به نور محیط است و با تغییر نور محیط مقاومت الکتریکی آن نیز تغییر می کند.
برای تبدیل تغییرات مقاومت به تغییرات ولتاژ الکتریکی از مدار مقسم ولتاژ استفاده می شود. بنابراین مطابق شکل 1، با تغییر نور محیط ولتاژ دو سر سنسور LDR تغییر پیدا خواهد کرد و ما می توانیم با اندازه گیری ولتاژ، نور محیط را اندازه گیری کنیم.
شکل 1: اتصال سنسور LDR به برد Arduino
تعداد ورودی های آنالوگ در بردهای مختلف Arduino متفاوت است. برای مثال در آردیونو نوع UNO، فقط 6 ورودی آنالوگ وجود دارد که در پایین و سمت راست برد قرار گرفته است (شکل 2).
شکل 2: پین های ورودی آنالوگ در آردیونو Uno
برای خواندن اطلاعات آنالوگ در نرم افزار Arduino از دستور analogRead استفاده می کنیم. محدوده اندازه گیری ولتاژ عموما بین 0 تا 5 ولت و برای برد آردیونو Due 0 تا 3.3 ولت است. همچنین دقت اندازه گیری در اغلب بردهای آردیونو 10 بیت است.
یعنی خروجی دستور analogRead اعداد صحیح بین 0 تا 1023 است. 0 متناظر با صفر ولت و 1023 متناظر با 5 ولت است و برای بقیه ولتاژها رابطه خطی برقرار است. البته در برد آردیونو Due می توان تعداد بیت ها را افزایش داده و داده های آنالوگ را با دقت بالاتری قرائت کرد.
فرض کنید بخواهیم ولتاژ خروجی یک پتانسیومتر را توسط آردیونو Uno بخوانیم و بر روی سریال مانیتور نرم افزار نمایش بدهیم.
اتصالات سخت افزاری مطابق شکل 3 زیر برقرار می شود. پایه های ثابت پتانسیومتر به تغذیه 5 ولت و زمین آردیونو و پایه مشترک نیز به ورودی آنالوگ A0 متصل می شوند.
شکل 3: اتصال پتانسیومتر به Uno
سپس توسط برنامه زیر داده های آنالوگ اندازه گیری شده و بر روی سریال مانیتور نمایش داده خواهد شد.