Sadržaj:

Tehnologija za vašeg djeda: 13 koraka (sa slikama)
Tehnologija za vašeg djeda: 13 koraka (sa slikama)

Video: Tehnologija za vašeg djeda: 13 koraka (sa slikama)

Video: Tehnologija za vašeg djeda: 13 koraka (sa slikama)
Video: Ako imate iPhone, OVO MORATE ISPROBATI! 2024, Novembar
Anonim
Image
Image

Koliko ste puta odlazili u kuću svojih djedova i baka kako biste pomogli oko "tehnološkog problema" koji je završio kao isključeni kabel za napajanje, ispražnjena baterija na daljinu ili nemogućnost uključivanja izvora na njihovom televizoru? Znam da se to meni često dešava. Iako se većina njihovih problema može riješiti jednostavnim trčanjem u trgovinu po neke nove AA -e, ponekad bi mogli imati koristi od prilagođenijeg rješenja.

Na primjer, djed moje djevojke dobio je novu televiziju i pokušali smo ga naučiti kako promijeniti izvor kako bi mogao prebacivati između DVD -a i TV -a - ali to jednostavno nije mogao shvatiti. Također se bavi slabljenjem vida i nije previše zainteresiran za pokušaj pamćenja kompliciranih procesa, samo želi gledati njegove emisije kad to želi. Nakon što sam bez mnogo uspjeha pokušao mirno objasniti korake za vrijeme naše posljednje posjete, odlučio sam da mu samo napravim vlastiti jednostavan daljinski upravljač s dva gumba. To bi mu omogućilo da bezbolno promijeni ulazni izvor na svom televizoru, s lakoćom prebacujući između svojih voljenih Matlock DVD -ova i Price is Right.

Korak 1: Materijali

  • PhidgetIR
  • PhidgetSBC4 (ili bilo koji računar sa jednim računarom poput Raspberry Pi)
  • Lemilica
  • Bočni rezači
  • Strojevi za skidanje žice
  • Džemper žice
  • USB kabel
  • Phidget Cable
  • Enclosure
  • Zaglavlja sa otvorima
  • Termoskupljajuće cijevi

Korak 2: Planiranje

3D štampa
3D štampa

Da bih stvorio daljinski upravljač, trebala mi je mogućnost slanja potrošačkih infracrvenih (CIR) naredbi na televizor. Odlučio sam koristiti PhigetIR za ovaj zadatak. PhidgetIR je USB uređaj s kontrolom koji ima mogućnost slanja i primanja CIR naredbi. Odabrao sam ovo iz nekoliko razloga:

  • Htio sam završiti ovaj projekt što je prije moguće i staviti ga u upotrebu, tako da pomisao na izbijanje osciloskopa i ploče nije bila privlačna. Također, koliko je vjerovatno da će moja ručno lemljena kola i dalje raditi za godinu ili dvije?
  • PhidgetIR ima sposobnost "učenja" CIR naredbi čineći razvoj izuzetno jednostavnim.
  • S PhidgetIR -om možete koristiti gotovo sve glavne programske jezike. To je značilo da mogu koristiti Javu i brzo završiti stvari.
  • Konačno, radim za Phidgets, pa mi je API ugodan, a uvijek ima rezervnih uređaja.

Pošto sam izabrao da koristim PhidgetIR, trebao mi je računar da ga pokrenem. Htio sam da ovaj projekt bude samostalna aplikacija, slično normalnom daljinskom upravljaču, tako da je stolna ili prijenosna računala bila isključena. Odlučio sam se za upotrebu PhidgetSBC4 (računara sa jednom pločom sa Debian Linux-om) jer mi je omogućio povezivanje sa oba tastera bez dodatnog hardvera. Jednostavno se mogu spojiti direktno na ugrađeni VINT Hub. Napomena: za ovaj projekat možete koristiti i Raspberry Pi. Konačno, osim što je funkcionalno zvučan, želio sam da ovaj projekt izgleda sjajno, pa sam odlučio da će biti potrebno 3D štampano kućište.

Korak 3: 3D štampanje

3D štampa
3D štampa
3D štampa
3D štampa

Za ovaj projekt, Geomagic je korišten za modeliranje kućišta. Dostupne su 3D datoteke koraka i za PhidgetIR i za PhidgetSBC4 što je pojednostavilo proces. Tijekom ovog koraka donesene su neke odluke u pogledu veličine i funkcionalnosti kućišta:

  • PhidgetIR ima dvije IC LED diode koje moraju biti usmjerene prema televizoru kako bi se mogle slati naredbe. Umjesto dizajniranja kućišta oko PhidgetIR ploče, IC LED diode se mogu odspojiti i zalijepiti u rupe sa strane kućišta. Pločica PhidgetIR bi se tada mogla montirati dalje od LED dioda, koristeći prazan prostor.
  • VINT Hub konektori na PhidgetSBC4 mogli bi se saviti prema gore, što bi i dalje omogućilo pristup tipkovnim vezama, a spriječilo bi i stvaranje većeg kućišta.

Također sam odlučio dodati oznaku za tipke i oznaku koja pokazuje smjer u kojem bi trebali biti okrenuti, tako da su IR LED diode usmjerene u pravom smjeru. Lokalno sam odštampao kućište od crne ABS plastike.

Korak 4: Montaža - Uklonite LED diode

