Përmbajtje:

Teknologjia për gjyshin tuaj: 13 hapa (me fotografi)
Teknologjia për gjyshin tuaj: 13 hapa (me fotografi)

Video: Teknologjia për gjyshin tuaj: 13 hapa (me fotografi)

Video: Teknologjia për gjyshin tuaj: 13 hapa (me fotografi)
Video: НЕ СМОТРИТЕ фильм ХАГГИ ВАГГИ в 3 ЧАСА НОЧИ! Засняли на камеру НАСТОЯЩЕГО ХАГГИ ВАГГИ! 2024, Nëntor
Anonim
Image
Image

Sa herë keni shkuar në shtëpinë e gjyshërve tuaj për të ndihmuar me një "problem teknologjik" që përfundoi si një kabllo energjie e shkëputur, një bateri e largët e largët ose e pamundur të ndërroni burimin në televizorin e tyre? Unë e di se për mua, kjo ndodh mjaft shpesh. Ndërsa shumica e problemeve të tyre mund të zgjidhen thjesht duke vrapuar në dyqan për disa AA të reja, ndonjëherë ato mund të përfitojnë nga një zgjidhje më e personalizuar.

Për shembull, gjyshi i të dashurës sime mori një televizor të ri dhe ne u përpoqëm ta mësonim se si ta ndryshonte burimin në mënyrë që ai të kalonte mes DVD dhe TV - por ai thjesht nuk mund ta kuptonte. Ai gjithashtu po merret me shikimin e dështuar dhe nuk është shumë i interesuar të përpiqet të mbajë mend proceset e ndërlikuara, ai thjesht dëshiron të shikojë shfaqjet e tij kur të dojë. Pasi u përpoqa të shpjegoja me qetësi hapat gjatë vizitës sonë të fundit pa shumë sukses, vendosa që thjesht do t'i bëja atij telekomandën e tij të thjeshtë me dy butona. Kjo do t'i lejojë atij të ndryshojë burimin e hyrjes në televizorin e tij pa dhimbje, duke kaluar midis DVD -ve të tij të dashur Matlock dhe Price është e drejtë me lehtësi.

Hapi 1: Materialet

  • PhidgetIR
  • PhidgetSBC4 (ose ndonjë kompjuter i vetëm bordi si Raspberry Pi)
  • Makine per ngjitjen e metalit
  • Prerës anësorë
  • Zhveshëset me tela
  • Telat Jumper
  • Kabllo USB
  • Kabllo Phidget
  • Rrethim
  • Koka me vrima
  • Tub i zvogëlimit të nxehtësisë

Hapi 2: Planifikimi

Shtypje 3D
Shtypje 3D

Për të krijuar telekomandën, më duhej aftësia për të dërguar komanda infra të kuqe të konsumatorit (CIR) në televizor. Vendosa të përdor PhigetIR për këtë detyrë. PhidgetIR është një pajisje e kontrolluar nga USB që ka aftësinë për të dërguar dhe marrë komanda CIR. Unë e zgjodha këtë për disa arsye:

  • Doja ta përfundoja këtë projekt sa më shpejt që të ishte e mundur dhe ta vija në përdorim, kështu që mendimi për të shpërthyer oshiloskopin dhe dërrasën time të bukës nuk ishte tërheqës. Gjithashtu, sa ka të ngjarë që qarqet e mia të lidhura me dorë do të funksiononin ende në një ose dy vjet?
  • PhidgetIR ka aftësinë për të "mësuar" komandat CIR duke e bërë zhvillimin jashtëzakonisht të thjeshtë.
  • Ju mund të përdorni pothuajse çdo gjuhë programimi të zakonshme me PhidgetIR. Kjo do të thoshte që unë mund të përdor Java dhe t'i përfundoj gjërat shpejt.
  • Më në fund, unë punoj për Phidgets, kështu që jam i kënaqur me API, dhe gjithmonë ka pajisje rezervë të vendosura përreth.

Meqenëse zgjodha të përdor PhidgetIR, më duhej një kompjuter për ta fikur atë. Doja që ky projekt të ishte një aplikim më vete, shumë si një telekomandë normale, kështu që një desktop ose laptop ishte jashtë. Zgjodha të përdor një PhidgetSBC4 (një kompjuter me një bord të vetëm që përdor Debian Linux), sepse më lejoi të lidhesha me të dy butonat pa ndonjë pajisje shtesë. Ato thjesht mund të lidhen drejtpërdrejt me shpërndarësin e integruar VINT. Shënim: ju gjithashtu mund të përdorni një Raspberry Pi për këtë projekt. Së fundi, përveç të qenit funksionalisht i shëndoshë, doja që ky projekt të dukej i mrekullueshëm, kështu që vendosa që një rrethim i printuar 3D do të ishte i nevojshëm.

