آردوینو Arduinoمطالب علمی

آموزش گام به گام آردوینو (بخش پنجم : راه اندازی آنالوگ)

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

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

  • برد آردوینو
  • پتانسیومتر 10 کیلو اهمی

مدار

3 عدد سیم را از پتانسیومتر به برد آردوینو وصل کنید. اولین سیم، از یکی از پین های خارجی پتانسیومتر به زمین، دومی از 5 ولت به یکی از پین های خارجی دیگر پتانسیومتر و سومی از ورودی صفر آنالوگ به پین وسطی پتانسیومتر می رود.1 4

شما با چرخاندن محور پتانسیومتر، مقدار مقاومت روی یک طرف wiper را که به پین مرکزی پتانسیومتر وصل شده است، تغییر می دهید. این عمل، ولتاژ پین مرکزی را تغییر می دهد. زمانی که مقاومت بین مرکز و کناره ای که به 5 ولت متصل است به صفر نزدیک می شود (و مقاومت سمت دیگر به 10 کیلو اهم نزدیک می شود) ولتاژ در پین مرکزی به 5 ولت نزدیک می شود. زمانی که مقاومت معکوس می شود، ولتاژدر پین مرکزی به سمت صفر ولت یا زمین می رود. این ولتاژی که شما به عنوان ورودی می خوانید، آنالوگ است.
آردوینو یک مدار داخلی به نام analog-to-digital converter دارد که ولتاژ متغیر را می خواند و آن را به عددی بین 0 تا 1023 تبدیل می کند. زمانی که محور در یک جهت می چرخد، ولتاژ صفر به سمت پین می رود و مقدار ورودی، صفر می شود. زمانی که محور به سمت مخالف می چرخد، ولتاژ پنج به سمت پین می رود و مقدار ورودی 1023 می شود. در این بین analogRead() یک عدد بین صفر تا 1023 را بر می گرداند که با مقدار ولتاژ اعمال شده روی پین متناسب است.

شماتیک

2 4

کد

در کد زیر، تنها کاری که شما باید در تابع setup انجام دهید، شروع ارتباط سریال، با سرعت 9600 بیت داده بر هر ثانیه، بین برد آردوینو و کامپیوتر می باشد. این عمل توسط دستور زیر انجام می شود:

Serial.begin(9600);

بعد در تابع Loop() برنامه، لازم است متغیری را برای ذخیره مقدار مقاومتی که از پتانسیومتر می آید (و عددی بین صفر تا 1023 می باشد و محدوده ای مناسب برای نوع int خواهد بود)، تعریف کنید.

int sensorValue = analogRead(A0);

در انتها، لازم است که این اطلاعات را روی پنجره سریالتان به عنوان مقدار دهدهی (DEC) چاپ کنید. شما می توانید این کار را با دستور Serial.println() در آخرین خط کدتان انجام دهید:

Serial.println(sensorValue, DEC)

اکنون، وقتی Serial Monitor را (با مستقیم کلیک کردن روی دکمه ای که سمت راست دکمه آپلود در بالای برنامه است)، در محیط برنامه نویسی آردوینو باز می کنید، باید رشته ای ثابت از اعداد را در محدوده ی 1023 – 0 بینید، این اعداد مرتبط با موقعیت پتانسیومتر هستند. هنگامی که شما پتانسیومترتان را می چرخانید، اعداد به سرعت تغییر می کنند.

/*
  AnalogReadSerial
  Reads an analog input on pin 0, prints the result to the serial monitor.
  Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.

  This example code is in the public domain.
*/

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(1);        // delay in between reads for stability
}

نویسنده: گروه IRSE

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

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

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

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