پرش به محتوا

آموزش توابع آردوینو – ورودی و خروجی دیجیتال

در تمامی پلتفرم ها (آردوینو) و پردازنده های الکترونیکی، واژه دیجیتال معنا و مفهوم مشخصی دارد که شامل یک داده تک بیت می شود. این داده در رجیستر پورت های فیزیکی ورودی و خروجی دیجیتال میکروکنترلر قرار میگیرد؛ برای فعال کردن یک پایه از میکرو به عنوان خروجی باید رجیستر مربوطه برابر 1 شود تا خروجی فعال و سطح ولتاژ آن پایه به مقدار ولتاژ تغذیه میکرو برسد و برای غیر فعال کردن آن رجیستر مربوطه باید 0 شود یا پایه مورد نظر غیرفعال و سطح ولتاژ آن به صفر ولت نزدیک شود.
آموزش توابع آردوینو

در این آموزش توابع آردوینو به کمک 3 تابع فوق وضعیت رجیستر های ورودی و خروجی دیجیتال میکرو کنترلر را کنترل میکنیم.
جهت شرکت در دوره، آموزش جامع توابع آردوینو – Fanctions کلیک کنید.

      برای رفتن به لیست توابع کلیک کنید

;()digitalRead

شرح:

مقدار را از یک پایه (ورودی خروجی دیجیتال) مشخص ، در قالب صفر و یک می خواند.

ساختار کد دستور:

digitalRead(پایه)

مولفه ها:

پایه: شماره پایه دیجیتالی که می خواهید بخوانید

نتیجه:

صفر(LOW) یا یک (HIGH)

کد نمونه:

این کد مقدار پایه 7  که به عنوان ورودی اعلام شده است را داخل پایه 13 قرار میدهد.

				
					int ledPin = 13;   // متصل به پین دیجیتال 13 LED
int inPin = 7;     // دکمه متصل به پین دیجیتال 7
int val = 0;       //متغیر برای ذخیره مقدار خوانده شده
void setup()
{
pinMode(ledPin, OUTPUT); // پین دیجیتال 13 را به عنوان خروجی تنظیم می کند
pinMode(inPin, INPUT);   // پین دیجیتال 7 را به عنوان ورودی تنظیم می کند
}
void loop()
{
val = digitalRead(inPin);  // پین ورودی را میخواند
digitalWrite(ledPin, val); // را به مقدار متغیر تنظیم می کند LED
}

				
			

یادداشت ها و اخطارها:

اگر پایه 7 به هیچ چیزی وصل نشده باشد ، ()digitalRead میتواند مقدار صفر و یا یک را برگرداند. (این می تواند به طور تصادفی تغییر کند.)

پایه های ورودی آنالوگ می توانند به عنوان پایه های دیجیتال مورد استفاده قرار گیرند که A0  ،  A1 و غیره نام دارند.

      برای رفتن به لیست توابع کلیک کنید

;()digitalWrite

شرح:

مقدار پایه (ورودی خروجی دیجیتال) را صفر (LOW) یا یک (HIGH) قرار دهید. اگر پایه با ()pinMode به عنوان OUTPUT تنظیم شده باشد ، ولتاژ آن روی مقدار متناظر تنظیم می شود: 5 ولت (یا 3.3 ولت روی تابلوهای 3.3 ولت) برای HIGH و 0V (زمین) برای LOW.
اگر پایه به عنوان یک INPUT تنظیم شود ، ()digitalWrite میتواند مقدار یک (HIGH) یا  صفر(LOW) را فعال می کند  که برای کشیدن داخلی در پایه ورودی استفاده میشود . توصیه می شود که ()pinMode را بر روی INPUT_PULLUP تنظیم کنید تا مقاومت داخلی کشش را فعال کنید.

اگر ()pinMode را روی OUTPUT قرار ندهید و یک LED را به یک پین وصل کنید ، هنگام فراخوانی digitalWrite(HIGH) ، ممکن است LED کم نور باشد. اگر ()pinMode خروجی تنظیم نشود، ()digitalWrite مقاومت داخلی را فعال می کند که همان مقاومت کشش است ، که مانند یک مقاومت بزرگ محدود کننده جریان عمل می کند.

ساختار کد دستور:

digitalWrite (مقدار ، پایه)

مولفه ها:

پایه: شماره پایه دیجیتالی که می خواهید مقدار دهی کنید.
مقدار: صفر (LOW) یا یک (HIGH)

      برای رفتن به لیست توابع کلیک کنید

;()pinMode

شرح:

پایه مشخص شده را تنظیم می کند تا به عنوان ورودی یا خروجی رفتار کند.
از نظر آردوینو ، امکان فعال کردن مقاومت های داخلی با حالت  INPUT_PULLUP وجود دارد.

ساختار کد دستور:

pinMode(حالت ، پایه)

مولفه ها:

پایه: شماره پایه ای که شما می خواهید حالت آن را تنظیم کنید.
حالت:
خروجی بودن پایه > OUTPUT
ورودی بودن پایه > INPUT
ورودی بودن پایه همراه با مقاومت کشش بالا > INPUT_PULLUP

کد نمونه:

این کد باعث می شود پایه دیجیتال 13 خروجی شود و آن را به طور متناوب بین HIGH و LOW با سرعت یک ثانیه سوییچ کند.

				
					void setup()
{
pinMode(13, OUTPUT);      // پین دیجیتال 13 را به عنوان خروجی تنظیم می کند
}
void loop()
{
digitalWrite(13, HIGH);       // پین دیجیتال 13 را روشن (یک) کنید
delay(1000);                          // یک ثانیه منتظر بمانید
digitalWrite(13, LOW);        // پین دیجیتال 13 را خاموش (صفر) کنید
delay(1000);                          // یک ثانیه منتظر بمانید
}

				
			

یادداشت ها و اخطارها:

پایه های ورودی آنالوگ می توانند به عنوان پایه های دیجیتال مورد استفاده قرار گیرند که A0  ،  A1 و غیره نام دارند.

      برای رفتن به لیست توابع کلیک کنید

اشتراک گذاری این نوشته

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

شاید این مطالب براتون جذاب باشه!

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

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

تماس با ما

عضویت

عضو سایت هستید؟ برای ورود کلیک کنید

ورود به حساب کاربری