آردوینو Arduinoمعرفی و مقایسه

راه اندازی ADC و خواندن ولتاژ آنالوگ با آردوینو‌، دنیای سیگنال‌های آنالوگ

خواندن ولتاژ آنالوگ با آردوینو‌، دنیای سیگنال‌های آنالوگ

آردوینو با راه اندازی ADC این قابلیت را به ما می‌دهد که این سیگنال‌های آنالوگ را اندازه‌گیری کرده و در پروژه‌های خود از آنها استفاده کنیم. در دنیای دیجیتال امروز، هنوز بسیاری از پدیده‌های فیزیکی اطراف ما ماهیت آنالوگ دارند. از دمای هوا و شدت نور گرفته تا موقعیت یک شتاب‌سنج، همگی به صورت پیوسته تغییر می‌کنند. در این پست، به طور کامل با روش خواندن ولتاژ آنالوگ با آردوینو آشنا خواهیم شد.

آنالوگ در مقابل دیجیتال: یک تفاوت کلیدی

قبل از شروع، بیایید تفاوت اصلی سیگنال‌های آنالوگ و دیجیتال را مرور کنیم:

  • سیگنال دیجیتال: تنها دو حالت دارد (۰ یا ۱، روشن یا خاموش)
  • سیگنال آنالوگ: می‌تواند هر مقداری در یک بازه پیوسته داشته باشد

آردوینو برای خواندن سیگنال‌های آنالوگ از پین‌های مخصوصی (معمولاً با پیشوند A مانند A0, A1, …) استفاده می‌کند.

سخت‌افزار مورد نیاز

۱. برد آردوینو

هر برد آردوینو که پین‌های آنالوگ داشته باشد مناسب است:

  • Arduino Uno (دارای ۶ پین آنالوگ)
  • Arduino Nano
  • Arduino Mega
  • و سایر مدل‌ها

۲. پتانسیومتر ۱۰ کیلو اهم

پتانسیومتر یک مقاومت متغیر است که مانند یک “شیر آب” برای ولتاژ عمل می‌کند. با چرخاندن دسته آن، می‌توانیم ولتاژ خروجی را از ۰ تا ۵ ولت تغییر دهیم.

۳. مدار ساده خواندن ولتاژ

circuit

نکته ایمنی: هیچ منبع ولتاژ خارجی به پین‌های آنالوگ آردوینو متصل نکنید! پین‌های آنالوگ آردوینو فقط می‌توانند ولتاژ بین ۰ تا ۵ ولت (یا ۰ تا ۳.۳ ولت در بردهای ۳٫۳ ولتی) را تحمل کنند.

برد آردوینو Arduino Uno R4 Minima

برد آردوینو Arduino Uno R4 Minima

🛒 خرید از ECA

برد آردوینو پرو میکرو Arduino Pro Micro دارای ورودی USB Type-C

برد آردوینو پرو میکرو Arduino Pro Micro دارای ورودی USB Type-C

🛒 خرید از ECA

برد آردوینو نانو Arduino RF-Nano مدل CH340G+NRF24L01

برد آردوینو نانو Arduino RF-Nano مدل CH340G+NRF24L01

🛒 خرید از ECA

 

چگونه آردوینو ولتاژ آنالوگ را می‌خواند؟

مبدل آنالوگ به دیجیتال (ADC)

ADC یا مبدل آنالوگ به دیجیتال یک بخش کلیدی در بسیاری از مدارهای الکترونیکی و میکروکنترلرهاست. این قطعه وظیفه دارد ولتاژ پیوسته‌ی آنالوگ را از سنسورها یا ورودی‌های محیطی دریافت کند و آن را به داده‌ای قابل فهم برای پردازنده تبدیل کند. چون میکروکنترلر فقط می‌تواند اعداد دیجیتال را پردازش کند، ADC پل ارتباطی بین دنیای واقعی (سیگنال‌های آنالوگ) و دنیای دیجیتال محسوب می‌شود.

schematic 1

فرایند کار ADC به این صورت است که ولتاژ ورودی را نمونه‌برداری کرده و بسته به دقت یا رزولوشن آن، آن را به یک مقدار عددی تبدیل می‌کند. در بیشتر بردهای رایج مانند آردوینو Uno، دقت ADC برابر ۱۰ بیت است؛ یعنی مقدار خروجی بین ۰ تا ۱۰۲۳ خواهد بود. مقدار ۰ نشان‌دهنده صفر ولت (یا نزدیک به آن) و مقدار ۱۰۲۳ نشان‌دهنده حداکثر ولتاژ قابل اندازه‌گیری ADC (مثلاً ۵ ولت) است. این تبدیل امکان می‌دهد ولتاژ واقعی را به شکل یک عدد دیجیتال در برنامه بخوانید و پردازش کنید.

تشبیه جالب: ADC مانند یک خط‌کش دیجیتال است که ولتاژ را اندازه می‌گیرد. اگر خط‌کش ما ۱۰۲۴ درجه‌بندی داشته باشد (از ۰ تا ۱۰۲۳)، هر درجه نشان‌دهنده ۰٫۰۰۴۸۸ ولت است (۵ ولت تقسیم بر ۱۰۲۴).

