Sommario:
- Passaggio 1: materiali
- Passaggio 2: pianificazione
- Passaggio 3: stampa 3D
- Passaggio 4: montaggio - Rimuovere i LED
- Passaggio 5: Assemblaggio - Aggiungi intestazioni foro passante
- Passaggio 6: assemblaggio - Fissare i LED
- Step 7: Assemblaggio - Attacca il PhidgetIR
- Passaggio 8: Assemblaggio - Aggiunta di pulsanti
- Step 9: Assemblaggio - Mettere tutto insieme
- Passaggio 10: Software - Codice
- Passaggio 11: Software - Comandi CIR
- Passaggio 12: esecuzione del programma
- Passaggio 13: risultato
Video: Tecnologia per tuo nonno: 13 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Quante volte sei andato a casa dei tuoi nonni per aiutarti con un "problema tecnologico" che si è rivelato essere un cavo di alimentazione scollegato, una batteria del telecomando scarica o non essere in grado di cambiare la fonte sulla loro TV? So che per me, questo accade abbastanza spesso. Sebbene la maggior parte dei loro problemi possa essere risolta semplicemente correndo al negozio per alcuni nuovi AA, a volte potrebbero beneficiare di una soluzione più personalizzata.
Ad esempio, il nonno della mia ragazza ha preso un nuovo televisore e abbiamo cercato di insegnargli come cambiare la sorgente in modo che potesse passare dal DVD alla TV, ma non riusciva a capirlo. Ha anche a che fare con problemi di vista e non è troppo interessato a cercare di ricordare processi complicati, vuole solo guardare i suoi spettacoli quando vuole. Dopo aver cercato di spiegare con calma i passaggi durante la nostra ultima visita senza molto successo, ho deciso che gli avrei fatto semplicemente il suo semplice telecomando a due pulsanti. Ciò gli consentirebbe di cambiare la sorgente di ingresso sul suo televisore senza problemi, passando facilmente tra i suoi amati DVD Matlock e Price is Right.
Passaggio 1: materiali
- PhidgetIR
- PhidgetSBC4 (o qualsiasi computer a scheda singola come il Raspberry Pi)
- Saldatore
- Taglierine laterali
- Spelafili
- Cavi per ponticelli
- Cavo USB
- Cavo Phidget
- Allegato
- Intestazioni a foro passante
- Guaina termoretraibile
Passaggio 2: pianificazione
Per creare il telecomando, avevo bisogno della capacità di inviare comandi consumer a infrarossi (CIR) al televisore. Ho deciso di utilizzare PhigetIR per questo compito. Il PhidgetIR è un dispositivo controllato da USB che ha la capacità di inviare e ricevere comandi CIR. Ho scelto questo per alcuni motivi:
- Volevo finire questo progetto il prima possibile e metterlo in pratica, quindi il pensiero di rompere il mio oscilloscopio e la mia breadboard non era allettante. Inoltre, quanto è probabile che i miei circuiti saldati a mano funzionino ancora tra un anno o due?
- Il PhidgetIR ha la capacità di "apprendere" i comandi CIR rendendo lo sviluppo estremamente semplice.
- Puoi utilizzare quasi tutti i linguaggi di programmazione tradizionali con PhidgetIR. Ciò significava che potevo usare Java e portare a termine le cose rapidamente.
- Infine, lavoro per Phidgets, quindi mi trovo bene con l'API e ci sono sempre dispositivi di riserva in giro.
Poiché ho scelto di utilizzare PhidgetIR, avevo bisogno di un computer per eseguirlo. Volevo che questo progetto fosse un'applicazione autonoma, proprio come un normale telecomando, quindi un desktop o un laptop erano fuori. Ho scelto di utilizzare un PhidgetSBC4 (un computer a scheda singola con Debian Linux), perché mi ha permesso di interfacciarmi con entrambi i pulsanti senza alcun hardware aggiuntivo. Possono essere semplicemente cablati direttamente all'hub VINT integrato. Nota: puoi anche usare un Raspberry Pi per questo progetto. Infine, oltre ad essere funzionalmente valido, volevo che questo progetto avesse un bell'aspetto, quindi ho deciso che sarebbe stato necessario un involucro stampato in 3D.
Passaggio 3: stampa 3D
Per questo progetto, Geomagic è stato utilizzato per modellare il recinto. Sono disponibili file di passaggio 3D sia per PhidgetIR che per PhidgetSBC4 che hanno semplificato il processo. Durante questa fase sono state prese alcune decisioni in merito alle dimensioni e alla funzionalità della custodia:
- Il PhidgetIR ha due LED IR che devono essere puntati verso la TV per inviare comandi. Invece di progettare l'involucro attorno alla scheda PhidgetIR, i LED IR potrebbero essere dissaldati e incollati nei fori sul lato dell'involucro. La scheda PhidgetIR potrebbe quindi essere montata lontano dai LED, utilizzando lo spazio vuoto.
- I connettori VINT Hub sul PhidgetSBC4 potrebbero essere piegati verso l'alto, il che consentirebbe comunque l'accesso per le connessioni dei pulsanti ed eviterebbe anche di dover creare un involucro più grande.
Ho anche deciso di aggiungere un'etichetta per i pulsanti e un'etichetta che indica la direzione in cui dovrebbe essere rivolto in modo che i LED IR siano puntati nella giusta direzione. Ho stampato la custodia localmente in plastica ABS nera.
Passaggio 4: montaggio - Rimuovere i LED
I LED IR verranno eventualmente incollati nei fori sul lato dell'involucro. Ciò significa che devono prima essere dissaldati.
Passaggio 5: Assemblaggio - Aggiungi intestazioni foro passante
Successivamente, sono state aggiunte intestazioni a foro passante dove prima si trovavano i LED, il che le ha rese facili da collegare utilizzando un cavo jumper a 4 pin. Utilizzare un tubo termoretraibile per evitare contatti accidentali.
Passaggio 6: assemblaggio - Fissare i LED
Incolla i LED sul lato della custodia.
Step 7: Assemblaggio - Attacca il PhidgetIR
Collegare il PhidgetIR all'enclosure e collegare i LED.
Passaggio 8: Assemblaggio - Aggiunta di pulsanti
I pulsanti devono essere collegati all'hub VINT integrato sul PhidgetSBC, quindi ho tagliato a metà un cavo Phidget e saldato le estremità ai pulsanti. Notare che sono necessari solo il filo bianco (segnale) e nero (massa).
Step 9: Assemblaggio - Mettere tutto insieme
È stata necessaria una certa gestione dei cavi per mettere tutto insieme, tuttavia, la custodia ha funzionato bene.
Passaggio 10: Software - Codice
C'è solo un singolo file Java richiesto per questo progetto che puoi trovare qui. Il programma utilizza un oggetto PhidgetIR e due oggetti DigitalInput. Puoi creare questi oggetti in questo modo:
PhidgetIR ir =nuovo PhidgetIR();
DigitalInput tvButton =new DigitalInput(); DigitalInput otherButton=new DigitalInput();
Gli oggetti Digital Input sono mappati su un pulsante fisico sull'hub VINT. Anche gli eventi di collegamento, scollegamento, errore e cambio di stato sono sottoscritti a:
tv.setIsHubPortDevice(true);
tvButton.setHubPort(4); tvButton.addAttachListener(onAttachListener); tvButton.addDetachListener(onDetachListener); tvButton.addErrorListener(onErrorListener); tvButton.addStateChangeListener(onStateChangeListener); tvButton.open(); otherButton.setIsHubPortDevice(true); otherButton.setHubPort(5); otherButton.addAttachListener(onAttachListener); otherButton.addDetachListener(onDetachListener); otherButton.addErrorListener(onErrorListener); otherButton.addStateChangeListener(onStateChangeListener); altroButton.open();
Il listener di modifica dello stato a cui si fa riferimento sopra assomiglia a questo:
privatestatic DigitalInputStateChangeListener onStateChangeListener =new DigitalInputStateChangeListener(){@OverridepublicvoidonStateChange(DigitalInputStateChangeEvent disce){
DigitalInput ch =(DigitalInput) disce.getSource();try{if(ch.getHubPort()==4&& disce.getState()==true){ tvButtonActivated =true;}if(ch.getHubPort()==5&& disce.getState()==true){ otherButtonActivated =true;}}catch(PhidgetException ex){ System.out.println("Error: "+ ex.getDescription());}}};
Quando viene attivato un pulsante, il codice dell'evento verrà eseguito e imposterà un flag. Questi flag verranno referenziati e reimpostati nel ciclo principale. Il ciclo principale attende semplicemente un cambiamento nello stato del pulsante, quindi invia i comandi IR utilizzando la funzione di trasmissione disponibile dall'API PhidgetIR.
while(true){if(tvButtonActivated){
tvButtonActivated =false; Log.log(LogLevel. INFO, "CAMBIO SORGENTE - TV"); ir.transmit(sourceButtonString, codeInfo); Thread.sleep(500); ir.transmit(rightButtonString, codeInfo); Thread.sleep(500); ir.transmit(enterButtonString, codeInfo);}if(otherButtonActivated){ otherButtonActivated =false; Log.log(LogLevel. INFO, "CAMBIO SORGENTE - DVD"); ir.transmit(sourceButtonString, codeInfo); Thread.sleep(500); ir.transmit(leftButtonString, codeInfo); Thread.sleep(500); ir.transmit(enterButtonString, codeInfo);} Thread.sleep(250);}
Passaggio 11: Software - Comandi CIR
Ecco un esempio di come creare un comando (un comando di aumento del volume in questo caso):
//Codice IR
IRCodeInfo sourceButtonCI =new IRCodeInfo(); String volumeUp ="77e1d0f0";//Imposta pulsante sorgente sourceButtonCI.bitCount=32; sourceButtonCI.encoding= IRCodeEncoding. SPACE; sourceButtonCI.gap=108921; sourceButtonCI.trail=549; sourceButtonCI.zero=newint[2]; sourceButtonCI.zero[0]=549; sourceButtonCI.zero[1]=627; sourceButtonCI.one=newint[2]; sourceButtonCI.one[0]=549; sourceButtonCI.one[1]=1755; sourceButtonCI.header=newint[2]; sourceButtonCI.header[0]=9084; sourceButtonCI.header[1]=4600; sourceButtonCI.repeat=newint[3]; sourceButtonCI.repeat[0]=9084; sourceButtonCI.repeat[1]=2308; sourceButtonCI.repeat[2]=549; sourceButtonCI.length= IRCodeLength. CONSTANT;
Per ottenere le informazioni per questo comando, ho semplicemente usato l'esempio PhidgetIR fornito con le librerie Phidget. Dopo aver puntato il telecomando verso il PhidgetIR e aver tenuto premuto il pulsante di aumento del volume, l'IR "apprende" il codice e popola l'esempio. Queste informazioni possono quindi essere semplicemente copiate nel codice.
Passaggio 12: esecuzione del programma
Il file Java può essere scritto e compilato su un computer esterno. Posiziona PhidgetRemote.java e phidget22.jar nella stessa cartella ed esegui il seguente comando:
Windowsjavac -classpath.;phidget22.jar PhidgetRemote.java
macOS/Linuxjavac -classpath.:phidget22.jar PhidgetRemote.java
Dopo la compilazione, copia i file di classe generati in PhidgetSBC4 e configuralo per l'esecuzione all'avvio.
Passaggio 13: risultato
Quando ho regalato il telecomando al nonno della mia ragazza e gli ho mostrato come usarlo, è rimasto stupito di quanto fosse semplice. Guarda il video per vederlo in azione!
Terzo Premio al Concorso Telecomando 2017
Consigliato:
Steam Punk Il tuo UPS per ottenere ore di attività per il tuo router Wi-Fi: 4 passaggi (con immagini)
Steam Punk Il tuo UPS per ottenere ore di attività per il tuo router Wi-Fi: C'è qualcosa di fondamentalmente sgradevole nel fatto che il tuo UPS converta la sua alimentazione a batteria da 12 V CC in alimentazione a 220 V CA in modo che i trasformatori che eseguono il router e la fibra ONT possano riconvertirlo in 12V CC! Sei anche contro il [tipicamente
Controlla il layout del tuo modello di treno con il tuo cellulare!: 11 passaggi (con immagini)
Controlla il layout del tuo modello di treno con il tuo telefono cellulare!: Il controllo di un layout di modello di treno con un acceleratore cablato e controller di affluenza potrebbe essere un buon inizio per i principianti, ma pongono un problema di non portabilità. Inoltre, i controller wireless disponibili sul mercato possono controllare solo alcune locomotive
Rilevare il nonno fuori dal letto troppo a lungo: 7 passaggi
Rilevare il nonno fuori dal letto troppo a lungo: BackgroundMentre ci sono stati monitor di allarme del letto per molti anni che sono solo semplici chiusure di contatti del letto che suonano un allarme locale per gli operatori sanitari quando qualcuno si alza dal letto, non c'è stato un modo per la famiglia remota badanti per monitorare un lo
La migliore borsa per laptop per il tuo Eee Pc!: 4 passaggi (con immagini)
La migliore borsa per laptop per il tuo Eee Pc!: Penso di aver finalmente trovato la custodia perfetta per il mio eee pc 701. Stavo cercando qualcosa da quando ho comprato il mio primo eee pc - il 1000, e ne ho fatti anche un paio di altri borse per laptop e mod specifiche per questo. Ma il piccolo
Supporto per laptop per il tuo netbook: 4 passaggi (con immagini)
Supporto per laptop per il tuo netbook: la maggior parte dei supporti per laptop sono realizzati per laptop di dimensioni standard. Ho cercato per sempre uno stand adatto per la mia collezione di netbook Eee Pc. Tutto era troppo grande, troppo costoso o semplicemente non esisteva. Alla fine sono andato al mio negozio preferito