Arduino Experten hier im Forum ??

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Arduino Experten hier im Forum ??

      kann man mir jemand bei diesem sketch den Support für zwei joysticks ergänzen ?
      Source tinkerboy.xyz/arduino-usb-gamepad/ (es geht um die 6 tasten version )

      C-Quellcode

      1. * tinkerBOY's usb_gamepad v1.0 - 6-Button version
      2. *
      3. */
      4. #include <Joystick.h>
      5. #define PINS 16
      6. #define ENABLE_ANALOG1 false
      7. int X1 = A0;
      8. int Y1 = A1;
      9. Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_GAMEPAD, PINS, 0,
      10. true, true, false, false, false, false, false, false, false, false, false);
      11. class CButton {
      12. public:
      13. int pin = NULL;
      14. int lastState = 0;
      15. CButton(int p) {
      16. pin = p;
      17. }
      18. };
      19. CButton Buttons[PINS] ={0,1,2,3,4,5,6,7,8,9,10,16,14,15,20,21};
      20. void setup() {
      21. for(int i=0 ; i<PINS ;i++) {
      22. pinMode(Buttons[i].pin, INPUT_PULLUP);
      23. }
      24. Joystick.begin();
      25. if (ENABLE_ANALOG1) {
      26. Joystick.setXAxisRange(-512, 512);
      27. Joystick.setYAxisRange(-512, 512);
      28. }
      29. }
      30. void JButtonStates() {
      31. if (ENABLE_ANALOG1) {
      32. Joystick.setXAxis(analogRead(X1) - 512);
      33. Joystick.setYAxis(analogRead(Y1) - 512);
      34. }
      35. for (int i = 0; i < PINS; i++) {
      36. int currentState = !digitalRead(Buttons[i].pin);
      37. if (currentState != Buttons[i].lastState) {
      38. Joystick.setButton(i, currentState);
      39. Buttons[i].lastState = currentState;
      40. }
      41. }
      42. }
      43. void loop() {
      44. JButtonStates();
      45. delay(50);
      46. }
      Alles anzeigen
      3D-Druck-Service wer was gedruckt haben möchte einfach eine pn schreiben :lachende:
    • das sind analoge psp sticks :P und von denen würde ich gerne 2 verbauen
      und normale tasten bräuchte ich 12-14


      ich hab hier auch das gefunden sudomod.com/forum/viewtopic.php?t=1766


      Now everything should be prepared. You can now use my sketch to turn it into a controller with 14 buttons and 2 analog sticks:

      http://www.mediafire.com/file/wnkhybdwc ... roller.ino


      aber der sketch lässt sich nicht kompilieren :(
      3D-Druck-Service wer was gedruckt haben möchte einfach eine pn schreiben :lachende:
    • brachte alles nichts lässt sich immer noch nicht erstellen :O

      edit


      Gamecontroller.ino: In function 'void setup()':
      Gamecontroller:99: error: 'joySt' was not declared in this scope
      Gamecontroller.ino: In function 'void loop()':
      Gamecontroller:310: error: 'joySt' was not declared in this scope


      edit 2

      es ist wohl doch einfacher im oberen sketch den zweiten stick einzufügen als ich mit dem von sudomod weiter rum zu ärgern
      3D-Druck-Service wer was gedruckt haben möchte einfach eine pn schreiben :lachende:

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von xfx9500 ()

    • danke für den tip mit linux :)
      konnte den chip mit linux wunderbar flashen :)

      nun zum großen nexten tehma wie ist das pinout :O zum verkabeln :/
      bei sudomod sind ja leider alle bilder offline :(


      edit

      im anhang ist ein bild von meinem chip :P

      edit 2

      man müßte nur noch die 2 sticks mit ein zeichnen ins bild :P
      Bilder
      • IMG_20180701_230525.jpg

        817,01 kB, 1.484×1.975, 5 mal angesehen
      • fRV4CGT.png

        549,26 kB, 759×749, 15 mal angesehen
      3D-Druck-Service wer was gedruckt haben möchte einfach eine pn schreiben :lachende:

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von xfx9500 ()

    • Die Verkabelung der Sticks fehlt da tatsächlich. Die werden an den analogen Pins des Arduino-Boards angeschlossen.

      Anhand des Sketches sind die wie folgt belegt
      int x1Pin = A0;
      int y1Pin = A1;
      int x2Pin = A2;
      int y2Pin = A3;
      x1, y1 an A0, A1 des Arduino-Boards - Stick 1, ob links oder rechts sieht man später wenn es läuft und kann man im Programm ändern
      x2, y2 an A2, A3 - Stick 2