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 Button box  w/arduino setup , Handbrake & shift por Unique 3D no MakerWorld

Descrição

🔘 Button Box 12 Pulsanti Reroilluminata Ardiuno pro – All-in-One

Compatibile Arduino | Freno a Mano & Cambio Sequenziale DIY

Questa Button Box All-in-One a 12 pulsanti è progettata per simulatori di guida (sim racing, truck sim, farming, flight sim, ecc.) e offre una soluzione compatta, modulare e completamente personalizzabile.

Il progetto è pensato per chi vuole controllo totale sulla configurazione, permettendo all’utente di impostare tutti i parametri direttamente da SIMHUB.

PER AVERLO SENZA SCRITTE BASTA CANCELLARE IL PROFILO COLORE

⚙️ Caratteristiche principali

  • 12 pulsanti fisici (momentanei)
  • Supporto per:
    • Freno a mano analogico o digitale
    • Cambio sequenziale (Up / Down)
  • Configurazione completamente libera 
  • Design compatto e ordinato, ideale per postazioni da sim Racing
  • Progetto all-in-one: un solo box, massima funzionalità
    e progettato con una singola uscita , ma potrete applicare ulteriori fori per altri ingressi ed uscite , io attualmente ho set up con button box al quale e collegato il cambio sequenziale.

🔧 Configurazione Arduino

L’utente può definire liberamente:

  • Pin digitali e analogici
  • Tipo di ingresso (pulsante, switch, potenziometro, Hall sensor)
  • Mappatura dei comandi
  • Modalità HID (joystick / button box)
  • Sensibilità e inversione degli assi (per freno a mano) codice scitto per cella di carico .

Nessun firmware bloccato: massima libertà di personalizzazione.

🧩 Espandibilità

Il box è predisposto per:

  • Collegamento freno a mano esterno
  • Collegamento cambio sequenziale
  • Eventuali modifiche future (rotary encoder, switch aggiuntivi, ecc.)

🖨️ Stampa 3D

  • Progettato per stampa facile e pulita
  • Nessun supporto (o supporti minimi, in base alla versione)
  • Compatibile con PLA, PETG, ABS
  • Viti standard facilmente reperibili

🎮 Utilizzo ideale per

  • Sim Racing (Assetto Corsa, iRacing, rFactor, ecc.)
  • Euro / American Truck Simulator
  • Farming Simulator
  • Flight Simulator
  • Simulatori personalizzati

📌 CODICE:
Pulsanti (14 totali)

  • Un capo del pulsante → GND
  • Altro capo → un pin digitale del Pro Micro
  • Nel codice uso INPUT_PULLUP (quindi premuto = LOW)

Pin usati (puoi cambiarli):
2,3,4,5,6,7,8,9,10,16(A2),14(A0),15(A1),18(A4),19(A5) = 14 ingressi

HX711 (load cell freno a mano)

  • VCC → 5V
  • GND → GND
  • DT (DOUT) → pin 20 (A6) (sul Pro Micro è digitale utilizzabile)
  • SCK → pin 21 (A7)

Librerie da installare (Arduino IDE)

  1. HX711 (di Bogde)
  2. Joystick (di Matthew Heironimus) → “Joystick Library”

CODICE ARDUINO SIM HUB READY:
/*
 Pro Micro ATmega32U4 (5V 16MHz) - Button Box SimHub
 - 12 pulsanti
 - 2 pulsanti cambio sequenziale (A0 = UP, A1 = DOWN)
 - Nessun asse analogico (solo bottoni)

 Cablaggio pulsanti:
 PIN -> pulsante -> GND
 (INPUT_PULLUP attivo: premuto = LOW)
*/

#include <Joystick.h>

// ---------------- CONFIG ----------------

// 12 pulsanti + 2 shifter = 14 bottoni totali
const uint8_t BTN_COUNT = 14;

// Pulsanti:
// 2,4,6,7,8,9,10,14,15,16,A2,A3
// Cambio:
// A0 = UP
// A1 = DOWN
const uint8_t btnPins[BTN_COUNT] = {
 2, 4, 6, 7, 8, 9, 10, 14, 15, 16, A2, A3,
 A0, A1
};

// ---------------- OGGETTI ----------------

// Joystick USB: solo bottoni
Joystick_ Joystick(
 JOYSTICK_DEFAULT_REPORT_ID,
 JOYSTICK_TYPE_JOYSTICK,
 BTN_COUNT, 0,               // buttons, hats
 false, false, false,        // X, Y, Z
 false, false, false,        // Rx, Ry, Rz
 false, false,               // rudder, throttle
 false, false, false         // accelerator, brake, steering
);

bool lastBtnState[BTN_COUNT];
unsigned long lastReadMs = 0;
const unsigned long READ_INTERVAL_MS = 5;

// ---------------- SETUP ----------------

void setup() {
 for (uint8_t i = 0; i < BTN_COUNT; i++) {
   pinMode(btnPins[i], INPUT_PULLUP);
   lastBtnState[i] = digitalRead(btnPins[i]);
 }

 Joystick.begin();
}

// ---------------- LOOP ----------------

void loop() {
 if (millis() - lastReadMs < READ_INTERVAL_MS) return;
 lastReadMs = millis();

 for (uint8_t i = 0; i < BTN_COUNT; i++) {
   bool nowState = digitalRead(btnPins[i]); // HIGH = non premuto
   if (nowState != lastBtnState[i]) {
     lastBtnState[i] = nowState;
     Joystick.setButton(i, nowState == LOW);
   }
 }
}


La calibrazione del freno a mano dipende dal hardware che utilizzate , google comunque e di forte aiuto in questo , in caso usate cella di carico andranno impostati valori a riposo e a tiraggio massimo . in caso di potenziometro e piu semplice e ci sarà un semplice minimo massimo.

MakerWorld

Button box w/arduino setup , Handbrake & shift

Publicado em 4 de jan de 2026

7
Curtidas
11
Downloads
18
Coleções
2
Impressões
Categoria Other Hobby & DIY
Tags
simracing DIY Simagic button buttonbox simracing accessories handbrake Shift sequential
Licença MakerWorld Exclusive License
Ver no MakerWorld (abre em nova aba)