Skocz do zawartości

Program do game pada DIY


Yanko

Pomocna odpowiedź

Witam. Z nudów zbudowałem kontroler do gier sterowany arduino. Niestety moja wiedza jeśli chodzi o programowanie jest dosyć średnia więc kontroler nie działa. Budowę ma bardzo prostą. Ot kilkanaście guzików i joystick na krańcówkach. Problemów jest kilka:

1)chciałbym to zrobić przy użyciu dwóch arduino gdyż suma wejść idealnie zgadza się z ilością guzików. Mam arduino leonardo, które by służyło za komunikację z komputerem i Uno, które by odpowiadało za połowę guzików i wysyłało dane przez piny RX/TX

2)czy mogę jakoś połączyć te dwa arduino tak by Uno było zasilane z Leonardo a Leonardo z usb

3)chcialem sprawdzić czy wszystko dobrze podłączyłem ale ten mój testowy program sprawia że każda płytka wypluwa przez serial zapętlony ciąg znaków(qwertyuiopa) niezależnie czy ma jakieś guziki wpięte czy nie. 

Za każdą pomoc serdecznie będę wdzięczny. 

void setup() {
pinMode(1, INPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
pinMode(11, INPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);
Serial.begin(9600);
}
 
void loop() {
  // put your main code here, to run repeatedly:
  if (digitalRead(3) == HIGH) {
    //Send an ASCII 'q',
    Serial.print('q');
  }  
  if (digitalRead(4) == HIGH) {
    //Send an ASCII 'w',
    Serial.print('w');
  }
    if (digitalRead(5) == HIGH) {
    //Send an ASCII 'e',
    Serial.print('e');
  }
    if (digitalRead(6) == HIGH) {
    //Send an ASCII 'r',
    Serial.print('r');
  }
    if (digitalRead(7) == HIGH) {
    //Send an ASCII 't',
    Serial.print('t');
  }
    if (digitalRead(8) == HIGH) {
    //Send an ASCII 'y',
    Serial.print('y');
  }
    if (digitalRead(9) == HIGH) {
    //Send an ASCII 'u',
    Serial.print('u');
  }
    if (digitalRead(10) == HIGH) {
    //Send an ASCII 'i',
    Serial.print('i');
  }
    if (digitalRead(11) == HIGH) {
    //Send an ASCII 'o',
    Serial.print('o');
  }
    if (digitalRead(12) == HIGH) {
    //Send an ASCII 'p',
    Serial.print('p');
  }
    if (digitalRead(13) == HIGH) {
    //Send an ASCII 'a',
    Serial.print('a');
  }
}

 

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.