آموزش مثال ها | اطلاعات پایه | فوت وفن ها | پیوندها
Examples > Basics
این مثال به شما نشان می دهد که چطور با استفاده از پتانسیومتر، ورودی آنالوگ را از محیط فیزیکی بخوانید. پتانسیومتر یک وسیله مکانیکی ساده است که زمانی که محور آن می چرخد، مقدارهای مختلف مقاومت را ایجاد می کند. با عبور ولتاژ از میان پتانسیومتر و به سمت ورودی آنالوگ از روی برد آردوینو، می توانید مقدار مقاومت تولید شده توسط پتانسیومتر را به عنوان یک مقدار آنالوگ اندازه گیری کنید. در این مثال شما می توانید وضعیت پتانسیومترتان را بعد از برقرار کردن ارتباط سریال بین برد آردوینو و کامپیوتر کنترل کنید.
3 عدد سیم را از پتانسیومتر به برد آردوینو وصل کنید. اولین سیم، از یکی از پین های خارجی پتانسیومتر به زمین، دومی از 5 ولت به یکی از پین های خارجی دیگر پتانسیومتر و سومی از ورودی صفر آنالوگ به پین وسطی پتانسیومتر می رود.
برای بزرگ شدن تصویر روی آن کلیک کنید.
این تصویر با استفاده از نرم افرار Fritzingایجاد شده است. برای مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه کنید.
شما با چرخاندن محور پتانسیومتر، مقدار مقاومت روی یک طرف wiper را که به پین مرکزی پتانسیومتر وصل شده است، تغییر می دهید. این عمل، ولتاژ پین مرکزی را تغییر می دهد. زمانی که مقاومت بین مرکز و کناره ای که به 5 ولت متصل است به صفر نزدیک می شود (و مقاومت سمت دیگر به 10 کیلو اهم نزدیک می شود) ولتاژ در پین مرکزی به 5 ولت نزدیک می شود. زمانی که مقاومت معکوس می شود، ولتاژدر پین مرکزی به سمت صفر ولت یا زمین می رود. این ولتاژی که شما به عنوان ورودی می خوانید، آنالوگ است.
آردوینو یک مدار داخلی به نام analog-to-digital converter دارد که ولتاژ متغیر را می خواند و آن را به عددی بین 0 تا 1023 تبدیل می کند. زمانی که محور در یک جهت می چرخد، ولتاژ صفر به سمت پین می رود و مقدار ورودی، صفر می شود. زمانی که محور به سمت مخالف می چرخد، ولتاژ پنج به سمت پین می رود و مقدار ورودی 1023 می شود. در این بین analogRead() یک عدد بین صفر تا 1023 را بر می گرداند که با مقدار ولتاژ اعمال شده روی پین متناسب است.
در کد زیر، تنها کاری که شما باید در تابع setup انجام دهید، شروع ارتباط سریال، با سرعت 9600 بیت داده بر هر ثانیه، بین برد آردوینو و کامپیوتر می باشد. این عمل توسط دستور زیر انجام می شود:
Serial.begin(9600);
بعد در تابع Loop() برنامه، لازم است متغیری را برای
ذخیره مقدار مقاومتی که
از پتانسیومتر می آید (و عددی بین صفر تا 1023 می باشد و محدوده ای مناسب برای
نوع int
خواهد بود)، تعریف کنید.
int sensorValue = analogRead(A0);
در انتها، لازم است که این اطلاعات را روی پنجره سریالتان به عنوان مقدار دهدهی (DEC
)
چاپ کنید. شما می توانید این کار را با دستور
Serial.println()
در آخرین خط کدتان انجام دهید:
Serial.println(sensorValue, DEC)
اکنون، وقتی Serial Monitor را (با مستقیم کلیک کردن روی دکمه ای که سمت راست دکمه آپلود در بالای برنامه است)، در محیط برنامه نویسی آردوینو باز می کنید، باید رشته ای ثابت از اعداد را در محدوده ی 1023 - 0 بینید، این اعداد مرتبط با موقعیت پتانسیومتر هستند. هنگامی که شما پتانسیومترتان را می چرخانید، اعداد به سرعت تغییر می کنند.