Hapi 3: Printimi 3D

Shtypje 3D
Shtypje 3D
Shtypje 3D
Shtypje 3D

Për këtë projekt, Geomagic u përdor për të modeluar rrethimin. Ekzistojnë skedarë hapash 3D të disponueshëm si për PhidgetIR ashtu edhe për PhidgetSBC4 të cilët thjeshtuan procesin. Disa vendime u morën gjatë këtij hapi në lidhje me madhësinë dhe funksionalitetin e rrethimit:

  • PhidgetIR ka dy LED LED IR që duhet të drejtohen drejt televizorit për të dërguar komanda. Në vend që të dizajnoni rrethimin rreth tabelës PhidgetIR, LED -të IR mund të shkrihen dhe ngjiten në vrimat në anën e rrethimit. Bordi PhidgetIR pastaj mund të montohet larg LED -ve, duke shfrytëzuar hapësirën boshe.
  • Lidhësit VINT Hub në PhidgetSBC4 mund të përkulen lart, gjë që do të lejonte akoma qasje për lidhjet me buton, dhe gjithashtu do të parandalonte krijimin e një rrethimi më të madh.

Unë gjithashtu vendosa të shtoj një etiketë për butonat dhe një etiketë që tregon drejtimin që duhet të ketë, në mënyrë që LED -të IR të drejtohen në drejtimin e duhur. Kam shtypur rrethimin nga plastika e zezë ABS.

Hapi 4: Asambleja - Hiqni LED -et

Asambleja - Hiqni LED -et
Asambleja - Hiqni LED -et
Asambleja - Hiqni LED -et
Asambleja - Hiqni LED -et
Asambleja - Hiqni LED -et
Asambleja - Hiqni LED -et

LED -të IR përfundimisht do të ngjiten në vrima në anën e rrethimit. Kjo do të thotë që ata së pari duhet të shkrihen.

Hapi 5: Asambleja - Shtoni përmes titujve të vrimave

Asambleja - Shtoni përmes titujve të vrimave
Asambleja - Shtoni përmes titujve të vrimave
Asambleja - Shtoni përmes titujve të vrimave
Asambleja - Shtoni përmes titujve të vrimave

Tjetra, titujt përmes vrimave u shtuan aty ku ishin LED, gjë që i bëri ata të lehtë për t'u lidhur me përdorimin e një teli kërcyes me 4 kunja. Përdorni tuba që zvogëlojnë nxehtësinë për të parandaluar kontaktin aksidental.

Hapi 6: Asambleja - Bashkangjitni LED -të

Asambleja - Bashkangjitni LED
Asambleja - Bashkangjitni LED
Asambleja - Bashkangjitni LED
Asambleja - Bashkangjitni LED

Ngjitni LED -të në anën e rrethimit.

Hapi 7: Asambleja - Bashkëngjitni PhidgetIR

Asambleja - Bashkëngjitni PhidgetIR
Asambleja - Bashkëngjitni PhidgetIR
Asambleja - Bashkëngjitni PhidgetIR
Asambleja - Bashkëngjitni PhidgetIR
Asambleja - Bashkëngjitni PhidgetIR
Asambleja - Bashkëngjitni PhidgetIR

Bashkangjitni PhidgetIR në rrethim dhe lidhni LED -et.

Hapi 8: Asambleja - Shtimi i butonave

Asambleja - Shtimi i butonave
Asambleja - Shtimi i butonave
Asambleja - Shtimi i butonave
Asambleja - Shtimi i butonave
Asambleja - Shtimi i butonave
Asambleja - Shtimi i butonave

Butonat e shtypjes duhet të lidhen me VINT Hub të integruar në PhidgetSBC, kështu që unë e prerë një kabllo Phidget në gjysmë dhe i bashkova skajet me butonat. Vini re se kërkohet vetëm tela e bardhë (sinjal) dhe e zezë (tokë).

Hapi 9: Asambleja - Vendosja e gjithçkaje së bashku

Asambleja - Vendosja e gjithçkaje së bashku
Asambleja - Vendosja e gjithçkaje së bashku
Asambleja - Vendosja e gjithçkaje së bashku
Asambleja - Vendosja e gjithçkaje së bashku

Disa menaxhime kabllore kërkoheshin për të bërë gjithçka së bashku, megjithatë, mbyllja funksionoi mirë.

Hapi 10: Softueri - Kodi

