Kazalo:

Tehnologija za vašega dedka: 13 korakov (s slikami)
Tehnologija za vašega dedka: 13 korakov (s slikami)

Video: Tehnologija za vašega dedka: 13 korakov (s slikami)

Video: Tehnologija za vašega dedka: 13 korakov (s slikami)
Video: ПРИВОЗ. ОДЕССА МАМА. Рецепт САЛО. ОБЗОР НОЖЕЙ 2024, November
Anonim
Image
Image

Kolikokrat ste že hodili k starim staršem pomagati pri "tehnološki težavi", ki je bila na koncu odklopljen napajalni kabel, prazna baterija na daljavo ali pa niste mogli preklopiti vira na televizorju? Vem, da se to zame pogosto dogaja. Medtem ko je večino njihovih težav mogoče rešiti s preprostim tekom v trgovino po nekaj novih AA -jev, bi jim včasih lahko koristila bolj prilagojena rešitev.

Na primer, dedek mojega dekleta je dobil novo televizijo in skušali smo ga naučiti, kako spremeniti vir, da lahko preklaplja med DVD -ji in televizijo - vendar tega preprosto ni mogel ugotoviti. Ukvarja se tudi s slabim vidom in se ne zanima preveč, da bi se poskušal spomniti zapletenih procesov, samo svoje oglede si želi ogledati, kadar to želi. Ko sem poskušal mirno razložiti korake med našim zadnjim obiskom brez večjega uspeha, sem se odločil, da mu bom naredil svoj preprost daljinski upravljalnik z dvema gumboma. To bi mu omogočilo, da brez bolečin spremeni vhodni vir na svojem televizorju in z lahkoto preklaplja med ljubljenimi DVD -ji Matlock in ceno.

1. korak: Materiali

  • PhidgetIR
  • PhidgetSBC4 (ali kateri koli enojni računalnik, kot je Raspberry Pi)
  • Spajkalnik
  • Stranski rezalniki
  • Odstranjevalci žice
  • Mostične žice
  • USB kabel
  • Phidget kabel
  • Ohišje
  • Glave skozi luknje
  • Termoskrčljive cevi

2. korak: Načrtovanje

3D tiskanje
3D tiskanje

Za izdelavo daljinskega upravljalnika sem potreboval možnost pošiljanja potrošniških ukazov infrardeče povezave (CIR) na televizijo. Odločil sem se, da bom za to nalogo uporabil PhigetIR. PhidgetIR je naprava, ki jo upravlja USB in ima možnost pošiljanja in sprejemanja ukazov CIR. Za to sem se odločil iz več razlogov:

  • Ta projekt sem želel čim prej zaključiti in ga uporabiti, zato misel, da bi razbil osciloskop in ploščico, ni bila privlačna. Kako velika je verjetnost, da bi moja ročno spajkana vezja delovala čez leto ali dve?
  • PhidgetIR se lahko "nauči" ukazov CIR, zaradi česar je razvoj izjemno preprost.
  • S PhidgetIR lahko uporabljate skoraj vse običajne programske jezike. To je pomenilo, da lahko uporabljam Javo in stvari hitro zaključim.
  • Nazadnje delam za Phidgets, zato sem zadovoljen z API -jem in vedno so na voljo rezervne naprave.

Ker sem se odločil za uporabo PhidgetIR -a, sem za zagon potreboval računalnik. Želel sem, da bi bil ta projekt samostojna aplikacija, podobna običajnemu daljinskemu upravljalniku, zato namizja ali prenosnega računalnika ni bilo. Odločil sem se za uporabo PhidgetSBC4 (enosmerni računalnik z Debian Linuxom), ker mi je omogočal vmesnik z obema gumboma brez dodatne strojne opreme. Preprosto jih lahko priključite neposredno na vgrajeno vozlišče VINT. Opomba: za ta projekt lahko uporabite tudi Raspberry Pi. Nazadnje, poleg tega, da je bil funkcionalno brezhiben, sem želel, da bi bil ta projekt videti odlično, zato sem se odločil, da bo potrebno 3D -tiskano ohišje.

3. korak: 3D tiskanje

3D tiskanje
3D tiskanje
3D tiskanje
3D tiskanje

Za ta projekt je bil za modeliranje ohišja uporabljen Geomagic. Na voljo so datoteke 3D korakov za PhidgetIR in PhidgetSBC4, ki so poenostavile postopek. V tem koraku so bile sprejete nekatere odločitve glede velikosti in funkcionalnosti ohišja:

  • PhidgetIR ima dve IR LED, ki morata biti usmerjeni proti televizorju za pošiljanje ukazov. Namesto da bi ohišje oblikovali okoli plošče PhidgetIR, bi lahko IR LED razpakirali in prilepili v luknje na strani ohišja. Ploščo PhidgetIR lahko nato namestite stran od LED, tako da izkoristite prazen prostor.
  • Konektorje VINT Hub na PhidgetSBC4 bi lahko upognili navzgor, kar bi še vedno omogočalo dostop do povezav s tipkami in preprečilo tudi ustvarjanje večjega ohišja.

Odločil sem se tudi, da dodam oznako za gumbe in oznako, ki kaže smer, v katero naj bo obrnjena, tako da bodo IR LED usmerjene v pravo smer. Ohišje sem natisnil lokalno iz črne ABS plastike.

4. korak: Montaža - Odstranite LED

Montaža - Odstranite LED
Montaža - Odstranite LED
Montaža - Odstranite LED
Montaža - Odstranite LED
Montaža - Odstranite LED
Montaža - Odstranite LED

IR LED diode bodo sčasoma zlepljene v luknje na strani ohišja. To pomeni, da jih je treba najprej razpakirati.

