پرش به محتوا

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

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

;()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 و غیره نام دارند.

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

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

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

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

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

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

تماس با ما

عضویت

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

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