Cuprins:
- Pasul 1: Materiale
- Pasul 2: Planificare
- Pasul 3: Imprimare 3D
- Pasul 4: Asamblare - Scoateți LED-urile
- Pasul 5: Asamblare - Adăugați anteturi prin găuri
- Pasul 6: Asamblare - Atașați LED-uri
- Pasul 7: Asamblare - Atașați PhidgetIR
- Pasul 8: Asamblare - Adăugarea de butoane
- Pasul 9: Asamblare - Punând totul împreună
- Pasul 10: Software - Cod
- Pasul 11: Software - Comenzi CIR
- Pasul 12: Rularea programului
- Pasul 13: Rezultat
Video: Tehnologie pentru bunicul tău: 13 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
De câte ori te-ai dus la casa bunicilor pentru a ajuta cu o „problemă tehnologică” care a ajuns să fie un cablu de alimentare deconectat, o baterie de la distanță moartă sau să nu poți schimba sursa de pe televizor? Știu că pentru mine acest lucru se întâmplă destul de des. Deși majoritatea problemelor lor pot fi rezolvate prin simpla alergare la magazin pentru unele AA noi, uneori ar putea beneficia de o soluție mai personalizată.
De exemplu, bunicul iubitei mele a primit un nou televizor și am încercat să-l învățăm cum să schimbe sursa, astfel încât să poată comuta între DVD-uri și televizor - dar pur și simplu nu și-a dat seama. De asemenea, are de-a face cu vederea deficitară și nu este prea interesat să încerce să-și amintească procesele complicate, vrea doar să-și urmărească emisiunile când vrea. După ce am încercat să explic calm pașii din ultima noastră vizită fără prea mult succes, am decis că îi voi face doar propria sa telecomandă simplă cu două butoane. Acest lucru i-ar permite să schimbe nedureros sursa de intrare de pe televizor, trecând între iubitele sale DVD-uri Matlock și Price is Right cu ușurință.
Pasul 1: Materiale
- PhidgetIR
- PhidgetSBC4 (sau orice computer de bord unic, cum ar fi Raspberry Pi)
- Ciocan de lipit
- Freze laterale
- Dispozitive de decupare a firelor
- Sârme jumper
- Cablu USB
- Cablu Phidget
- Incintă
- Anteturi prin găuri
- Tuburi termocontractabile
Pasul 2: Planificare
Pentru a crea telecomanda, aveam nevoie de abilitatea de a trimite comenzi în infraroșu (CIR) către televizor. Am decis să folosesc PhigetIR pentru această sarcină. PhidgetIR este un dispozitiv controlat prin USB care are capacitatea de a trimite și primi comenzi CIR. Am ales asta din câteva motive:
- Am vrut să termin acest proiect cât mai curând posibil și să-l folosesc, așa că gândul de a-mi sparge osciloscopul și panoul de măsurare nu era atrăgător. De asemenea, cât de probabil este ca circuitele mele lipite manual să funcționeze în continuare într-un an sau doi?
- PhidgetIR are capacitatea de a „învăța” comenzile CIR făcând dezvoltarea extrem de simplă.
- Puteți utiliza aproape orice limbaj de programare mainstream cu PhidgetIR. Acest lucru însemna că aș putea folosi Java și finaliza lucrurile rapid.
- În cele din urmă, lucrez pentru Phidgets, așa că sunt confortabil cu API-ul și există întotdeauna dispozitive de rezervă.
Deoarece am ales să folosesc PhidgetIR, aveam nevoie de un computer pentru a-l rula. Am vrut ca acest proiect să fie o aplicație de sine stătătoare, la fel ca o telecomandă normală, așa că un desktop sau laptop era în afara. Am ales să folosesc un PhidgetSBC4 (un computer cu o singură placă care rulează Debian Linux), deoarece îmi permitea interfața cu ambele butoane fără niciun hardware suplimentar. Ele pot fi conectate direct la hub-ul VINT încorporat. Notă: puteți utiliza și un Raspberry Pi pentru acest proiect. În cele din urmă, pe lângă funcționalitatea sunetului, am vrut ca acest proiect să arate grozav, așa că am decis că va fi necesară o incintă tipărită 3D.
Pasul 3: Imprimare 3D
Pentru acest proiect, Geomagic a fost folosit pentru modelarea incintei. Există fișiere 3D pas disponibile atât pentru PhidgetIR, cât și pentru PhidgetSBC4, care au simplificat procesul. Unele decizii au fost luate în acest pas cu privire la dimensiunea și funcționalitatea incintei:
- PhidgetIR are două LED-uri IR care trebuie să fie orientate spre televizor pentru a trimite comenzi. În loc să proiecteze carcasa în jurul plăcii PhidgetIR, LED-urile IR pot fi desoldate și lipite în găurile de pe partea laterală a carcasei. Placa PhidgetIR ar putea fi apoi montată departe de LED-uri, utilizând spațiul gol.
- Conectorii VINT Hub de pe PhidgetSBC4 ar putea fi îndoiți în sus, ceea ce ar permite totuși accesul la conexiunile cu buton și ar împiedica, de asemenea, crearea unei carcase mai mari.
De asemenea, am decis să adaug o etichetă pentru butoane și o etichetă care să indice direcția pe care ar trebui să o orienteze, astfel încât LED-urile IR să fie îndreptate în direcția corectă. Am imprimat incinta local din plastic ABS negru.
Pasul 4: Asamblare - Scoateți LED-urile
LED-urile IR vor fi lipite în cele din urmă în găuri pe partea laterală a incintei. Aceasta înseamnă că mai întâi trebuie să fie desoldați.
Pasul 5: Asamblare - Adăugați anteturi prin găuri
Apoi, s-au adăugat anteturi prin găuri acolo unde erau LED-urile, ceea ce le-a făcut să fie ușor de conectat folosind un cablu jumper cu 4 pini. Utilizați tuburi termocontractabile pentru a preveni contactul accidental.
Pasul 6: Asamblare - Atașați LED-uri
Lipiți LED-urile în lateralul carcasei.
Pasul 7: Asamblare - Atașați PhidgetIR
Atașați PhidgetIR la carcasă și conectați LED-urile.
Pasul 8: Asamblare - Adăugarea de butoane
Butoanele trebuie conectate la hub-ul VINT încorporat de pe PhidgetSBC, așa că am tăiat un cablu Phidget în jumătate și am lipit capetele de butoane. Rețineți că sunt necesare doar firul alb (semnalul) și negrul (masa).
Pasul 9: Asamblare - Punând totul împreună
A fost necesară o anumită gestionare a cablurilor pentru a reuni totul, totuși carcasa a funcționat bine.
Pasul 10: Software - Cod
Există un singur fișier Java necesar pentru acest proiect pe care îl puteți găsi aici. Programul folosește un obiect PhidgetIR și două obiecte DigitalInput. Puteți crea aceste obiecte astfel:
PhidgetIR ir = nou PhidgetIR ();
DigitalInput tvButton = nou DigitalInput (); DigitalInput otherButton = nou DigitalInput ();
Obiectele de intrare digitală sunt mapate la un buton fizic de pe hub-ul VINT. Evenimentele de atașare, detașare, eroare și modificare a stării sunt, de asemenea, abonate la:
tv.setIsHubPortDevice (adevărat);
tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); tvButton.open (); otherButton.setIsHubPortDevice (adevărat); otherButton.setHubPort (5); otherButton.addAttachListener (onAttachListener); otherButton.addDetachListener (onDetachListener); otherButton.addErrorListener (onErrorListener); otherButton.addStateChangeListener (onStateChangeListener); otherButton.open ();
Ascultătorul de schimbări de stare menționat mai sus arată astfel:
privatestatic DigitalInputStateChangeListener onStateChangeListener = new DigitalInputStateChangeListener () {@ OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {
DigitalInput ch = (DigitalInput) disce.getSource (); încercați {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 ());}}};
Când este activat un buton, codul evenimentului se va executa și va seta un semnalizator. Aceste semnalizări vor fi referite și resetate în bucla principală. Bucla principală așteaptă pur și simplu o modificare a stării butonului și apoi trimite comenzi IR folosind funcția de transmisie disponibilă din API-ul PhidgetIR.
while (adevărat) {if (tvButtonActivated) {
tvButtonActivated = false; Log.log (LogLevel. INFO, "SURSA CHANGING - 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, "SURSA CHANGING - DVD"); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}
Pasul 11: Software - Comenzi CIR
Iată un exemplu despre cum să creați o comandă (o comandă de creștere a volumului în acest caz):
// Cod IR
IRCodeInfo sourceButtonCI = new IRCodeInfo (); String volumeUp = "77e1d0f0"; // Configurați butonul sursă 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;
Pentru a obține informațiile pentru această comandă, am folosit pur și simplu exemplul PhidgetIR care vine cu bibliotecile Phidget. După îndreptarea telecomenzii către PhidgetIR și menținerea apăsată a butonului de creștere a volumului, IR „învață” codul și completează exemplul. Aceste informații pot fi apoi copiate pur și simplu în cod.
Pasul 12: Rularea programului
Fișierul Java poate fi scris și compilat pe un computer extern. Plasați PhidgetRemote.java și phidget22.jar în același folder și rulați următoarea comandă:
Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java
macOS / Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java
După compilare, copiați fișierele clasei generate pe PhidgetSBC4 și configurați-le pentru a rula la pornire.
Pasul 13: Rezultat
Când i-am dat telecomanda bunicului iubitei mele și i-am arătat cum să o folosească, a fost uimit de cât de simplu era. Vizionați videoclipul pentru a-l vedea în acțiune!
Premiul III la Concursul de Telecomandă 2017
Recomandat:
Tehnologie de asistență pentru dificultățile vorbirii folosind MakeyMakey W / Scratch: 4 pași
Tehnologie de asistență pentru dificultăți de vorbire Utilizarea MakeyMakey W / Scratch: Dispozitivul meu de tehnologie de asistență este utilizat pentru a ajuta cu dizabilități de vorbire sau cu vorbire limitată. Este. menit să ajute în procesul de învățare
Tehnologie portabilă pentru copii: Hero Bandă: 4 pași
Tehnică portabilă pentru copii: banderolă de erou: Acest instructiv va acoperi cum să faci o „banderolă de erou” care să se aprindă atunci când este purtată. Folosind bandă conductivă de țesătură, fir conductiv și LED-uri cusute, aceasta este o activitate excelentă pentru elevii de școală pentru a învăța elementele de bază ale circuitelor și tehnologiei purtabile. Te
D4E1 - DIY - Tehnologie de asistență: Tavă reglabilă pentru scaune cu rotile: 7 pași (cu imagini)
D4E1 - DIY - Tehnologie de asistență: Tavă reglabilă pentru scaun cu rotile: Kjell are un handicap congenital: cvadripareză diskinetică și nu poate mânca singur. El are nevoie de ajutorul unui monitor, un terapeut ocupațional, care îl hrănește. Aceasta vine cu două probleme: 1) Terapeutul ocupațional stă la volan
D4E1 - DIY - Tehnologie de asistență - Ajutor pentru boccia: 9 pași
D4E1 - DIY - Tehnologie de asistență - Boccia Aid: Manolito a avut un infarct de stigmat cerebral și este paralizat pe jumătate. Pasiunea lui este să joace boccia și ar dori un ajutor pentru a pune în bocciaballs. De la început a jucat boccia cu 6 bile între brațul stâng și corp. Acum, în timp ce el
Health Step - Tehnologie și securitate pentru sănătatea sănătății: 3 pași
Health Step - Tehnologie și securitate pentru sănătatea sănătății: Echipament: Andr é Pereira Cavalcante Douglas Shuji Ozawa Jhunu Fernandes Ara ú jo Lucas Marques Ribeiro Pedro In á cio de Nascimento e BarbalhoPalavras-Chaves: rfid; sa ú de; dragonboard; sancaton; agilitate; sistem de informații și cce