Sommario:

Controller 3D fai da te: 8 passaggi (con immagini)
Controller 3D fai da te: 8 passaggi (con immagini)

Video: Controller 3D fai da te: 8 passaggi (con immagini)

Video: Controller 3D fai da te: 8 passaggi (con immagini)
Video: Quando provi a fare un complimento a una ragazza... 2024, Ottobre
Anonim
Controller 3D fai da te
Controller 3D fai da te

Crea un'interfaccia 3D usando sei resistori, un foglio di alluminio e un Arduino. Prendi questo, Wii. Update: una spiegazione molto più approfondita di questo progetto è disponibile su Make Magazine. Potrebbe essere più facile seguire le loro istruzioni e penso che il loro codice sia più aggiornato. L'obiettivo di base era creare un sistema di rilevamento della posizione della mano 3D che la maggior parte delle persone possa costruire, pur preservando una parvenza di funzionalità. Per avere un'idea delle possibili applicazioni, guarda il video dimostrativo. Se pensi di poterne costruire uno più semplice e altrettanto accurato, o leggermente più complesso e accurato, condividi i commenti! Interfaccia 3D fai da te: Tic Tac Toe di Kyle McDonald su Vimeo.

Passaggio 1: materiali

Materiali
Materiali
Materiali
Materiali

Utensili

  • Arduino
  • in lavorazione
  • Pinza tagliafili
  • Saldatore
  • Taglierino

Materiali

  • (3) resistori da 270k
  • (3) resistori da 10k
  • Saldare
  • Filo
  • Foglio di alluminio
  • Cartone

Opzionale:

  • Nastro adesivo (es.: scotch)
  • Cavo schermato (es.: cavo coassiale, ~3')
  • (3) clip a coccodrillo
  • Intestazione a 3 pin
  • Fascetta
  • Tubo termoretraibile o colla a caldo

Passaggio 2: crea i piatti

Prepara i piatti
Prepara i piatti
Prepara i piatti
Prepara i piatti

Questo sensore funzionerà utilizzando semplici circuiti RC, con ogni distanza di rilevamento del circuito in una dimensione. Ho scoperto che il modo più semplice per disporre tre piastre capacitive per questo scopo è nell'angolo di un cubo. Ho tagliato l'angolo di una scatola di cartone in un cubo da 8,5 pollici, quindi ho tagliato un foglio di alluminio per adattarli a quadrati leggermente più piccoli. Il nastro adesivo sugli angoli li tiene in posizione. Non fissare l'intero perimetro, ne avremo bisogno in seguito per il fissaggio delle clip a coccodrillo.

Passaggio 3: crea i connettori

Crea i connettori
Crea i connettori
Crea i connettori
Crea i connettori
Crea i connettori
Crea i connettori

Per collegare Arduino alle piastre abbiamo bisogno di un filo schermato. Se il filo non è schermato, i fili stessi agiscono più ovviamente come parte del condensatore. Inoltre, ho scoperto che le clip a coccodrillo rendono davvero facile collegare le cose all'alluminio, ma probabilmente ci sono anche molti altri modi.

  • Tagliare tre lunghezze uguali di cavo schermato. Ho scelto circa 12". Più corto è, meglio è. Il cavo coassiale funziona, ma più è leggero/flessibile meglio è.
  • Spelare l'ultimo mezzo pollice circa per rivelare la schermatura e l'ultimo quarto di pollice per rivelare il filo.
  • Attorcigliare le clip a coccodrillo ai fili sui fili e saldarli insieme.
  • Aggiungi del tubo termoretraibile o della colla a caldo per tenere insieme le cose.

Passaggio 4: crea il circuito

Fai il circuito
Fai il circuito
Fai il circuito
Fai il circuito
Fai il circuito
Fai il circuito
Fai il circuito
Fai il circuito

Il "circuito" è solo due resistori per pezzo di alluminio. Per capire perché sono lì, aiuta sapere cosa stiamo facendo con Arduino. Quello che faremo con ogni pin, in sequenza, è:

  • Imposta il pin sulla modalità di uscita.
  • Scrivi un "basso" digitale sul pin. Ciò significa che entrambi i lati del condensatore sono collegati a terra e si scaricherà.
  • Imposta il pin sulla modalità di input.
  • Conta quanto tempo impiega il condensatore a caricarsi aspettando che il pin diventi "alto". Questo dipende dai valori del condensatore e delle due resistenze. Poiché i resistori sono fissi, sarà misurabile una variazione di capacità. La distanza da terra (la tua mano) sarà la variabile principale che contribuisce alla capacità.

I resistori da 270k forniscono la tensione per caricare i condensatori. Più piccolo è il valore, più velocemente si caricheranno. Anche i resistori da 10k influiscono sui tempi, ma non capisco completamente il loro ruolo. Realizzeremo questo circuito alla base di ciascun filo.

  • Saldare il resistore da 10k all'estremità del filo di fronte alla clip a coccodrillo
  • Saldare la resistenza da 270k tra lo schermo e il filo (piastra). Schermiremo il filo con gli stessi 5 V che usiamo per caricare i condensatori

Passaggio 5: terminare e collegare il connettore

Finisci e attacca il connettore
Finisci e attacca il connettore
Finisci e attacca il connettore
Finisci e attacca il connettore
Finisci e attacca il connettore
Finisci e attacca il connettore

Una volta che i 3 connettori sono finiti, potresti voler aggiungere un tubo termorestringente o una colla a caldo per isolarli l'uno dall'altro, perché salderai insieme i punti di schermatura/5 V.

Per me è stato più facile saldare insieme i due connettori più esterni e poi aggiungere il terzo. Una volta saldati i tre connettori, aggiungere un quarto filo per l'alimentazione della schermatura/5 V.

Passaggio 6: connessione e caricamento del codice

Connetti e carica il codice
Connetti e carica il codice
Connetti e carica il codice
Connetti e carica il codice
  • Collega il connettore ad Arduino (pin 8, 9 e 10)
  • Aggancia i coccodrilli sui piatti (8:x:sinistra, 9:y:fondo, 10:z:destra)
  • Fornisci alimentazione collegando il quarto filo (il mio filo rosso) ai 5 V. di Arduino
  • Collega Arduino, avvia l'ambiente Arduino
  • Carica il codice sulla scheda (nota: se sei fuori dal Nord America, probabilmente dovrai cambiare #define mains a 50 invece di 60).

Il codice Arduino è allegato come Interface3D.ino e il codice di elaborazione è allegato come TicTacToe3D.zip

Passaggio 7: fai qualcosa di interessante

Se guardi la finestra seriale nell'ambiente Arduino, noterai che emette coordinate 3D grezze a 115200 baud, a circa 10 Hz = 60 Hz / (2 cicli completi * 3 sensori). Il codice effettua misurazioni il maggior numero di volte possibile su ciascun sensore nell'arco di due cicli della frequenza di rete (che è sorprendentemente stabile) per annullare qualsiasi accoppiamento. La prima cosa che ho fatto con questo è stata creare un semplice Tic 3D Interfaccia Tac Toe. Se vuoi iniziare con una demo funzionante, il codice è disponibile qui, rilascia semplicemente la cartella "TicTacToe3D" nella cartella Processing sketches. Tre cose utili che il codice Tic Tac Toe dimostra:

  • Linearizza i dati grezzi. Il tempo di carica segue in realtà una legge di potenza relativa alla distanza, quindi devi prendere la radice quadrata di uno nel tempo (cioè distanza ~= sqrt(1/time))
  • Normalizza i dati. Quando avvii lo schizzo, tieni premuto il pulsante sinistro del mouse mentre muovi la mano per definire i confini dello spazio con cui vuoi lavorare.
  • Aggiungendo "slancio" ai dati per appianare eventuali nervosismi.

In pratica, utilizzando questa configurazione con un foglio di alluminio posso ottenere una gamma della dimensione più grande del foglio (il pezzo più grande che ho testato è di 1,5 piedi quadrati).

Passaggio 8: variazioni e note

Variazioni

  • Costruisci sensori enormi
  • Ottimizza i resistori e il codice per le cose che vibrano rapidamente e usalo come pickup/microfono
  • Probabilmente ci sono altri trucchi per disaccoppiare il sistema dal ronzio AC (un enorme condensatore tra le piastre e la terra?)
  • Ho provato a schermare le piastre sul fondo, ma sembra solo causare problemi
  • Crea un selettore di colori RGB o HSB
  • Controlla i parametri video o musicali; metti in sequenza un ritmo o una melodia
  • Ampia superficie leggermente piegata con più piastre + un proiettore = interfaccia "Minority Report"

Appunti

Il parco giochi Arduino ha due articoli sul rilevamento tattile capacitivo (CapSense e CapacitiveSensor). Alla fine, sono andato con un'inversione di un progetto in cui mi sono imbattuto nella copia di un amico di "Physical Computing" (Sullivan/Igoe) che descrive come usare RCtime (il circuito aveva il condensatore e un resistore fissati e misurato il valore di un potenziometro). La temporizzazione dei microsecondi è stata ottenuta utilizzando del codice leggermente ottimizzato dai forum di Arduino. Di nuovo: solo a partire da tonnellate di schemi theremin che non capisco completamente, sono ben consapevole che ci sono modi migliori per fare il rilevamento capacitivo della distanza, ma volevo fare qualcosa di più semplice possibile che fosse ancora funzionale. Se hai un design altrettanto semplice e funzionale, pubblicalo nei commenti! Grazie a Dane Kouttron per aver tollerato tutte le mie domande di base sull'elettronica e avermi aiutato a capire come funziona un semplice circuito theremin eterodina (originariamente, stavo per usare questi - e, se sintonizzato correttamente, sarebbe probabilmente più accurato).

Primo Premio al Concorso del Libro The Instructables

Consigliato: