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)
Amazon 13€ https://www.amazon.fr/ATmega32U4-Con.../dp/B0CJJ12BZ4
AliExpress 5€ https://fr.aliexpress.com/item/32989454699.html
- 12 touches pour claviers (exemple Cherry Mx)
Amazon 15€ les 20 https://www.amazon.fr/chenpaif-Broches-M%C3%A9canique-Commutateur-Remplacement/dp/B0882RRHYB
AliExpress 11€ les 16 https://fr.aliexpress.com/item/4000100166477.html
- 12 caps compatibles avec les touches
Amazon 16€ les 20 https://www.amazon.fr/capuchons-vierges-Teinture-sublimation-commutateurs/dp/B0CS3CGXJ3
AliExpress 12€ les 12 https://fr.aliexpress.com/item/32832417476.html
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
et téléverser le (flèche blanche)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 }
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.