اتصال کلید فشاری به آردوینو

در این جلسه قصد داریم ورودی ها و نحوه خواندن مقدار از ورودی های آردوینو رو خدمت شما دوستان علاقه مند توضیح بدیم در ادامه با یک مثال ساده از کلید فشاری (Push Button) شروع میکنیم.

قطعات مورد نیاز

1_ Arduino (من از آردوینو نانو استفاده کردم )

2_ Led

3_ مقاومت ( 10kو220 )

4_ کلید فشاری ( Push Button )

 

[promotion id=”2809″ style=”horizontal” ]

 

[promotion id=”2807″ style=”horizontal” ]

 

[promotion id=”2805″ style=”horizontal” ]

شکل اتصالات

کلید فشاری آردوینو

کد پروژه

int Data;
void setup() 
{
pinMode(12,INPUT);
pinMode(11,OUTPUT);
}

void loop() 
{
Data = digitalRead(12);
if(Data == 1)
{
digitalWrite(11,HIGH);
}
else if(Data == 0)
{
digitalWrite(11,LOW);
}

}

توضیحات کد

ابتدا یک متغیر به نام Data که از نوع int میباشد تعریف کردیم.

  راه اندازی بازر با بلوک دوینو

با دستور ()pinMode ورودی ها و خروجی ها را مشخص میکنیم ، پین 12 که به کلید فشاری ما متصل است به عنوان ورودی تعریف میشود و پین 11 که به Led متصل است به عنوان خروجی تعریف میشود .کلید فشاری به عنوان یک ورودی تعریف میشود زیرا با فشار دادن آن مقدار 0 یا 1 را برای آردوینو ارسال میشود و آردوینو مقدار را گرفته و یک عمل را انجام میدهد. لازم به ذکر است سنسور ها و پتانسیومتر هم به عنوان ورودی تعریف میشوند .

;()digitalRead : با این دستور اردوینو مقدار را از ورودی دیجیتال گرفته و ان را میخواند ،ما در این پروژه، مقدار ورودی که اردوینو ان را خوانده است  در یک متغیر به نام Data ذخیره کرده ایم.

  آموزش نصب کامپایلر STVD

;()if : دستور if یک دستور شرطی است ، در صورتی که شرط برقرار باشد عمل درون {} انجام میشود و درصورتی که شرط نادرست باشد هیچ عملی صورت نمیگیرد .در پروژه بالا ما از یک شرط (if(Data == 1استفاده کرده ایم ، این شرط بیان میکند درصورتی مقدار خوانده شده از ورودی آردوینو 1 باشد ، عمل (digitalWrite(11,HIGH نجام میشود.

;()else if  : یک دستور شرطی است که در صورت برقرار نبودن if این دستور چک میشود. درپروژه بالا ما ازیک شرط (else if(Data == 0 استفاده کرده ایم ، این شرط بیان میکند دصورتی که مقدار خواننده شده از ورودی اردوینو 0 باشد. عمل (digitalWrite(11,LOW انجام میشود.

کلید فشاری آردوینو

نکته : شاید با خودتون فکر کنید که علت وصل کردن یک مقاومت(10K) به کلید فشاری چیست؟ باید بگم که  این مقاومت ، مقاومت Pull Down گفته میشود .حالا فرض کنید که در حال استفاده از یک میکروکنترلر هستید و یک پین خاص آن را به صورت ورودی تعریف کرده اید. در صورتی که هیچ مقاومت Pull Up یا Pull Down بر روی پین ورودی وجود نداشته باشد و پین توسط شما به GND و یا Vcc متصل نباشد، مقدار دیجیتال این پین که توسط میکروکنترلر خوانده می شود تحت تاثیر نویز و وضعیت پایه های کناری و غیره قرار می گیرد و به طور کلی مقدار خوانده شده قابل پیش بینی نیست.

  راه اندازی رله با بلوک دوینو

کلید فشاری آردوینو

پروژه چراغ چشمک زن با فشار دادن یک کلید

کلید فشاری آردوینو

کد پروژه

int Button;
int i;
void setup() {
pinMode(12,INPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
}

void loop() {
Button = digitalRead(12);
if(Button == 1)
{
for ( i=9; i<=11; i++){
digitalWrite(i , HIGH);
delay(150);
}
for ( i=11; i>=9; i--){
digitalWrite(i , LOW);
delay(150);
}
}

}
tags, , , , , , , , , , , , , , , , , , ,
پروژه چشمک زن با آردوینو
راه اندازی ارتباط سریال آردوینو

برای حمایت از ما! لطفا این مطلب را به اشتراک بگذارید

پست های مرتبط

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

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

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

فهرست
خانه
درباره ما
ارتباط با ما
جستجو