نحوه اتصال چند دکمه به آردوینو را بیاموزید و فشار دادن آنها را در یک برنامه بررسی کنید.
دکمههای فشاری در فضای آردوینو DIY بسیار رایج هستند، پروژههای بیشماری در سراسر وب برای فعال کردن کدشان به این سوئیچهای کوچک متکی هستند. اما دقیقاً چگونه می توانید بیش از یک دکمه را برای کار با آردوینو سیم کشی و برنامه ریزی کنید؟ بیایید دریابیم.
ما چه چیزی می سازیم؟
این یک پروژه ساده است که برای شروع کار با ساختهای پیچیدهتر آردوینو در آینده طراحی شده است. ما به دکمههایمان کار نمیدهیم، اما این بدان معناست که شما میتوانید با استفاده از یکی از دیگر راهنماهای DIY آردوینو، کاری را که دوست دارید برای خودتان انجام دهند، انتخاب کنید.
چه چیزی نیاز دارید؟
برای تکمیل این پروژه فقط به تعداد انگشت شماری از قطعات نیاز دارید که بسیاری از آنها را قبلاً در مجموعه قطعات DIY خود خواهید داشت.
- 4 عدد سوئیچ دکمه ای
- 4 مقاومت 10 کیلو اهم
- 1 x هر نوع برد آردوینو (ما از لئوناردو استفاده می کنیم)
- سیم با روکش PVC/سیلیکون
سیم کشی چند دکمه با آردوینو
سیمکشی این پروژه ساده است، اما باید مراقب باشید که در حین انجام هر اتصال، سیمهای خود را در هم نگیرید، زیرا هر دکمه به دو سیم مختلف نیاز دارد.
با شروع ساده، منطقی است که یک دکمه فشاری را با پایه مثبت آن به پایه 5 ولتی در آردوینو متصل کنیم، و پایه دکمه را به هر دو GND و پین دیجیتال 2 در برد آردوینو متصل کنیم. یک مقاومت باید بین پایه زمین دکمه و پایه GND در آردوینو وصل شود.
با سیم کشی یک دکمه، زمان اضافه کردن دکمه های دیگر فرا رسیده است. هر دکمه به پین دیجیتال خود نیاز دارد. ما 2، 3، 4 و 5 را برای چهار دکمه ای که استفاده می کنیم انتخاب کردیم، اما هر یک از پین های دیجیتال کار می کند. اکنون که آردوینو شما کاملاً وصل شده است، زمان شروع کار بر روی کد است.
برنامه نویسی چند دکمه با آردوینو
کد پروژه زیبا و ساده است، بدون نیاز به هیچ گونه کتابخانه کلاس یا برنامه نویسی پیچیده دیگر.
اختصاص دادن دکمه به پین ها
برای اولین قدم، باید دکمه های خود را به پین های مختلف برد آردوینو اختصاص دهیم. با توجه به اینکه از پین های دیجیتال 2، 3، 4 و 5 استفاده کردیم، اینها پین هایی هستند که با کد خود اعلام خواهیم کرد. این باید در بالای پروژه آردوینو شما، قبل از هر یک از توابع قرار گیرد.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
تنظیم دکمه ها
مانند بسیاری از پروژه های آردوینو، ما از تابعی استفاده خواهیم کرد که یک بار در ابتدای برنامه اجرا می شود، به نام void setup(). ابتدا اتصال سریال خود را با نرخ باود 57600 شروع می کنیم و سپس دکمه های خود را مقدار دهی اولیه می کنیم. این تمام چیزی است که ما در تابع void setup() خود نیاز داریم.
void setup()
{
Serial.begin(57600); // this begins the serial connection with a baud rate of 57600
pinMode(input4Pin, INPUT);
pinMode(input3Pin, INPUT);
pinMode(input2Pin, INPUT);
pinMode(input1Pin, INPUT); // these lines declare each of the buttons as an input
}
تشخیص فشار دکمه
این مرحله بعدی پیچیده تر از بقیه است، زیرا ما تابع خود را ایجاد خواهیم کرد که با متغیری از تابع حلقه اصلی سروکار دارد. برای شروع، باید تابع خود را با یک متغیر عدد صحیح مانند کد زیر اعلام کنیم.
void checkPush(int pinNumber)
پس از این، باید متغیری را که استفاده می کنیم اختصاص دهیم و یک دستور if ایجاد کنیم تا تشخیص دهد که هر دکمه چه زمانی فشار داده می شود. این تابع فقط میتواند دکمه روشن را در یک زمان بررسی کند، با استفاده از متغیری که از تابع حلقه اصلی دریافت میکند تا بداند کدام دکمه را بررسی میکند. دستور if ما وضعیت دکمه را با استفاده از تابع digitalRead داخلی بررسی می کند.
void checkPush(int pinNumber)
{
int buttonPushed = digitalRead(pinNumber);
if (buttonPushed == HIGH) {
// add code here for when a button is pressed
}
else {
// add code here for when a button is not pressed
}
}
کد اضافه شده به دستور if با فشار دادن یک دکمه اجرا می شود، در حالی که کد موجود در عبارت else فقط زمانی اجرا می شود که دکمه ای فشار داده نشود.
ساخت حلقه اصلی
در نهایت، به عنوان آخرین قطعه کدی که باید به برنامه خود اضافه کنید، زمان ساخت تابع void loop() فرا رسیده است. ما فقط به چهار خط کد نیاز داریم: یکی برای هر یک از دکمه هایی که به آردوینو خود متصل کرده ایم. این خطوط تابعی را که در مرحله قبل با شماره پین هر دکمه ایجاد کردیم فراخوانی می کنند.
void loop()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2);
}
کد تمام شده
هنگامی که همه این کدها را در جای خود قرار دادید، برنامه تمام شده شما باید شبیه کد زیر باشد. ما نظراتی را به هر خط اضافه کردهایم تا درک آن را آسانتر کنیم، اما توصیه میکنیم هر چیزی را که نمیشناسید جستجو کنید و بخوانید. این می تواند یک راه عالی برای گسترش دانش کدنویسی شما باشد.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
// this declares each of our buttons and their pins
// make sure that you use the pins your buttons are wired to
void setup()
{
Serial.begin(57600); // this begins the serial connection with a baud rate of 57600
pinMode(input4Pin, INPUT);
pinMode(input3Pin, INPUT);
pinMode(input2Pin, INPUT);
pinMode(input1Pin, INPUT); // these lines declare each of the buttons as an input
}
void loop()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2); // each of these lines calls our checkPush function with a different pin number
}
void checkPush(int pinNumber) // this function expects an integer value when it is called
{
int buttonPushed = digitalRead(pinNumber); // this reads the state of a button based on its pin number
if (buttonPushed == HIGH) { // this checks the state of the button
// add code here for when a button is pressed
}
else {
// add code here for when a button is not pressed
}
}
موفقیت: سیم کشی و برنامه نویسی چند دکمه فشاری با آردوینو
زمانی که میخواهید در مورد سختافزار و نرمافزار Arduinos بیاموزید، این یک پروژه آسان برای شروع است. شما به راحتی می توانید آنچه را که ساخته اید با اجزای اضافی گسترش دهید، و به شما این فرصت را می دهد که انبوهی از ایده های هیجان انگیز را کشف کنید و چیزهایی ایجاد کنید که به شما احساس غرور می کند.