Go Down

Topic: [RESOLU]Ajouter un port USB pour clavier (Read 4 times) previous topic - next topic

skywodd


Il faut couper toute l'épaisseur du shield ? :smiley-eek:
J'y retourne avec ta méthode, je reviens dans quelques minutes ! 8)

Mais non ! Juste l'épaisseur de la piste de cuivre ...
Imagine le bordel si il fallait couper au travers de la shield pour faire le moindre petit montage :smiley-mr-green:
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

numero_744

OK, vu que je n'y arrivais pas avec le cutter, j'ai pris un petit (1mm max.) forêt. En coupant creusant, j'ai vu du bleu, donc je me suis arrêté là.
Mauvaise nouvelle : la piste GND est connectée aux deux bouts => pistes de plus à couper creuser...
Je n'ai pas fini de tout couper creuser et je ne sais pas quand je pourrais souder.

Je posterai ce que ça donne après construction et avant test.
Merci et au plus tôt !
- Arduino UNO R3;
- PowerBook G4;
  - Arduino (C)
  - Eclipse (Java)
  - wxLua (µLua)
  - TextWrangler (HTML + JS)
- (3)DS et bientôt R4 (po

numero_744

Salut, je suis de retour, c'est tout soudé (photos jointes), étant un débutant dans ce domaine (ça doit être le deuxième fois de ma vie), c'est (très) sale.
(Oui, j'ai cramé le port ICSP avec le côté du fer, mais j'ai refait les trous !)
J'ai vérifié et revérifié au ohmmètre, ça passe quand il faut et ça ne passe pas quand il ne faut pas. Bref, côté hardware, ça devrait marcher.
Mais ça ne marche pas, ça doit être côté software, voici mon code :
Code: [Select]

#include <UsbKeyboard.h>

//D-pad
int H = 16;//Vitesse +
int L = 17;//Vitesse -
int Dl = 18;//Direction gauche
int Dr = 19;//Direction droite
//Potar
int Tour = A1;
//inter simple A/0/B avec ressort
int R = 10;//Tir
int l = 11;//Tourelle (Free/Lock)

//Variables
boolean prH = false;
boolean prL = false;
boolean prG = false;
boolean prD = false;

boolean prW = false;
boolean prX = false;
boolean prC = false;
boolean prV = false;

void setup() {
  pinMode(H, INPUT);
  pinMode(L, INPUT);
  pinMode(Dl, INPUT);
  pinMode(Dr, INPUT);
  pinMode(Tour, INPUT);
  pinMode(R, INPUT);
  pinMode(l, INPUT);
  digitalWrite(H, HIGH);
  digitalWrite(L, HIGH);
  digitalWrite(Dl, HIGH);
  digitalWrite(Dr, HIGH);
  digitalWrite(Tour, HIGH);
  digitalWrite(R, HIGH);
  digitalWrite(l, HIGH);
}

void loop() {
  UsbKeyboard.update();
  if(digitalRead(H) == LOW) {
    if(prH != true) {
      UsbKeyboard.press(ARROW_UP);
      prH = true;
    }
  } else {
    if(prH != false) {
      UsbKeyboard.release(ARROW_UP);
      prH = false;
    }
  }
  if(digitalRead(L) == LOW) {
    if(prL != true) {
      UsbKeyboard.press(ARROW_DOWN);
      prL = true;
    }
  } else {
    if(prL != false) {
      UsbKeyboard.release(ARROW_DOWN);
      prL = false;
    }
  }
  if(digitalRead(Dl) == LOW) {
    if(prG != true) {
      UsbKeyboard.press(ARROW_LEFT);
      prG = true;
    }
  } else {
    if(prG != false) {
      UsbKeyboard.release(ARROW_LEFT);
      prG = false;
    }
  }
  if(digitalRead(Dr) == LOW) {
    if(prD != true) {
      UsbKeyboard.press(ARROW_RIGHT);
      prD = true;
    }
  } else {
    if(prD != false) {
      UsbKeyboard.release(ARROW_RIGHT);
      prD = false;
    }
  }
  if(analogRead(Tour) >= 800) {
    if(prW != true) {
      UsbKeyboard.press(KEY_W);
      prW = true;
    }
  } else {
    if(prW != false) {
      UsbKeyboard.release(KEY_W);
      prW = false;
    }
  }
  if(analogRead(Tour) < 800 && analogRead(Tour) >= 600) {
    if(prX != true) {
      UsbKeyboard.press(KEY_X);
      prX = true;
    }
  } else {
    if(prX != false) {
      UsbKeyboard.release(KEY_X);
      prX = false;
    }
  }
  //rien de 400 à 600
  if(analogRead(Tour) < 400 && analogRead(Tour) >= 200) {
    if(prC != true) {
      UsbKeyboard.press(KEY_C);
      prC = true;
    }
  } else {
    if(prC != false) {
      UsbKeyboard.release(KEY_C);
      prC = false;
    }
  }
  if(analogRead(Tour) < 200) {
    if(prV != true) {
      UsbKeyboard.press(KEY_V);
      prV = true;
    }
  } else {
    if(prV != false) {
      UsbKeyboard.release(KEY_V);
      prV = false;
    }
  }
  if(digitalRead(R) == LOW) {
    UsbKeyboard.send(KEY_SPACE);
  }
  if(digitalRead(l) == LOW) {
    UsbKeyboard.send(KEY_L);
    while(digitalRead(l) == LOW) {
      ;
    }
  }
}

Ça compile mais l'Arduino (ou l'ordinateur) ne réagit pas...
Je met la librairie complète UsbKeyboard qui est dans mon dossier "librairies" en pièce jointe.

Merci.
- Arduino UNO R3;
- PowerBook G4;
  - Arduino (C)
  - Eclipse (Java)
  - wxLua (µLua)
  - TextWrangler (HTML + JS)
- (3)DS et bientôt R4 (po

skywodd

Test avec le code d'origine qui marche.
Si ça ne marche pas c'est que ton montage est foireux, si ça marche c'est que ton code est foireux ;)
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Go Up