در این آموزش توابع آردوینو به کمک 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 و غیره نام دارند.