5. korak: Sestavljanje - dodajte glave skozi luknje

Montaža - dodajte glave skozi luknje
Montaža - dodajte glave skozi luknje
Montaža - dodajte glave skozi luknje
Montaža - dodajte glave skozi luknje

Nato so bile dodane glave skozi luknje, kjer so bile LED, kar je olajšalo povezavo z uporabo 4-polne mostične žice. Za preprečitev nenamernega stika uporabite toplotno skrčljivo cev.

6. korak: Montaža - pritrdite LED

Montaža - pritrdite LED
Montaža - pritrdite LED
Montaža - pritrdite LED
Montaža - pritrdite LED

LED diode prilepite na stran ohišja.

7. korak: Montaža - pritrdite PhidgetIR

Sestavljanje - pritrdite PhidgetIR
Sestavljanje - pritrdite PhidgetIR
Sestavljanje - pritrdite PhidgetIR
Sestavljanje - pritrdite PhidgetIR
Sestavljanje - pritrdite PhidgetIR
Sestavljanje - pritrdite PhidgetIR

Pritrdite PhidgetIR na ohišje in priključite LED.

8. korak: Montaža - dodajanje gumbov

Sestavljanje - dodajanje gumbov
Sestavljanje - dodajanje gumbov
Sestavljanje - dodajanje gumbov
Sestavljanje - dodajanje gumbov
Sestavljanje - dodajanje gumbov
Sestavljanje - dodajanje gumbov

Potisne gumbe je treba povezati z vgrajenim vozliščem VINT na PhidgetSBC, zato sem prerezal kabel Phidget na pol in konce spajkal na gumbe. Upoštevajte, da sta potrebna le bela žica (signal) in črna (ozemljitev).

9. korak: Sestavljanje - sestavljanje vsega skupaj

Sestavljanje - vse skupaj
Sestavljanje - vse skupaj
Sestavljanje - vse skupaj
Sestavljanje - vse skupaj

Za vse skupaj je bilo potrebno nekaj upravljanja kablov, vendar je ohišje dobro delovalo.

10. korak: programska oprema - koda

Za ta projekt je potrebna samo ena datoteka Java, ki jo najdete tukaj. Program uporablja en objekt PhidgetIR in dva predmeta DigitalInput. Te predmete lahko ustvarite tako:

PhidgetIR ir = nov PhidgetIR ();

DigitalInput tvButton = nov DigitalInput (); DigitalInput otherButton = nov DigitalInput ();

Objekti digitalnega vhoda so preslikani v fizični gumb na vozlišču VINT. Na dogodke za pripenjanje, odvajanje, napako in stanje so naročeni tudi:

tv.setIsHubPortDevice (res);

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); otherButton.open ();

Poslušalec sprememb stanja, naveden zgoraj, izgleda tako:

privatestatic DigitalInputStateChangeListener onStateChangeListener = nov DigitalInputStateChangeListener () {@OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {

DigitalInput ch = (DigitalInput) disce.getSource (); poskusite {if (ch.getHubPort () == 4 && disce.getState () == true) {tvButtonActivated = true;} if (ch.getHubPort () == 5 && disce.getState () == true) {otherButtonActivated = true;}} catch (PhidgetException ex) {System.out.println ("Napaka:"+ ex.getDescription ());}}};

Ko je gumb aktiviran, se izvede koda dogodka in nastavi zastavica. Te zastavice se bodo sklicevale in ponastavile v glavni zanki. Glavna zanka preprosto čaka na spremembo stanja gumba in nato pošlje IR ukaze s funkcijo prenosa, ki je na voljo v API -ju PhidgetIR.

while (true) {if (tvButtonActivated) {

tvButtonActivated = false; Log.log (LogLevel. INFO, "SPREMENITEV VIRA - TV"); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.prenos (rightButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} if (otherButtonActivated) {otherButtonActivated = false; Log.log (LogLevel. INFO, "SPREMENITEV VIRA - DVD"); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}

11. korak: Programska oprema - Ukazi CIR

Programska oprema - Ukazi CIR
Programska oprema - Ukazi CIR

Tu je primer ustvarjanja ukaza (v tem primeru ukaz za povečanje glasnosti):

// IR koda

IRCodeInfo sourceButtonCI = nov IRCodeInfo (); String volumeUp = "77e1d0f0"; // Nastavitev gumba vira 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;

Za pridobitev informacij o tem ukazu sem preprosto uporabil primer PhidgetIR, ki je priložen knjižnicam Phidget. Ko usmerite daljinski upravljalnik proti PhidgetIR in držite gumb za povečanje glasnosti, IR "nauči" kodo in vnese primer. Te podatke lahko nato preprosto kopirate v kodo.

12. korak: Zaženite program

Datoteko Java je mogoče zapisati in sestaviti na zunanjem računalniku. Postavite PhidgetRemote.java in phidget22.jar v isto mapo in zaženite naslednji ukaz:

Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java

macOS/Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java

Po prevajanju kopirajte ustvarjene datoteke razreda v PhidgetSBC4 in ga konfigurirajte za zagon.

13. korak: Rezultat

Ko sem dal daljinski upravljalnik dedku mojega dekleta in mu pokazal, kako ga uporablja, je bil presenečen, kako preprosto je. Oglejte si video, da ga vidite v akciji!

Natečaj za daljinsko upravljanje 2017
Natečaj za daljinsko upravljanje 2017
Natečaj za daljinsko upravljanje 2017
Natečaj za daljinsko upravljanje 2017

Tretja nagrada na natečaju za daljinsko upravljanje 2017

Priporočena: