ویژگی های ماژول کلید 5 جهته
ماژول کلید 5 جهته در واقع ترکیبی از 5 کلید فشاریست که میتوان از آن برای بازیهای ساده استفاده کرد. این ماژول همچنین قابلیت اتصال به انواع میکروکنترلرها را دارد. در این ماژول علاوه بر کلیدهای بالا، پایین، چپ، راست و وسط، دو کلید اضافه set و reset نیز در نظر گرفته شده است. عملکرد کلی این ماژول به این صورت است که پایه com پایه مشترک بوده و با فشار دادن هر کلید، پایه مربوطه آن به پایه com وصل میشود.
معرفی پایه ها (Pinout) ماژول کلید 5 جهته
این ماژول دارای 8 پایه به شرح زیر است.
- COM: پایه مشترک
- UP: بالا
- DWN: پایین
- LFT: چپ
- RHT: راست
- MID: وسط
- SET: پایه تنظیم (set)
- RST: پایه ریست (reset)
پین اوت (Pinout) این ماژول را میتوانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول کلید 5 جهته با آردوینو
گام اول: سیم بندی
مطابق مدار زیر، ماژول را به آردوینو وصل کنید.
گام دوم: کد
کد زیر را روی برد آردوینوی خود آپلود کنید.
/*
Made on Dec 12, 2020
By MehranMaleki @ Electropeak
https://electropeak.com/learn/
*/
const int buttonPin_RST = 2; // the number of the reset button pin
const int buttonPin_SET = 3; // the number of the set button pin
const int buttonPin_MID = 4; // the number of the middle button pin
const int buttonPin_RHT = 5; // the number of the right button pin
const int buttonPin_LFT = 6; // the number of the left button pin
const int buttonPin_DWN = 7; // the number of the down button pin
const int buttonPin_UP = 8; // the number of the up button pin
void setup() {
Serial.begin(9600);
pinMode(buttonPin_RST, INPUT_PULLUP);
pinMode(buttonPin_SET, INPUT_PULLUP);
pinMode(buttonPin_MID, INPUT_PULLUP);
pinMode(buttonPin_RHT, INPUT_PULLUP);
pinMode(buttonPin_LFT, INPUT_PULLUP);
pinMode(buttonPin_DWN, INPUT_PULLUP);
pinMode(buttonPin_UP, INPUT_PULLUP);
}
void loop() {
if(digitalRead(buttonPin_RST) == LOW) {
delay(250);
Serial.println("Reset Pin Is Pressed.");
while(digitalRead(buttonPin_RST) == LOW);
}
if(digitalRead(buttonPin_SET) == LOW) {
delay(250);
Serial.println("Set Pin Is Pressed.");
while(digitalRead(buttonPin_SET) == LOW);
}
if(digitalRead(buttonPin_MID) == LOW) {
delay(250);
Serial.println("Middle Pin Is Pressed.");
while(digitalRead(buttonPin_MID) == LOW);
}
if(digitalRead(buttonPin_RHT) == LOW) {
delay(250);
Serial.println("Right Pin Is Pressed.");
while(digitalRead(buttonPin_RHT) == LOW);
}
if(digitalRead(buttonPin_LFT) == LOW) {
delay(250);
Serial.println("Left Pin Is Pressed.");
while(digitalRead(buttonPin_LFT) == LOW);
}
if(digitalRead(buttonPin_DWN) == LOW) {
delay(250);
Serial.println("Down Pin Is Pressed.");
while(digitalRead(buttonPin_DWN) == LOW);
}
if(digitalRead(buttonPin_UP) == LOW) {
delay(250);
Serial.println("Up Pin Is Pressed.");
while(digitalRead(buttonPin_UP) == LOW);
}
}
در کد بالا، هر کدام از کلیدهای ماژول به عنوان ورودی به یکی از پایههای آردوینو داده شده و با فشردن هر کدام از کلیدها، آن کلید بر روی Serial Monitor نمایش داده میشود.
خروجی کد به شکل زیر است.