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

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

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

()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 بیت تکمیل شود.

مثال:

 

 

Description of the analog input pins

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

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

()map

منبع

 

حمایت از Yalda

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

Yalda
Yalda

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

دیدگاه ها

2 دیدگاه

  • سعید
    ۱۲ اردیبهشت ۱۳۹۹

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

    • Zeus ‌
      زئوس Zeus
      ۱۳ اردیبهشت ۱۳۹۹

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

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 10 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک