ورودی آنالوگ در Arduino – راهنمای کاربردی
ورودیهای آنالوگ به منظور واردکردن اطلاعات آنالوگ به داخل بردهای دیجیتال استفاده میشوند. در این مطلب میخواهیم با این ورودیها در بردهای معروف Arduino آشنا شویم یا در اصل به مبحث ورودی آنالوگ در Arduino بپردازیم.
فیلم آموزشی ورودی آنالوگ در Ardunio
در خیلی از پروژههای عملی مهندسی برق، لازم است دادههای آنالوگ سنسورها وارد بردهای دیجیتال شوند. برای مثال برای اندازهگیری شدت نور محیط از سنسورهای LDR استفاده میشود. این سنسور یک مقاومت متغیر وابسته به نور محیط است و با تغییر نور محیط مقاومت الکتریکی آن نیز تغییر میکند. برای تبدیل تغییرات مقاومت به تغییرات ولتاژ الکتریکی از مدار مقسم ولتاژ استفاده میشود.
بنابراین مطابق شکل ۱، با تغییر نور محیط ولتاژ دو سر سنسور LDR تغییر پیدا خواهد کرد و ما میتوانیم با اندازهگیری ولتاژ، نور محیط را اندازهگیری کنیم.
تعداد ورودیهای آنالوگ در بردهای مختلف Arduino متفاوت است. برای مثال در آردیونو نوع UNO، فقط ۶ ورودی آنالوگ وجود دارد که در پایین و سمت راست برد قرار گرفته است (شکل ۲).
برای خواندن اطلاعات آنالوگ در نرمافزار Arduino از دستور analogRead استفاده میکنیم. محدوده اندازهگیری ولتاژ عموما بین ۰ تا ۵ ولت و برای برد آردیونو Due ۰ تا ۳.۳ ولت است. همچنین دقت اندازهگیری در اغلب بردهای آردیونو ۱۰ بیت است. یعنی خروجی دستور analogRead اعداد صحیح بین ۰ تا ۱۰۲۳ است. ۰ متناظر با صفر ولت و ۱۰۲۳ متناظر با ۵ ولت است و برای بقیه ولتاژها رابطه خطی برقرار است. البته در برد آردیونو Due میتوان تعداد بیتها را افزایش داده و دادههای آنالوگ را با دقت بالاتری قرائت کرد.
فرض کنید بخواهیم ولتاژ خروجی یک پتانسیومتر را توسط آردیونو Uno بخوانیم و بر روی سریال مانیتور نرمافزار نمایش بدهیم. اتصالات سختافزاری مطابق شکل ۳ زیر برقرار میشود. پایههای ثابت پتانسیومتر به تغذیه ۵ ولت و زمین آردیونو و پایه مشترک نیز به ورودی آنالوگ A0 متصل میشوند.
سپس توسط برنامه زیر دادههای آنالوگ اندازهگیری شده و بر روی سریال مانیتور نمایش داده خواهد شد.
در صورتی که مطلب بالا برای شما مفید بوده است، آموزشها و مطالبی که در ادامه آمدهاند نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای آردوینو Arduino
- آموزش برد آردوینو (Arduino) با انجام پروژههای عملی
- مجموعه آموزشهای مهندسی الکترونیک
- آموزش آردوینو در نرمافزار پروتئوس (برنامهنویسی و شبیهسازی همراه با پیادهسازی چند پروژه)
- تبدیل AC به DC — راهنمای کاربردی
- محدودسازی جریان در یک جهت — راهنمای کاربردی
- کنترل جهت گردش موتور DC — راهنمای کاربردی
^^
سلام استاد
یه سوال الکتروشرعی :
اگه رفرنس را مثلا 2 ولت در نظر بگیریم ایا نباید ولوم یا ldr و دماسنج را هم به همون ولتاژ 2 ولت وصل کنیم .
آخه تو فکرم اینه که مثلا 2 ولت دادیم به ولوم . رفت و دور زدو اومد(میپرسید چی ؟ خب جریان دیگه!) حالا اگه 1 ولتش اومد میفهمیم 50 درصد روشنایی یا نصف طول مسیر ولوم یا مثلا دما 50 در جه است!
پس بایه این دیوایس ها ، هم ولتاژ با ولتاژ مرجع باشند!
درسته یا نه؟
کجای کارم میلنگه؟
ممنون از لطفتون….
با عرض سلام چگونه میتوانم خروجی سنسور انالوگ که یک سنسور القایی است را به میلی متر در اردینو برنامه نویسی کنم؟البته با دقت دهم میلی متر ممنونم
با سلام
ببخشید من در پروژه ای که دارم در برد آردوینو نانو که دارای ۸ ورودی آنالوگ است نیاز به ۱۰ ورودی دارم.
آیا میشود سنسور(فشار) و (دما و رطوبت) را با هم وصل کرد وا با همان برنامه نویسی اجرا کرد؟
سلام
آیا حذف دستور pinMode(inputPin, INPUT); در روتین setup باعث ایجاد اشکالی در عملکرد مدار خواهد شد؟
سلام.
در کل برای ورودیهای آنالوگ ضرورتی ندارد از pinmode استفاده شود و پیشفرض آنها همان ورودی است. ولی بهتر است بنویسیم، چون پینهای آنالوگ اردوینو میتوانند به عنوان پین دیجیتال هم استفاده شوند (با همین دستور pinmode) و ممکن است در برخی بردها پیشفرض پین دیجیتال باشد و لازم باشد با این دستور آن را پیکربندی کرد. همچنین به خوانایی برنامه نیز کمک میکند و سریعتر میتوانیم متوجه شویم که چه پینهایی ورودی و خروجی هستند.
از همراهی شما با مجله فرادرس سپاسگزاریم.
قشنگ بود اما در قسمت کد در خط 3 اون inputPin باید بجاش بنویسین A0
سلام، وقت شما بخیر؛
تشکر از شما، بابت ارائه بازخورد در این رابطه، مطلب بر اساس موردی که شما فرموده بودید مجدداً مورد بازنگری قرار گرفته است.
از اینکه با مجله فرادرس همراه هستید و نظرات ارزشمند خود را با ما در میان میگذارید از شما سپاسگزاریم.