Montaža - Uklonite LED diode
Montaža - Uklonite LED diode
Montaža - Uklonite LED diode
Montaža - Uklonite LED diode
Montaža - Uklonite LED diode
Montaža - Uklonite LED diode

IC LED diode će se na kraju zalijepiti u rupe sa strane kućišta. To znači da ih prvo treba odspojiti.

Korak 5: Montaža - Dodajte zaglavlja kroz rupe

Montaža - Dodajte zaglavlja kroz rupe
Montaža - Dodajte zaglavlja kroz rupe
Montaža - Dodajte zaglavlja kroz rupe
Montaža - Dodajte zaglavlja kroz rupe

Zatim su dodani zaglavci kroz rupe na mjestima gdje su nekad bile LED diode, što ih je činilo lakim za povezivanje pomoću 4-pinske kratkospojne žice. Koristite termoskupljajuće cijevi kako biste spriječili slučajni kontakt.

Korak 6: Montaža - Priključite LED diode

Montaža - Priključite LED diode
Montaža - Priključite LED diode
Montaža - Priključite LED diode
Montaža - Priključite LED diode

Zalijepite LED diode na bočnu stranu kućišta.

Korak 7: Montaža - Pričvrstite PhidgetIR

Montaža - Pričvrstite PhidgetIR
Montaža - Pričvrstite PhidgetIR
Montaža - Pričvrstite PhidgetIR
Montaža - Pričvrstite PhidgetIR
Montaža - Pričvrstite PhidgetIR
Montaža - Pričvrstite PhidgetIR

Pričvrstite PhidgetIR na kućište i spojite LED diode.

Korak 8: Montaža - Dodavanje dugmadi

Montaža - dodavanje dugmadi
Montaža - dodavanje dugmadi
Montaža - dodavanje dugmadi
Montaža - dodavanje dugmadi
Montaža - dodavanje dugmadi
Montaža - dodavanje dugmadi

Gumbi moraju biti povezani s ugrađenim VINT Hubom na PhidgetSBC-u, pa sam prerezao Phidget kabel na pola i lemio krajeve na gumbima. Imajte na umu da su potrebne samo bijela žica (signal) i crna (uzemljenje).

Korak 9: Montaža - Spajanje svega zajedno

Montaža - sastavljanje svega
Montaža - sastavljanje svega
Montaža - sastavljanje svega
Montaža - sastavljanje svega

Bilo je potrebno neko upravljanje kablovima kako bi se sve spojilo, međutim, kućište je radilo dobro.

Korak 10: Softver - kod

Za ovaj projekt potrebna je samo jedna Java datoteka koju možete pronaći ovdje. Program koristi jedan objekt PhidgetIR i dva objekta DigitalInput. Ove objekte možete stvoriti ovako:

PhidgetIR ir = novi PhidgetIR ();

DigitalInput tvButton = novi DigitalInput (); DigitalInput otherButton = novi DigitalInput ();

Objekti digitalnog ulaza su mapirani na fizičko dugme na VINT Hubu. Događaji prilaganja, odvajanja, greške i promjene stanja također su pretplaćeni na:

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

Slušač promjene stanja koji je gore naveden izgleda ovako:

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

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

Kada je dugme aktivirano, kôd događaja će se izvršiti i postaviti zastavicu. Ove zastavice će biti referencirane i resetovane u glavnoj petlji. Glavna petlja jednostavno čeka promjenu stanja gumba, a zatim šalje IR naredbe koristeći funkciju prijenosa koja je dostupna iz PhidgetIR API -ja.

while (true) {if (tvButtonActivated) {

tvButtonActivated = false; Log.log (LogLevel. INFO, "IZMJENA IZVORA - 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, "IZMJENA IZVORA - DVD"); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}

Korak 11: Softver - CIR naredbe

Softver - CIR naredbe
Softver - CIR naredbe

Evo primjera kako stvoriti naredbu (u ovom slučaju naredba za povećanje glasnoće):

// IR kod

IRCodeInfo sourceButtonCI = novi IRCodeInfo (); String volumeUp = "77e1d0f0"; // Postavljanje dugmeta izvora 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;

Da bih dobio informacije za ovu naredbu, jednostavno sam upotrijebio primjer PhidgetIR -a koji dolazi s bibliotekama Phidget. Nakon što usmjerite daljinski upravljač prema PhidgetIR -u i držite pritisnutu tipku za povećanje glasnoće, IC "uči" kôd i popunjava primjer. Ove se informacije mogu jednostavno kopirati u kôd.

Korak 12: Pokretanje programa

Java datoteka se može pisati i kompajlirati na vanjskom računaru. Postavite PhidgetRemote.java i phidget22.jar u istu mapu i pokrenite sljedeću naredbu:

Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java

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

Nakon kompajliranja, kopirajte generirane datoteke klasa u PhidgetSBC4 i konfigurirajte ih za pokretanje pri pokretanju.

Korak 13: Rezultat

Kad sam djedu djevojke dao daljinski i pokazao mu kako se njime koristi, bio je zapanjen koliko je jednostavno. Pogledajte video da biste ga vidjeli na djelu!

Takmičenje u daljinskom upravljanju 2017
Takmičenje u daljinskom upravljanju 2017
Takmičenje u daljinskom upravljanju 2017
Takmičenje u daljinskom upravljanju 2017

Treća nagrada na takmičenju za daljinsko upravljanje 2017

Preporučuje se: