Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Affichage des résultats 1 à 2 sur 2
  1. #1
    Bonjour à tous,
    je vous présente mon Streamdeck à 50/30€ en mode DIY, celui ci utilise les touches F13 à F24 ce qui permet de lancer des raccourcis ou autres via des logiciels (Clavier+ , AutoKey par exemple)





    Le matériel :

    • un arduino pro micro (version µUSB ou USC-C) (attention bien prendre la version pro micro 32u4 car elle possède la fonction HID comme un clavier)


    • 12 touches pour claviers (exemple Cherry Mx)


    • 12 caps compatibles avec les touches


    Donc ce qui fait le StreamDeck pour Amazon 44€ et AliExpress 28€
    Le tuto sera fait avec les pièces AliExpress mais vous pouvez utilisez d'autres pièces, mais bien acheter le arduino pro micro

    il vous faudra imprimer ou faire imprimer le support avec une imprimante 3D
    https://drive.google.com/file/d/1g-d...usp=drive_link

    Le câblage :
    connecter les fils comme ci-dessous



    si vous calculez bien les longueurs mon fichier 3D permet de mettre la carte et donc la sortie du câble dans plusieurs position.



    Le programme :
    télécharger Arduino IDE en version ZIP
    https://www.arduino.cc/en/software
    dézipper et lancer le "Arduino IDE"
    Sélectionner la carte et le port

    coller le programme
    Code:
    // ---------------------------------
    // Key definitions
    #define BUTTON_KEY1 KEY_F13
    #define BUTTON_KEY2 KEY_F14
    #define BUTTON_KEY3 KEY_F15
    #define BUTTON_KEY4 KEY_F16
    #define BUTTON_KEY5 KEY_F17
    #define BUTTON_KEY6 KEY_F18
    #define BUTTON_KEY7 KEY_F19
    #define BUTTON_KEY8 KEY_F20
    #define BUTTON_KEY9 KEY_F21
    #define BUTTON_KEY10 KEY_F22
    #define BUTTON_KEY11 KEY_F23
    #define BUTTON_KEY12 KEY_F24
     
    // Pin definitions
    #define BUTTON_PIN1 2
    #define BUTTON_PIN2 3
    #define BUTTON_PIN3 4
    #define BUTTON_PIN4 5
    #define BUTTON_PIN5 6
    #define BUTTON_PIN6 7
    #define BUTTON_PIN7 8
    #define BUTTON_PIN8 9
    #define BUTTON_PIN9 A0
    #define BUTTON_PIN10 A1
    #define BUTTON_PIN11 A2
    #define BUTTON_PIN12 A3
    // ---------------------------------
     
    #include "Keyboard.h"
     
    // Button helper class for handling press/release and debouncing
    class button {
      public:
      const char key;
      const uint8_t pin;
     
      button(uint8_t k, uint8_t p) : key(k), pin(p){}
     
      void press(boolean state){
        if(state == pressed || (millis() - lastPressed  <= debounceTime)){
          return; // Nothing to see here, folks
        }
     
        lastPressed = millis();
     
        state ? Keyboard.press(key) : Keyboard.release(key);    
        pressed = state;
      }
     
      void update(){
        press(!digitalRead(pin));
      }
     
      private:
      const unsigned long debounceTime = 30;
      unsigned long lastPressed = 0;
      boolean pressed = 0;
    } ;
     
    // Button objects, organized in array
    button buttons[] = {
      {BUTTON_KEY1, BUTTON_PIN1},
      {BUTTON_KEY2, BUTTON_PIN2},
      {BUTTON_KEY3, BUTTON_PIN3},
      {BUTTON_KEY4, BUTTON_PIN4},
      {BUTTON_KEY5, BUTTON_PIN5},
      {BUTTON_KEY6, BUTTON_PIN6},
      {BUTTON_KEY7, BUTTON_PIN7},
      {BUTTON_KEY8, BUTTON_PIN8},
      {BUTTON_KEY9, BUTTON_PIN9},
      {BUTTON_KEY10, BUTTON_PIN10},
      {BUTTON_KEY11, BUTTON_PIN11},
      {BUTTON_KEY12, BUTTON_PIN12},
    };
     
    const uint8_t NumButtons = sizeof(buttons) / sizeof(button);
    const uint8_t ledPin = 17;
     
    void setup() { 
      // Safety check. Ground pin #1 (RX) to cancel keyboard inputs.
      pinMode(1, INPUT_PULLUP);
      if(!digitalRead(1)){
        failsafe();
      }
     
      // Set LEDs Off. Active low.
      pinMode(ledPin, OUTPUT);
      digitalWrite(ledPin, HIGH);
      TXLED0;
     
      for(int i = 0; i < NumButtons; i++){
        pinMode(buttons[i].pin, INPUT_PULLUP);
      }
    }
     
    void loop() {
      for(int i = 0; i < NumButtons; i++){
        buttons[i].update();
      }
    }
     
    void failsafe(){
      for(;;){} // Just going to hang out here for awhile :D
    }
    et téléverser le (flèche blanche)


    quitter l'IDE

    Logiciel de raccourcis (falcutatif si vous en avez un)
    Installer Clavier+
    https://gryder.org/software/clavier-plus/
    et ajouter des raccourcis aux touches


    Voila pour le StreamDeck à 12 touches.

    Et si il y en a qui sont chaud pour tester une version avec plus de touches en utilisant un programme avec matrice (voir exemple ici https://docs.google.com/document/d/1...it?usp=sharing) qu'il faudra adapter, je serais intéressé.

    Sources:
    https://www.partsnotincluded.com/diy...acro-keyboard/
    https://www.kevinpeat.com/arduino_button_box.html

    d'autres sources:
    https://www.instructables.com/Arduin...ard-Macro-Box/
    https://github.com/AM-STUDIO/32-FUNCTION-BUTTON-BOX
    https://www.xsimulator.net/community...uttonbox.8302/
    https://www.instructables.com/Sim-Racing-Button-Box/


    Edit:
    modification liens Google sans compte nécessaire.
    Dernière modification par BonoWRC ; 05/03/2024 à 14h57.
    Jamais plus vite qu'à fond !
    Ma chaine vidéo DR http://www.dailymotion.com/playlist/...y-by-bonowrc/1

  2. #2
    Edit:
    modification liens Google sans compte nécessaire.
    Jamais plus vite qu'à fond !
    Ma chaine vidéo DR http://www.dailymotion.com/playlist/...y-by-bonowrc/1

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •