ADC چیست؟ چگونه از ADC در آردوینو استفاده کنیم؟

  • نویسنده موضوع نویسنده موضوع abass
  • تاریخ شروع تاریخ شروع

اطلاعات موضوع

درباره موضوع در تاریخ, در دسته آردوینو ایجاد شده و آغاز کننده آن abassمی باشد و موضوع آن: ADC چیست؟ چگونه از ADC در آردوینو استفاده کنیم؟ است. این موضوع تا کنون 85 بازدید کننده و, 0 پاسخ داشته و 0 بار پسندیده شده...
نام دسته آردوینو
نام موضوع ADC چیست؟ چگونه از ADC در آردوینو استفاده کنیم؟
آغاز کننده موضوع abass
تاریخ شروع
پاسخ‌ها
0
بازدیدها
85
پسندها
0
آخرین ارسال توسط abass

abass

کاربر فعال
عضو افتخاری گروه موبایل وتبلت
عضو افتخاری گروه کامپیوتر
عضو افتخاری گروه برنامه نویسی
عضو افتخاری گروه الکترونیک
Jun 7, 2020
436
690
ADC چیست؟ چگونه از ADC در آردوینو استفاده کنیم؟


ADC چیست؟
ADC مخفف مبدل آنالوگ به دیجیتال است. ADC برای تبدیل ولتاژ ورودی آنالوگ به شکل دیجیتال آن استفاده می شود. برای هر میکروکنترلری لازم است که ADC در آن وجود داشته باشد، زیرا همه میکروکنترلرها فقط روی ولتاژ ورودی و خروجی دیجیتال کار می کنند. بنابراین، ADC ولتاژهای آنالوگ را می گیرد و آنها را به دیجیتال تبدیل می کند و به میکروکنترلر می دهد. در برد آردوینو UNO یک ADC 10 بیتی چند کاناله وجود دارد. در اینجا، 10 بیت به این معنی است که ولتاژ ورودی 0-3.3 ولت یا 0-5 ولت به مقادیر دیجیتالی در محدوده 0 تا 1023 نگاشت می شود. در Arduino UNO در مجموع 6 پایه ADC وجود دارد. این پین ها A0، A1، A2، A3، A4 و A5 هستند. برای درک این موضوع به ساده ترین روش، یک مدار با استفاده از یک پتانسیومتر و یک برد آردوینو UNO ایجاد می کنیم. در این مدار از پتانسیومتر برای تامین ولتاژ آنالوگ آردوینو UNO استفاده می کنیم.

شماتیک پین پتانسیومتر


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

در برنامه نویسی آردوینو، از تابع analogRead() برای خواندن و تبدیل ولتاژ آنالوگ به دیجیتال استفاده می کنیم. نحو این است: analogRead (Pin_name). در داخل براکت ها باید پین را از جایی که می خواهید ولتاژ آنالوگ را بخوانید ذکر کنید. در زیر کد مثال خواندن ولتاژ آنالوگ از پتانسیومتر را مشاهده می کنید.

کد آردوینو برای اتصال پتانسیومتر با آردوینو UNO

C:
محتوای بلوک کدها در دسترس شما نیست. برای مشاهده بلوک کدها، وارد انجمن شوید یاثبت نام کنید
کارکرد کد

C:
محتوای بلوک کدها در دسترس شما نیست. برای مشاهده بلوک کدها، وارد انجمن شوید یاثبت نام کنید

ابتدا یک نام متغیر pot_pin ایجاد کنید تا شماره پین را در جایی که پین وسط آن را وصل کرده اید ذخیره کنید

C:
محتوای بلوک کدها در دسترس شما نیست. برای مشاهده بلوک کدها، وارد انجمن شوید یاثبت نام کنید

در تابع void setup() ابتدا pot_Set پین A0 را به عنوان ورودی تنظیم کنید زیرا آردوینو از این پین برای خواندن داده ها از پتانسیومتر استفاده می کند. سپس با استفاده از دستور Serial.begin(96000)، ارتباط سریال را با نرخ باود 9600 شروع کنید. این برای نمایش داده های پتانسیومتر روی نمایشگر سریال ضروری است.
C:
محتوای بلوک کدها در دسترس شما نیست. برای مشاهده بلوک کدها، وارد انجمن شوید یاثبت نام کنید
در تابع void loop() متغیر دیگری به نام pot_data ایجاد کنید تا داده های دریافتی آردوینو از پتانسیومتر را ذخیره کند. برای این منظور از تابع analogRead() استفاده خواهیم کرد.

C:
محتوای بلوک کدها در دسترس شما نیست. برای مشاهده بلوک کدها، وارد انجمن شوید یاثبت نام کنید

داده های پتانسیومتر را روی مانیتور سریال پرینت کنید و در پایان 500 میلی ثانیه تاخیر بدهید.

[H3]پنجره خروجی[/H3]




شما به وضوح می توانید در سریال مانیتور ببینید که ما مقادیر دیجیتالی بین 0 تا 1023 را در سریال مانیتور دریافت می کنیم. پتانسیومتر بین 0 تا 5 ولت وصل می شود. بنابراین، ADC مقادیری بین 0 تا 5 ولت دریافت می کند و آنها را به محدوده 0 تا 1023 تبدیل می کند. فرض کنید ولتاژ ورودی 1 ولت است، بنابراین مقدار دیجیتال معادل آن 204 خواهد بود. شما در مانیتور سریال 204 دریافت خواهید کرد. به طور مشابه، اگر ولتاژ ورودی 2 ولت باشد، مقدار دیجیتال معادل 408 مانیتور سریال را دریافت خواهید کرد. به این ترتیب، تمام مقادیر بین 0 تا 5 ولت به 0 تا 1023 نگاشت می شوند.
 

عقب
بالا