آموزش ساخت پدال برای بازی های کامپیوتر آردوینو + پایتون

مقدمه:

فرض کنید که میتونید در بازی ها به جای شلیک کردن با موس، با یک پدال زیر پاتون این کار رو انجام بدید. یا در بازی های ماشینی به جای استفاده از دکمه های کیبورد، با پدال زیر پاتون گاز بدید!! این موضوع میتونه هم کیفیت بازیتون رو بیشتر کنه و هم لذت ساخت یک وسیله به دستان خودتون رو بهتون بده. خب اجازه بدید کار رو شروع کنیم.

موارد مورد نیاز:

  • یک برد آردوینو
  • تعدادی سیم
  • پدال یا دکمه

اتصالات آردوینو

ابتدا سیم هایی که از آردوینو به دکمه مورد نظرمون میره رو وصل میکنیم که کار به شدت ساده ای در پیش داریم.

من اینجا یک پدال دو پا دارم که ستا سیم داره. دوتا سیم (سبز و آبی) برای پدال ها و یک سیم (قرمز) مشترک بین اونها. سیم مشترک رو به GND متصل میکنم و دوتا سیم دیگه رو به A2 و A5.

کد نویسی سمت آردوینو

کد نویسی سمت آردوینو پیچیدگی خاصی نداره و تنها باید کاری کنیم که وقتی پدال فشرده شد، آردوینو از طریق پرت سریال کاراکتر مشخصی رو برای کامپیوتر ارسال کنه. ما وقتی پدال کوچ رو فشار میدیم، اتصال بین GND و A2 برقرار میشه و مقدار A2، صفر یا LOW میشود. و وقتی پدال بزرگ تر رو فشار میدیم، اتصال بین GND و A5 برقرار میشه و مقدار A5، صفر یا LOW میشود که کد سمت آردوینو به صورت زیر میشه.


void setup() {
  Serial.begin(2000000);
  pinMode(A5, OUTPUT);
  pinMode(A2, OUTPUT);
  digitalWrite(A2,HIGH);
  digitalWrite(A5,HIGH);
}
void loop() {
  if(digitalRead(A5)==LOW){
    Serial.println(&quotf&quot);
    }
  else if(digitalRead(A2)==LOW){
    Serial.println(&quotb&quot);
    }
    delay(100);
}

کد رو برروی آردوینو آپلود کنید.

کد نویسی پایتون

کد نویسی سمت پایتون باید کاراکترهای ارسالی از آردوینو رو دریافت کنه ( که برای دریافت اطلاعات از کتابخانه serial استفاده میکنیم.) و تصمیم بگیره که کدوم کلید رو بزنه. (که ما برای این کار از کتابخانه‌ی pyautogui.)

import serial  # Serial imported for Serial communication
import time  # Required to use delay functions
import pyautogui

ArduinoSerial = serial.Serial('com6', 2000000)  # ایجاد پورت سریال جهت دریافت اطلاعات 
time.sleep(2)  # چند ثانیه صبر میکنیم تا ارتباطمون پایدار بشه

while 1:
    incoming = str(ArduinoSerial.readline())  # خواندن یک خط اطلاعات از پورت سریال
    ArduinoSerial.flushOutput() #پاک کردن اطلاعات دریافتی اضافی از پورت خروجی سریال
    ArduinoSerial.flushInput()#پاک کردن اطلاعات دریافتی اضافی از پورت ورودی سریال
    if 'f' in incoming: #تصمیم گیری درمورد اطلاعات دریافتی که من اینجا بعد از دریافت کارکتر &quotاف&quot تصمیم شلیک دارم
        pyautogui.click() #کلیک کردن
    elif 'b' in incoming: #تصمیم گیری درمورد اطلاعات دریافتی که من اینجا بعد از دریافت کارکتر &quotآر&quot تصمیم خشاب عوض کردن دارم
        pyautogui.press('r')#فشردن دکمه آر


نکته 1:
در خطی که ما برای ایجاد پورت سریال استفاده کردیم باید بدونید کدوم COM شما فعاله و این میتونه متغیر باشه.
نکته 2:
برد آردوینو باید از طریق USB به کامپیوتر متصل باشد.
نکته 3:
برنامه پایتون شما باید در حال اجرا باشد.

سخن پایانی

درحال حاضر با این چیزهایی که در این پست یادگرفتید، میتونید دسته بازی تولید کنید و لذت ببرید. پس سعی کنید چیزهای بیشتری بسازید و از این جهان نچندان دلپذیر لذت ببرید.

مشکلات خودتون رو در زیر این پست با من در میان بزارید و من قول خواهم داد در حد توان به شما کمک خواهم کرد.