کدنویسی: از خواندن تا نمایش

کد کامل با توضیحات فارسی:

در ابتدای برنامه، قبل از هر کاری، در تابع setup ارتباط سریال بین برد و کامپیوتر راه‌اندازی می‌شود. این کار با دستور زیر انجام می‌شود که سرعت انتقال داده را روی 9600 بیت‌برثانیه تنظیم می‌کند:
بعد از آن چند پیام ابتدایی روی Serial Monitor چاپ می‌شود تا مشخص شود سیستم آماده‌ی دریافت و نمایش داده‌هاست.

در حلقه اصلی برنامه، اولین قدم این است که مقدار ورودی آنالوگ را از پین A0 بخوانید. این مقدار یک عدد خام بین 0 تا 1023 است و در یک متغیر از نوع int ذخیره می‌شود:

برای اینکه این عدد تبدیل به یک مقدار قابل درک برحسب ولت شود، باید یک متغیر float تعریف کنید و از یک رابطه ساده استفاده کنید. در این فرمول، ولتاژ مرجع (معمولاً 5 ولت در بردهای ۵ ولتی) تقسیم بر 1023 شده و سپس در مقدار خام ADC ضرب می‌شود:

اگر ولتاژ مرجع برد شما ۳.۳ ولت باشد، باید مقدار REF_VOLTAGE را تغییر دهید. همین‌طور اگر رزولوشن ADC بردی که استفاده می‌کنید ۱۰ بیت نباشد، مقدار ۱۰۲۳ باید متناسب با تعداد سطوح واقعی ADC اصلاح شود.

در نهایت، مقدار خام ADC و ولتاژ محاسبه‌شده با دستورهای Serial.print و Serial.println روی Serial Monitor چاپ می‌شوند:

وقتی سریال مانیتور IDE را باز کنید، هر نیم‌ثانیه یک‌بار خروجی جدید دریافت خواهید کرد—مقداری که بسته به ورودی آنالوگ تغییر می‌کند و دقیقاً نشان می‌دهد در پین A0 چه ولتاژی وجود دارد.

نسخه پیشرفته‌تر با قابلیت‌های بیشتر:

تنظیمات سریال مانیتور

برای مشاهده نتایج:
۱. آردوینو IDE را باز کنید
۲. به مسیر Tools → Serial Monitor بروید
۳. مطمئن شوید نرخ انتقال (Baud Rate) روی ۹۶۰۰ تنظیم شده است
۴. اکنون باید اعداد را به صورت زنده مشاهده کنید

نکته: می‌توانید از Serial Plotter هم استفاده کنید (Tools → Serial Plotter). این ابزار نمودار زیبایی از تغییرات ولتاژ به شما نشان می‌دهد!

نکات مهم و عیب‌یابی

۱. انتخاب برد مناسب

  • بردهای ۵ ولتی: از 5.0 در فرمول استفاده کنید
  • بردهای ۳٫۳ ولتی: از 3.3 در فرمول استفاده کنید

۲. دقت اندازه‌گیری

  • نویز برق می‌تواند روی دقت تاثیر بگذارد
  • برای افزایش دقت، از میانگین چندین نمونه استفاده کنید
  • از منبع تغذیه با کیفیت استفاده نمایید

۳. مشکلات رایج و راه‌حل‌ها

مشکل راه‌حل
نمایش مقادیر نامنظم اتصالات را بررسی کنید
فقط مقادیر ۰ یا ۱۰۲۳ پتانسیومتر ممکن است خراب باشد
تغییرات ناگهانی از خازن ۰٫۱µF بین پایه وسط و GND استفاده کنید

پروژه‌های عملی پیشنهادی

۱. ساخت ولت‌سنج دیجیتال

با اضافه کردن یک نمایشگر LCD، می‌توانید یک ولت‌سنج قابل حمل بسازید.

۲. کنترل نور LED با پتانسیومتر

با استفاده از مقادیر خوانده شده، می‌توانید روشنایی یک LED را کنترل کنید (PWM).

۳. سیستم هشدار دمایی

با اتصال یک سنسور دمای آنالوگ (مانند LM35)، می‌توانید سیستم نظارت بر دما ایجاد کنید.

جمع‌بندی

خواندن ولتاژ آنالوگ یکی از پایه‌ای‌ترین و مهم‌ترین مهارت‌ها در کار با آردوینو است. با درک صحیح از نحوه کار ADC و تبدیل مقادیر خام به ولتاژ واقعی، می‌توانید انواع سنسورهای آنالوگ را به پروژه‌های خود اضافه کنید.

تمرین پیشنهادی: پتانسیومتر را با یک سنسور نور (LDR) جایگزین کنید و تغییرات نور محیط را اندازه‌گیری نمایید.

آیا تا به حال از قابلیت خواندن ولتاژ آنالوگ در پروژه‌های خود استفاده کرده‌اید؟ تجربیات خود را در بخش نظرات با ما به اشتراک بگذارید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا