Ir para conteúdo
3DFinder
Entrar

Você está no 3DFinder

Buscamos em Thingiverse, MakerWorld e Printables ao mesmo tempo para te dar o melhor de cada uma.

Buscar mais como este
Modelo 3D Mini Stream Deck DIY por MakeVonMattéo no MakerWorld

Descrição

Mini Stream Deck DIY – Compact, lumineux et abordable !

Ce projet est un mini stream deck entièrement personnalisable pour moins de 12€, conçu pour piloter vos logiciels préférés à l’aide de 7 touches raccourcies, tout en apportant une touche lumineuse grâce à une bande de LEDs WS2812B adressables. Idéal pour les streamers, créateurs ou makers en quête d’un projet utile et stylé !

 

Liens affiliés aliexpress des composants nécessaires :

Pièces 3D incluses :

  • Boîtier principal (pla noir) 
  • Couvercle (pla noir)
  • Support (pla noir) 
  • Diffusion lumineuse (PETG transparent) 

Schéma éclectique: 

 

 

Programme : 

La partie volume avec le potentiomètre n'est pas inclus dans le programme car pas encore exploiter. 

//  Subscribe to MakeVonMatteo on tiktok :)

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

// 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 10
#define BUTTON_PIN10 16

#define LED_STRIP_PIN 13  // Correspond à D15 (physique)
#define NUM_LEDS 11

#include <Keyboard.h>
#include <Adafruit_NeoPixel.h>

Adafruit_NeoPixel strip(NUM_LEDS, LED_STRIP_PIN, NEO_GRB + NEO_KHZ800);

// LED couleurs
uint32_t normalColor = strip.Color(0, 150, 255); // Bleu clair
uint32_t pressColor  = strip.Color(0, 0, 150);   // Bleu foncé

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

     lastPressed = millis();
     state ? Keyboard.press(key) : Keyboard.release(key);
     pressed = state;
   }

   void update() {
     press(!digitalRead(pin));
   }

   boolean isPressed() {
     return pressed;
   }

 private:
   const unsigned long debounceTime = 30;
   unsigned long lastPressed = 0;
   boolean pressed = 0;
};

// Initialisation des boutons
button buttons[] = {
 button(BUTTON_KEY1, BUTTON_PIN1),
 button(BUTTON_KEY2, BUTTON_PIN2),
 button(BUTTON_KEY3, BUTTON_PIN3),
 button(BUTTON_KEY4, BUTTON_PIN4),
 button(BUTTON_KEY5, BUTTON_PIN5),
 button(BUTTON_KEY6, BUTTON_PIN6),
 button(BUTTON_KEY7, BUTTON_PIN7),
 button(BUTTON_KEY8, BUTTON_PIN8),
 button(BUTTON_KEY9, BUTTON_PIN9),
 button(BUTTON_KEY10, BUTTON_PIN10)
};

#define NumButtons (sizeof(buttons) / sizeof(buttons[0]))

void setup() {
 // Initialisation des LEDs
 strip.begin();
 strip.show(); // Assurez-vous que les LEDs sont éteintes au début
 
 // Initialisation des boutons
 for (int i = 0; i < NumButtons; i++) {
   pinMode(buttons[i].pin, INPUT_PULLUP); // Mettre en mode entrée avec pull-up pour chaque bouton
 }

 // Initialisation du clavier
 Keyboard.begin();
}

void loop() {
 boolean anyPressed = false;

 // Mettre à jour les états des boutons et vérifier si l'un d'eux est pressé
 for (int i = 0; i < NumButtons; i++) {
   buttons[i].update();
   if (buttons[i].isPressed()) {
     anyPressed = true;
   }
 }

 // Si un bouton est pressé, changer la couleur des LEDs en bleu foncé
 if (anyPressed) {
   setAllLEDs(pressColor);
 } else {
   setAllLEDs(normalColor);
 }
}

// Fonction pour changer la couleur de toutes les LEDs
void setAllLEDs(uint32_t color) {
 for (int i = 0; i < strip.numPixels(); i++) {
   strip.setPixelColor(i, color);
 }
 strip.show(); // Mettre à jour les LEDs
}

 

 

MakerWorld

Mini Stream Deck DIY

Publicado em 6 de mai de 2025

1,433
Curtidas
758
Downloads
3,507
Coleções
314
Impressões
Categoria Electronics
Tags
Stream Deck keywords clavier raccourcis projet Arduino LED Switch electronique DIY gamer PC bureau
Licença Standard Digital File License
Ver no MakerWorld (abre em nova aba)