Kërkohet vetëm një skedar i vetëm Java për këtë projekt të cilin mund ta gjeni këtu. Programi përdor një objekt PhidgetIR dhe dy objekte DigitalInput. Ju mund t'i krijoni këto objekte si kjo:

PhidgetIR ir = PhidgetIR i ri ();

DigitalInput tvButton = DigitalInput i ri (); DigitalInput otherButton = DigitalInput i ri ();

Objektet Digital Input janë të hartuara në një buton fizik në VINT Hub. Ngjarjet e bashkëngjitjes, shkëputjes, gabimit dhe ndryshimit të gjendjes regjistrohen gjithashtu në:

tv.setIsHubPortDevice (e vërtetë);

tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); tvButton.hapur (); otherButton.setIsHubPortDevice (e vërtetë); otherButton.setHubPort (5); otherButton.addAttachListener (onAttachListener); otherButton.addDetachListener (onDetachListener); otherButton.addErrorListener (onErrorListener); otherButton.addStateChangeListener (onStateChangeListener); otherButton.hapur ();

Dëgjuesi i ndryshimit të gjendjes i referuar më sipër duket kështu:

privatestatik DigitalInputStateChangeListener onStateChangeListener = i ri DigitalInputStateChangeListener () {@OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {

DigitalInput ch = (DigitalInput) disce.getSource (); provoni {if (ch.getHubPort () == 4 && disce.getState () == vërtetë) {tvButtonActivated = true;} nëse (ch.getHubPort () == 5 && disce.getState () == true) {otherButtonActivated = true;}} catch (PhidgetException ex) {System.out.println ("Gabim:"+ ex.getDescription ());}}};

Kur aktivizohet një buton, kodi i ngjarjes do të ekzekutohet dhe do të vendosë një flamur. Këta flamuj do të referohen dhe rivendosen në lakin kryesor. Laku kryesor thjesht pret një ndryshim në gjendjen e butonit, dhe më pas dërgon komandat IR duke përdorur funksionin e transmetimit i cili është i disponueshëm nga PhidgetIR API.

ndërsa (e vërtetë) {nëse (tvButtonActivated) {

tvButtonActivated = false; Log.log (LogLevel. INFO, "BURIMI NDRYSHIM - TV"); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (rightButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} nëse (otherButtonActivated) {otherButtonActivated = false; Log.log (LogLevel. INFO, "BURIMI NDRYSHIM - DVD"); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}

Hapi 11: Softuer - Komandat CIR

Softuer - Komandat CIR
Softuer - Komandat CIR

Këtu është një shembull se si të krijoni një komandë (një komandë për ngritjen e volumit në këtë rast):

// Kodi IR

IRCodeInfo sourceButtonCI = IRCodeInfo i ri (); Volumi i vargutUp = "77e1d0f0"; // Konfiguro butonin burim 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.një [0] = 549; sourceButtonCI.një [1] = 1755; sourceButtonCI.header = newint [2]; sourceButtonCI.koka [0] = 9084; sourceButtonCI.koka [1] = 4600; sourceButtonCI.repeat = newint [3]; sourceButtonCI. përsëris [0] = 9084; sourceButtonCI. përsëris [1] = 2308; sourceButtonCI. përsëris [2] = 549; sourceButtonCI.length = IRCodeLength. CONSTANT;

Për të marrë informacionin për këtë komandë, unë thjesht përdor shembullin PhidgetIR që vjen me bibliotekat Phidget. Pasi drejtoni telekomandën drejt PhidgetIR dhe mbani shtypur butonin e ngritjes së volumit, IR "mëson" kodin dhe plotëson shembullin. Ky informacion pastaj thjesht mund të kopjohet në kod.

Hapi 12: Drejtimi i Programit

Skedari Java mund të shkruhet dhe përpilohet në një kompjuter të jashtëm. Vendosni PhidgetRemote.java dhe phidget22.jar në të njëjtën dosje dhe ekzekutoni komandën e mëposhtme:

Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java

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

Pas përpilimit, kopjoni skedarët e klasës së krijuar në PhidgetSBC4 dhe konfiguroni që të funksionojë në boot.

Hapi 13: Rezultati

Kur i dhashë telekomandën gjyshit të të dashurës sime dhe i tregova se si ta përdorte, ai u mahnit nga sa e thjeshtë ishte. Shikoni videon për ta parë në veprim!

Konkursi i telekomandës 2017
Konkursi i telekomandës 2017
Konkursi i telekomandës 2017
Konkursi i telekomandës 2017

Çmimi i Tretë në Konkursin e Telekomandës 2017

Recommended: