Sommario:
- Passaggio 1: gli strumenti
- Passaggio 2: parti e layout di base
- Passaggio 3: creare un prototipo (opzionale)
- Passaggio 4: suggerimenti sul cablaggio
- Passaggio 5: ottenere il taglio laser del frontalino
- Passaggio 6: collegamento di pulsanti e interruttori
- Passaggio 7: collegamento dei joystick e del display LCD
- Passaggio 8: indicatori di carburante della barra LED
- Passaggio 9: costruzione del recinto
- Passaggio 10: software e test
- Passaggio 11: sulla luna
Video: KerbalController: un pannello di controllo personalizzato per Rocket Game Kerbal Space Program: 11 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Perché costruire un KerbalController?
Bene, perché premere pulsanti e attivare interruttori fisici sembra molto più sostanziale che fare clic con il mouse. Soprattutto quando si tratta di un grande interruttore di sicurezza rosso, dove devi prima aprire il coperchio, azionare l'interruttore per armare il tuo razzo, iniziare il conto alla rovescia e 3.. 2.. 1.. abbiamo il decollo!
Che cos'è un KerbalController?
Un KerbalController, noto anche come pannello di controllo, Simpit (pozzetto simulato), DSKY (tastiera display) o joystick personalizzato, è un dispositivo di input personalizzato per il controllo del popolare razzo che costruisce e vola e si spera non esplode gioco Kerbal Space Program combinato con output opzionali dal gioco, come spie di stato, display di telemetria e/o indicatori di carburante.
Questa build specifica include input come i controlli di rotazione e traslazione tramite joystick, un cursore dell'acceleratore, un sacco di pulsanti con spie di stato, indicatori di livello del carburante a LED e un display LCD di telemetria con più modalità.
Questa guida includerà tutto il necessario per creare una copia identica o apportare modifiche e miglioramenti lungo il percorso, come meglio credi. Sono inclusi:
- un elenco delle parti
- disegni di progettazione digitale pronti per il taglio laser
- istruzioni per il cablaggio
- Codice Arduino
- Codice per il plugin KSP di accompagnamento
- Molte immagini
Pronti al decollo? Andiamo!
Passaggio 1: gli strumenti
Lo strumento più importante che devi avere per questa build è un saldatore. Ciò include della saldatura, una spugna per la pulizia del metallo per pulire la punta del saldatore e una "terza mano".
Altri strumenti sono una spelafili, un tronchese, pinzette e alcuni cacciaviti di piccole dimensioni.
Passaggio 2: parti e layout di base
Realizzare il miglior controller possibile per te significa selezionare esattamente quali pulsanti e interruttori vuoi implementare. Perché ognuno gioca in modo diverso. Alcune persone pilotano aerei e costruiscono SSTO (single-stage-to-orbit). Altri preferiscono i rover delle stazioni spaziali. E alcuni vogliono solo che le cose esplodano in modo spettacolare!
Aiuta a disegnare tutte le parti nella loro dimensione approssimativa e trascinarle in un programma di disegno vettoriale (come Affinity Designer o Inkscape) o un programma di disegno 3D (come SketchUp).
Se vuoi una build più semplice, puoi semplicemente copiare il mio controller e ottenere le parti elencate nell'elenco delle parti allegato.
Passaggio 3: creare un prototipo (opzionale)
Se stai copiando il mio controller, puoi saltare questo passaggio.
Se stai cercando un layout personalizzato, ti consiglio di utilizzare prima una scatola da scarpe per creare un prototipo funzionante con i controlli principali. Aiuta davvero a mettere a punto la posizione dei controlli principali. È anche bello avere la sicurezza di poterlo far funzionare prima di continuare a investire tempo e denaro nella costruzione finale. In realtà ci ho giocato per un po' con il controller della mia scatola da scarpe. Non è il modo Kerbal di usare le parti recuperate per hackerare qualcosa insieme?
Passaggio 4: suggerimenti sul cablaggio
Quando crei un prototipo, non saldare tutti i tuoi pulsanti a meno che tu non voglia dissaldrli quando arrivi alla custodia finale. Ho saldato alcuni fili ai pulsanti e ho utilizzato una breadboard senza saldatura per effettuare le connessioni temporanee all'Arduino.
Quando si collega tutta l'elettronica al frontalino finale, è possibile ridurre l'ingombro creando loop per 5V e massa. Non colleghi tutti i pin di terra direttamente ad Arduino, ma piuttosto colleghi la terra su un pulsante a terra sul pulsante successivo e gira tutto intorno. Infine, ti connetti ad Arduino.
Dopo aver creato i loop per l'alimentazione e la massa, rimangono tutte le connessioni ai pin Arduino. Consiglio di prendere alcune strisce di pin di intestazione e di saldare i fili a quelli. Puoi usarli come un grande connettore, così puoi ancora scollegare il tuo Arduino per i test.
La lunghezza dei fili è un atto di bilanciamento tra abbastanza corto da mantenere la custodia libera da grovigli di filo in eccesso (che potrebbero impedirti di essere in grado di chiudere la scatola) e abbastanza lungo da poter spostare le parti fuori strada per saldare altre parti, stringere le viti e frugare con il multimetro durante il debug.
Passaggio 5: ottenere il taglio laser del frontalino
Ottenere un aspetto pulito e professionale è molto difficile quando si sega e si dipinge a mano. Fortunatamente, il taglio laser non è più molto costoso. Consente un'estrema precisione, purché il tuo design sia accurato.
In allegato è il mio design del frontalino, nei formati appropriati per Affinity Designer e altri programmi di disegno vettoriale come InkScape gratuito.
Ho fatto tagliare al laser il frontalino in Olanda a Lichtzwaard. Da allora hanno chiuso e le attività sono state rilevate da Laserbeest, dove ho fatto tagliare al laser la scatola. Ogni negozio può avere requisiti diversi per il design, quindi controlla con il tuo negozio prima di inviare. Inoltre, offrono quasi sempre assistenza alla progettazione a una tariffa oraria.
Cose importanti da tenere a mente:
- Tutto deve essere basato su vettori. Ecco perché il logo nel mio design del frontalino non è stato inciso. Nota che questo non è risolto nei disegni allegati.
- Anche il testo è basato su vettori. Quindi converti quelle lettere in curve!
- Misurare. Misurare. Misurare. Non sono riuscito a prendere in considerazione le dimensioni necessarie per montare i joystick e ho dovuto hackerarlo. È venuto bene, per fortuna. Nota che questo è risolto nei disegni allegati.
Dopo aver controllato tutto accuratamente, invialo al negozio di taglio laser. Aspettati di pagare 40-50 euro in Olanda e ricevi questo bellissimo risultato per posta il giorno successivo!
Passaggio 6: collegamento di pulsanti e interruttori
La maggior parte degli interruttori e dei pulsanti ha i connettori etichettati C, NO, NC, +, -. Ecco come collegarli ad Arduino.
Interruttore o pulsante semplice:
- Massa C (comune)
- Pin digitale Arduino NO (normalmente aperto)
Configurare il pin digitale come INPUT_PULLUP, il che significa che Arduino manterrà il pin a 5 V e rileverà quando il pin viene messo a terra e lo tratterà come un input. Il connettore NO sull'interruttore o sul pulsante è normalmente aperto, quindi il circuito non è collegato. Quando si preme il pulsante o si attiva l'interruttore, il circuito si chiude e il pin viene messo a terra.
Pulsante con LED:
La parte del pulsante è la stessa di sopra. Per il LED, si collegano cavi aggiuntivi:
- Massa - (negativo)
- Pin digitale Arduino + (positivo)
Questa parte è piuttosto semplice. Useremo il pin Arduino in modalità OUTPUT normale.
Interruttori di sicurezza con LED:
Questi sono leggermente diversi e non consentono il controllo del LED indipendentemente dalla posizione dell'interruttore. Il LED si accenderà sempre solo quando l'interruttore è acceso. Hanno un connettore +, - e segnale.
- Massa - (negativo)
- 5V + (positivo)
- Pin digitale Arduino S (segnale)
Useremo il pin Arduino in modalità INPUT. Quando l'interruttore è attivato, il LED si accende e il pin del segnale diventa alto.
Passaggio 7: collegamento dei joystick e del display LCD
LCD
L'LCD è molto semplice. Ha solo bisogno di alimentazione, massa e seriale.
- 5V VDD
- Terra GND
- Arduino Tx PIN RX
È possibile utilizzare un connettore JST o saldare i fili direttamente alla scheda.
Joystick
I joystick potrebbero sembrare scoraggianti all'inizio, ma sono abbastanza facili da collegare. Ci sono tre assi che sono collegati allo stesso modo. Due di loro stanno usando i connettori nella parte inferiore del joystick. Il terzo utilizza alcuni fili.
- Terreno
- Pin di ingresso analogico Wiper Arduino
- 5V
I connettori possono essere collegati in questo ordine. Non preoccuparti di farlo tornare indietro, il tergicristallo è sempre quello centrale. Se l'alimentazione e la massa vengono scambiate, possiamo invertire l'asse nel codice Arduino in un secondo momento.
I fili potrebbero avere uno schema di colorazione diverso sul tuo joystick, ma in generale: i due fili con colori identici sono per il pulsante in alto. Rosso o arancione è 5V, nero o marrone è Ground. Il filo rimanente è il tergicristallo.
Passaggio 8: indicatori di carburante della barra LED
Va bene. Questa è la parte più difficile dell'intera costruzione. Sentiti libero di saltare questo nella tua prima build, o miglioralo e fammi sapere!
Ho queste fantastiche barre LED che voglio usare come indicatori di livello del carburante. Il LED superiore è blu, poi un po' di verde, poi arancione e infine rosso. Se possiamo accendere un LED alla volta, possiamo lasciare che rappresenti il livello del carburante sulla nostra navicella spaziale.
Inizialmente ho ordinato driver IC con loro. Funzionano benissimo! È possibile selezionare la modalità punto o la modalità barra e visualizzerà una tensione di ingresso analogica come un singolo LED (punto) o una gamma di LED (barra). Ma un Arduino non emette una tensione analogica! E la funzione PWM che consente di attenuare un LED emulando una sorta di tensione analogica, non funziona con questi circuiti integrati driver.
Al piano 2: registri a turni. Puoi lavorare con questi in ogni kit di avvio Arduino. E puoi saperne di più qui:
Il piano è convertire in qualche modo i livelli di carburante nella stringa di bit corretta che rappresenterà i livelli di carburante sulle barre LED. Con 5 indicatori di carburante, tutti i livelli di carburante riempiti dovrebbero essere 10000000001000000000100000000010000000001000000000. Con il monopropellente vuoto, diventerebbe: 10000000001000000000100000000010000000000000000001.
Sembra abbastanza semplice. Ci sono alcune complicazioni. I registri a scorrimento hanno 8 pin, mentre le barre LED hanno 10 LED. Uso 7 registri a scorrimento per ottenere 56 uscite. Quando li ho collegati, ho saltato un pin IC da qualche parte (lo inseriremo nel codice). E ho cablato una barra LED iniziando dall'altra estremità (lo sistemeremo nel codice). Oh e la matematica di Arduino di cui abbiamo bisogno a volte usa l'aritmetica in virgola mobile che causa errori di arrotondamento (lo sistemeremo nel codice). Nota che condivido il codice in un passaggio successivo.
La mia build finale non corrispondeva allo schema elettrico allegato, quindi se ricostruisci questo controller, sono necessari alcuni aggiornamenti al codice. Commenta di seguito se hai bisogno di assistenza.
Ogni LED richiede il proprio resistore. Prova alcuni valori diversi per abbinare la luminosità. Il verde appare molto più luminoso del rosso con gli stessi resistori, quindi aiuta a bilanciarlo.
Risultato finale: invece dei 50 pin digitali necessari per alimentare le 5 barre LED, si riduce a 3: un segnale di clock, un segnale di latch e un segnale di dati.
Passaggio 9: costruzione del recinto
È ora di vendicarsi con quei loghi!
Ho convertito i loghi in veri e propri disegni vettoriali in modo che vengano incisi perfettamente. Questa volta ho un problema diverso. I fori delle viti non sono nei punti giusti per il corretto montaggio della scatola. Ho usato MDF da 6 mm per la scatola. Sfortunatamente, l'avvitamento dei chiodi nei bordi li fa spaccare. L'ho hackerato insieme a pezzi di legno aggiuntivi e colla. Molta colla.
Per quelli di voi che sono più bravi con legno, colla e/o chiodi, ho allegato una versione dei disegni senza i fori per le viti.
Nonostante le difficoltà, il risultato finale è piuttosto scorrevole.
Passaggio 10: software e test
Scarica il seguente software per far funzionare il controller con Kerbal Space Program:
Plugin KSP:
Il file ZIP è il plugin compilato. Il resto è codice sorgente che puoi usare per modificare il plugin e compilare la tua versione. Decomprimi il plugin nella directory GamaData.
Codice Arduino:
Usa l'IDE Arduino per caricare il codice su Arduino Mega nel tuo controller.
Guarda in basso a destra nell'IDE di Arduino per capire su quale porta seriale si trova il controller (ad esempio /dev/cu.usbmodem1421). Apri il file config.xml dalla directory dei plugin e assicurati che la tua porta sia compilata. Ora sei a posto!
È possibile utilizzare la modalità debug mettendo il piccolo interruttore on/off in alto a sinistra in posizione ON. Il display LCD dovrebbe visualizzare una stringa di lettere. Ogni lettera rappresenta un pulsante o un interruttore e cambia tra minuscolo e maiuscolo quando si preme il pulsante o si attiva l'interruttore. Impostando gli interruttori xyz su Xyz (on/off/off) verranno visualizzati anche i valori del cursore del motore. xYz visualizza i valori del joystick per il joystick di traduzione (sinistro). xyZ per il joystick di rotazione (destra).
Modalità LCD
Le seguenti modalità di visualizzazione possono essere selezionate per la visualizzazione sull'LCD utilizzando gli interruttori x, yez
Modalità di decollo: velocità superficiale / accelerazione (G)
Modalità Orbita: Apoapsi + Tempo per Apoapsi / Periapsi + Tempo per Periapsi
Modalità di manovra: Tempo al prossimo nodo di manovra / Delta-V rimanente per il prossimo nodo
Modalità Rendezvous: Distanza dall'obiettivo/Velocità relativa all'obiettivo
Modalità di rientro: Percentuale di surriscaldamento (max) / Decelerazione (G)
Modalità di volo: altitudine / numero di Mach
Modalità di atterraggio: Radar Altitudine / Velocità verticale
Modalità Extra: non implementata (ancora)
Per vedere le diverse modalità in azione, guarda il video alla fine dell'istruzione.
Passaggio 11: sulla luna
Accendi KSP, carica la tua nave preferita o costruiscine una nuova e il gioco è fatto!
Suggerimenti:
- Usa il gruppo di azioni personalizzate 5 per le tue scale
- Usa il gruppo di azioni personalizzate 6 per i tuoi pannelli solari
- Usa il gruppo di azioni personalizzato 7 per paracadute o scivoli drogue
- Assegnare il sistema di fuga di lancio e i disaccoppiatori appropriati al gruppo di azioni Interrompi
- Non dimenticare che devi attivare il pulsante Staging
Secondo classificato all'Arduino Contest 2017
Secondo classificato al concorso per autori per la prima volta 2018
Consigliato:
Pannello di controllo della NASA per bambini: 10 passaggi (con immagini)
Pannello di controllo della NASA per bambini: l'ho costruito per mia cognata che gestisce un asilo nido. Ha visto la mia lager che ho costruito quasi tre anni fa per una fiera di un produttore di aziende e le è piaciuto molto, quindi ho costruito questo per lei per un regalo di Natale. Link al mio altro progetto qui: https://www
Supporto a parete per IPad come pannello di controllo per l'automazione domestica, utilizzando il magnete servocontrollato per attivare lo schermo: 4 passaggi (con immagini)
Supporto a parete per IPad come pannello di controllo per l'automazione domestica, utilizzando il magnete servocontrollato per attivare lo schermo: Ultimamente ho trascorso un po' di tempo ad automatizzare le cose dentro e intorno alla mia casa. Sto usando Domoticz come applicazione di automazione domestica, vedere www.domoticz.com per i dettagli. Nella mia ricerca di un'applicazione dashboard che mostri tutte le informazioni di Domoticz insieme
Luce per bici molto luminosa che utilizza PCB con pannello luminoso personalizzato: 8 passaggi (con immagini)
Luce per bici molto brillante che utilizza PCB con pannello luminoso personalizzato: se possiedi una bici, allora sai quanto possono essere spiacevoli le buche sulle gomme e sul tuo corpo. Ne avevo abbastanza di gonfiare le gomme, quindi ho deciso di progettare il mio pannello a led con l'intento di usarlo come luce per bici. Uno che si concentra sull'essere E
Orologio con animazione LED SMART connesso al Web con pannello di controllo basato sul Web, server dell'ora sincronizzato: 11 passaggi (con immagini)
Orologio con animazione LED SMART connesso al Web con pannello di controllo basato sul Web, server dell'ora sincronizzato: la storia di questo orologio risale a molto tempo fa, più di 30 anni. Mio padre è stato il pioniere di questa idea quando avevo solo 10 anni, molto prima della rivoluzione dei LED, quando i LED erano 1/1000 della luminosità della loro attuale brillantezza accecante. Un vero
Pannello luminoso personalizzato indossabile (Corso di esplorazione tecnologica - TfCD - Tu Delft): 12 passaggi (con immagini)
Pannello luminoso personalizzato indossabile (Corso di esplorazione tecnologica - TfCD - Tu Delft): in questo Instructable imparerai come creare la tua immagine illuminata che puoi indossare! Questo viene fatto utilizzando la tecnologia EL ricoperta da una decalcomania in vinile e attaccandoci delle fasce in modo da poterla indossare intorno al braccio. Puoi anche cambiare parti di questo p