()analogWriteResolution در آردوینو

blog
۱۳۹۶-۰۶-۳۱
2 دقیقه

()analogWriteResolution در آردوینو، یک قسمت الحاقیِ (اضافه‌‌ی) API آنالوگ، برای آردوینو Genuino ،Due و آردینو Zero و MKR1000 است که مقدار رزولوشن تابع ()analogWrite را تنظیم می‌کند. ()analogWriteResolution برای سازگاری (مطابقت) با بردهای مبتنی بر AVR، به‌صورت پیش‌فرض به 8 بیت (مقادیری بین 225-0 را برمی‌گرداند) تنظیم شده است.

آردوینو Due قابلیت‌های سخت‌افزاری زیر را دارد:

  • 12 پین که پیش‌فرض PWMهای 8 بیتی هستند(مانند بردهای مبتنی بر AVR). این‌ها قابل‌تغییر به 12 بیت رزولوشن هستند.
  • 2 پین با DAC (مبدل دیجیتال به آنالوگ) 12 بیتی.

با تنظیم رزولوشنِ write به 12، برای به‌کار انداختن رزولوشن DAC کامل یا تنظیم سیگنال PWM بدون رول اُوِر می‌توانید از ()alnalogWrite با مقادیری بین 0 تا 4095 استفاده کنید.

آردوینو Zero قابلیت‌های سخت‌افزاری زیر را دارد:

  • 10 پین که پیش‌فرض PWMهای 8 بیتی هستند(مانند بردهای مبتنی بر AVR). این‌ها قابل‌تغییر به 12 بیت رزولوشن هستند.
  • 1 پین با DAC (مبدل دیجیتال به آنالوگ) 10 بیتی.

با تنظیم رزولوشنِ write به 10، برای به‌کار انداختن رزولوشن DAC کامل می‌توانید از ()alnalogWrite با مقادیری بین 0 تا 1023 استفاده کنید.

MKR1000 قابلیت‌های سخت‌افزاری زیر را دارد:

  • 4 پین که پیش‌فرض PWMهای 8 بیتی هستند(مانند بردهای مبتنی بر AVR). این‌ها از 8 بیت (پیش‌فرض) قابل‌تغییر به 12 بیت رزولوشن هستند.
  • 1 پین با DAC (مبدل دیجیتال به آنالوگ) 10 بیتی.

با تنظیم رزولوشنِ write به 12 بیت،برای سیگنال PWM می‌توانید از ()alnalogWrite با مقادیری بین 0 تا 4095 استفاده کنید و برای به‌کار انداختن رزولوشن DAC کامل، روی پین DAC، آن را به 10 بیتِ 1024 مقداری تنظیم کنید.

سینتکس (نحو)

(analogWriteResolution(bits

پارامتر

bits: رزولوشن مقادیر استفاده‌شده در تابع ()analogWrite را (به بیت) تعیین می‌کند. این مقادیر می‌توانند از 1 تا 32 باشند. درصورتی‌که رزولوشنی بالاتر یا پایین‌تر از قابلیت‌های سخت‌افزاری بردتان را انتخاب کنید، مقدار استفاده‌شده در ()analogWrite اگر خیلی بالا باشد، کوتاه و یا اگر خیلی پایین باشد، با صفر پر خواهد شد. برای جزئیات بیشتر، نکته‌ی زیر را مشاهده کنید.

خروجی

هیچ (ندارد)

نکته

اگر مقدار ()analogWriteResolution را بالا‌تر(زیادتر) از امکانات برد خود تنظیم (ست) کنید، برد بیت‌های اضافی را دور خواهد انداخت. مثلاً در استفاده از آردوینو Due با (16)analogWriteResolution، روی پین DAC (مبدل دیجیتال به آنالوگ) 12 بیتی، تنها 12 بیت اولِ مقدار فرستاده‌شده به ()analogWrite استفاده می‌شود و 4 بیت آخر، دور انداخته می‌شود.

اگر مقدار ()analogWriteResolution را پایین‌تر (کمتر) از امکانات برد خود تنظیم (ست) کنید، بیت‌های مفقود با صفر پر خواهد شد تا اندازه‌ی موردنیاز سخت‌افزاری را تکمیل کند. مثلاً در استفاده از آردوینو Due با (8)analogWriteResolution، روی پین DAC (مبدل دیجیتال به آنالوگ) 12 بیتی، آردوینو 4 بیت صفر را به مقدار 8 بیتی استفاده‌شده در ()analogWrite اضافه خواهد کرد تا 12 بیت تکمیل شود.

مثال:

 

 

()analogWrite در آردوینو

()analogRead در آردوینو

اطلاعات
2
0
لینک و اشتراک
profile

Yalda

متخصص الکترونیک

علاقه‌مند به یادگیری چیزهای جدید!

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
سعید گفت :
۱۳۹۹-۰۲-۱۲ ۱۷:۴۰

سلام برای تغییر رزولوشن فقط یکبار کافیه که تابع analogWriteResolution() رو در بخش setup صدا بزنیم یا باید هر بار که میخوایم از analogWrite() استفاده کنیم قبلش analogWriteResolution() رو بکار ببریم؟؟

profile
زئوس Zeus گفت :
۱۳۹۹-۰۲-۱۳ ۱۲:۱۷

سلام دوست عزیز
تنها کافیه یک بار این تابع فراخوان بشه و تا زمانی که نخواهید دقت رو تغییر بدید نیازی نیست مجددا این تابع رو صدا بزنید

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله