- ابزارآلات و آهنربا
-
ابزارآلات
- ابزار اندازه گیری (مولتیمتر، کولیس و . . .)
- ابزار سوراخکاری (مته، سه نظام، چهار نظام، پنج نظام و . . .)
- ابزار و تجهیزات کار (پیچ گوشتی، انبردست، سیمچین، پنس و . . .)
- برد بورد، فیبر خام و سوراخدار (فیبر مدار چاپی و PCB)
- پیچ و اسپیسر (پیچ و مهره رباتیک و اسپیسر پلاستیکی و فلزی)
- سیم و کابل (سیم افشان، فلت، باندی، کابل شارژ، پرینتر، و . . .)
- لحیمکاری (هویه، نوک هویه، پایه هویه، سیم لحیم، روغن لحیم و . . . )
- منبع تغذیه، باتری و جاباتری (باتری قلمی، نیم قلمی، کتابی و . . . )
-
ابزارآلات
- برد هوشمند
- پرینتر سه بعدی
- رباتیک و پروازی
- ماژول
- قطعات الکترونیک
- کیت الکترونیکی و انواع جعبه
- موتور
- اصناف مختلف
آموزش 0 تا 100 آردوینو؛ قسمت سوم
ارسال توسط
فروشگاه بهنام رباتیک
در تاریخ 2022/12/05
دیدگاهها برای آموزش 0 تا 100 آردوینو؛ قسمت سوم بسته هستند
در قسمت سوم از سری مطالب آموزش 0 تا 100 آردوینو میخواهیم نحوه خاموش و روشن کردن LED با آردوینو با استفاده از یک دکمه فشاری را آموزش دهیم. برای این کار لازم است با مفاهیم ورودی و خروجی دیجیتال در آردوینو آشنا شوید و چگونگی استفاده از آنها را بیاموزید؛ پس با بهنام رباتیک همراه باشید.
اگر دکمه بالای برد بورد را فشار دهید، LED روشن میشود و اگر دکمه پایینی را فشار دهید، آن را خاموش خواهید کرد.
آرایش برد بورد
شکل و ظاهر کلیدها به شکل مربعی طراحی شدهاند تا به راحتی بر روی برد بورد قرار گیرند اما بر خلاف آنچه که به نظر میآید، اتصالات داخلی این کلیدها به صورت ضربدری هستند. علت این است که اتصالات طرفین کلید در دورترین حالت ممکن باشند تا دچار اتصال خارجی نشوند.
به یاد داشته باشید که LED باید در جهت مناسب بوده و پایه کوچک آن در سمت راست باشد.
نحوه عملکرد کلید فشاری
کلیدها ابزار بسیار سادهای هستند. وقتی شما یک دکمه یا اهرم را فشار میدهید، آن وسیله پایههای متصل به خود را به یکدیگر متصل میکند تا جریان الکتریکی در آنها جاری شود. دکمههای فشاری مورد استفاده در این آزمایش دارای 4 عدد اتصال میباشند که کمی گیجکننده است.
در واقع این کلیدها دارای دو عدد اتصال هستند. پایههای B و C با یکدیگر و پایههای A و D با یکدیگر از درون اتصال دارند. علت اصلی این است که کلیدها دارای چهار پایه هستند تا به راحتی و توازن بر روی برد بورد قرار گیرند.
برنامه آردوینو
برنامه زیر را به برد آردوینو منتقل کنید. با فشردن دکمه بالایی LED روشن و با فشردن دکمه پایینی، LED خاموش میشود. سادهتر بگوییم که ورودی و خروجی دیجیتال شما مقدار خاموش یا روشن به خود میگیرد.
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_//www.behnamrobotic.com
int ledPin = 5;
int buttonApin = 9;
int buttonBpin = 8;
byte leds = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buttonApin, INPUT_PULLUP);
pinMode(buttonBpin, INPUT_PULLUP);
}
void loop()
{
if (digitalRead(buttonApin) == LOW)
{
digitalWrite(ledPin, HIGH);
}
if (digitalRead(buttonBpin) == LOW)
{
digitalWrite(ledPin, LOW);
}
}
توضیحات کد مربوط به خاموش و روشن کردن LED با آردوینو
در قسمت دوم این سلسله مطالب، با توابع PinMode و DigitalRead آشنا شدیم. این تابع نیز دقیقاً بر عکس تابع digitalWrite عمل میکند و به جای آن که خروجی را 0 و یا 1 کند، مقدار 0 یا 1 بودن آن را تشخیص میدهد. برای مثال، فرض کنید که میخواهید مقدار یک سنسور را بخوانید و یا فشار دادن یک دکمه را حس کرده و واکنش نشان دهید. در این مواقع باید از این تابع بهره ببرید.
دستور if به معنای ایجاد شرط است. یعنی اگر کلید وصل شد، LED را روشن کند. در مورد این دستور در قسمتهای بعدی این مطالب بیشتر توضیح خواهیم داد.
در قسمت اول برنامه میبینید که سه متغیر برای سه پایه در این پروژه در نظر گرفته شده است. متغیر ledpin به عنوان پایه خروجی LED و buttonApin مربوط به دکمه بالا و buttonBpin مربوط به دکمه پایین میباشد. این سه مقدار ورودی و خروجی دیجیتال در آردوینو هستند. در آموزشهای بعدی به طور مفصل با متغیرها آشنا خواهیم شد بنابراین در این بخش تنها لازم است بدانید که از متغیر برای تعریف نام برای پایهها استفاده شده است.
در تابع راهاندازی ledpin را به عنوان خروجی در نظر گرفتیم که برای کنترل LED امری طبیعی است اما در اینجا ما دارای دو ورودی هستیم که باید آنها را به روش زیر به ورودیهای PULLUP تبدیل کنیم.
pinMode(buttonApin, INPUT_PULLUP);
pinMode(buttonBpin, INPUT_PULLUP)
در void loop دو عبارت شرطی داریم که هرکدام مختص یکی از کلید ها در نظر گرفته شده است. در هر عبارت از دستور ‘digitalRead’ برای خواندن ورودی دیجیتال متناظر با آنها استفاده شده است.
مفهوم پول آپ (Pull up) در زمان خاموش و روشن کردن LED با آردوینو
همانطور که در پیشتر نیز توضیح دادیم، تابع PinMode وضعیت ورودی و یا خروجی بودن پایه را مشخص میکند اما اگر پایه به جایی متصل نباشد و یا پالسی به آن مخابره نشود، بایستی همواره مقدار HIGH داشته باشد یا بهتر است اینطور بگوییم که در صورت آزاد بودن ورودی مدار، آردوینو نمیتواند به درستی تشخیص دهد که آیا پایه HIGH است یا LOW.
این کار توسط مدار مقاومت داخلی PULLUP در پایه مورد نظر ایجاد میشود. در بیانی سادهتر، علت اصلی که کلیدها از طرف دیگر به زمین متصل شدهاند هم همین است. وقتی که دکمهها فشار داده میشوند، پایه آردوینو متصل به آن نیز به زمین اتصال پیدا میکند. همین موضوع سبب میگردد تا دیگر پایه مقدار HIGH نداشته باشد.
مفهوم پول داون (Pull Down) در زمان خاموش و روشن کردن LED با آردوینو
پول داون دقیقاً بر عکس مقاومت پول آپ است و باید پایه مورد نظر را با مقاومت به زمین وصل کرد. در آردوینو، امکان پول داون نرمافزاری وجود ندارد و باید از طریق یک مقاومت 10 کیلو اهم این کار را انجام دهید با این تفاوت که به جای اتصال مقاومت 5 ولت، باید آن را به GND یا همان منفی مدار متصل کنید. پس از آنجا که ورودی به طور عادی دارای مقدار HIGH میباشد و فقط در صورتی برابر LOW میشود که دکمه فشار داده شود، ما از این اتفاق به عنوان یک تغییر منطقی در توابع خود بهره میبریم.
به یاد داشته باشید که اگر دکمهای فشار داده شود، ورودی متناظر با آن دارای مقدار LOW میگردد. اگر دکمه A صفر شود، از تابع digitalwire برای روشن کردن LED توسط متغیر ledpin استفاده میشود. به همین صورت اگر دکمه B فشرده شود، مقدار LOW بر روی متغیر ledpin نوشته شده و LED خاموش میگردد.
سخن پایانی
در این قسمت از سری آموزشهای گام به گام آردوینو، سعی شد که مفهوم ورودی و خروجی دیجیتال در آردوینو را در قالب یک پروژه به شما آموزش دهیم.