Skocz do zawartości

Pomocna odpowiedź

Napisano

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');
  }
}

 

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...