Teknolojia kwa Babu yako: Hatua 13 (na Picha)
Teknolojia kwa Babu yako: Hatua 13 (na Picha)
Anonim
Image
Image

Umeenda mara ngapi kwa nyumba ya babu na nyanya yako kusaidia na "shida ya teknolojia" ambayo iliishia kuwa kebo ya umeme isiyofunguliwa, betri ya mbali iliyokufa au kutoweza kubadili chanzo kwenye Runinga yao? Najua kwamba kwangu, hii hufanyika mara nyingi. Wakati shida zao nyingi zinaweza kutatuliwa kwa kukimbilia dukani kwa AA mpya, wakati mwingine wangeweza kufaidika na suluhisho iliyogeuzwa zaidi.

Kwa mfano, babu ya rafiki yangu wa kike alipata televisheni mpya na tulijaribu kumfundisha jinsi ya kubadilisha chanzo ili aweze kubadili kati ya DVD na Runinga - lakini hakuweza kujua. Yeye pia anashughulika na kutokuona vizuri na havutii sana kujaribu kukumbuka michakato ngumu, anataka tu kutazama vipindi vyake wakati anataka. Baada ya kujaribu kuelezea kwa utulivu hatua wakati wa ziara yetu ya mwisho bila mafanikio mengi, niliamua nitamfanya awe udhibiti wa kijijini wa vitufe vyake rahisi. Hii ingemruhusu abadilishe chanzo cha kuingiza kwenye runinga yake bila uchungu, akibadilisha kati ya DVD za kipenzi za Matlock na Bei ni sawa kwa urahisi.

Hatua ya 1: Vifaa

  • PhidgetIR
  • PhidgetSBC4 (au kompyuta yoyote ya bodi moja kama Raspberry Pi)
  • Chuma cha kulehemu
  • Wakataji wa Upande
  • Vipande vya waya
  • Waya za Jumper
  • Kebo ya USB
  • Cable ya Phidget
  • Ufungaji
  • Vichwa vya shimo
  • Tubing ya kupungua kwa joto

Hatua ya 2: Kupanga

Magazeti ya 3D
Magazeti ya 3D

Ili kuunda kijijini, nilihitaji uwezo wa kutuma amri za infrared (CIR) kwa televisheni. Niliamua kutumia PhigetIR kwa kazi hii. PhidgetIR ni kifaa kinachodhibitiwa na USB ambacho kina uwezo wa kutuma na kupokea amri za CIR. Nilichagua hii kwa sababu chache:

  • Nilitaka kumaliza mradi huu haraka iwezekanavyo na kuitumia, kwa hivyo wazo la kuvunja oscilloscope yangu na ubao wa mkate haikuwa ya kupendeza. Pia, kuna uwezekano gani kwamba mizunguko yangu inayouzwa mkono ingekuwa bado inafanya kazi kwa mwaka mmoja au miwili?
  • PhidgetIR ina uwezo wa "kujifunza" maagizo ya CIR kufanya maendeleo kuwa rahisi sana.
  • Unaweza kutumia karibu lugha yoyote ya programu ya kawaida na PhidgetIR. Hii ilimaanisha ningeweza kutumia Java na kumaliza mambo haraka.
  • Mwishowe, ninafanya kazi kwa Phidgets, kwa hivyo niko sawa na API, na kila wakati kuna vifaa vipuri vilivyowekwa karibu.

Kwa sababu nilichagua kutumia PhidgetIR, nilihitaji kompyuta ili kuitumia. Nilitaka mradi huu uwe programu ya kusimama peke yake, kama kijijini kawaida, kwa hivyo desktop au kompyuta ndogo ilikuwa nje. Nilichagua kutumia PhidgetSBC4 (kompyuta moja ya bodi inayoendesha Debian Linux), kwa sababu iliniruhusu kuunganishwa na vifungo vyote vya kushinikiza bila vifaa vyovyote vya ziada. Wanaweza tu kushonwa kwa waya moja kwa moja kwenye Kituo cha VINT kilichojengwa. Kumbuka: unaweza pia kutumia Raspberry Pi kwa mradi huu. Mwishowe, pamoja na kuwa na sauti ya utendaji, nilitaka mradi huu uonekane mzuri, kwa hivyo niliamua kuwa kiambatisho kilichochapishwa cha 3D kitakuwa muhimu.

Hatua ya 3: Chapisha 3D

Magazeti ya 3D
Magazeti ya 3D
Magazeti ya 3D
Magazeti ya 3D

Kwa mradi huu, Geomagic ilitumika kuiga kiambatisho. Kuna faili za hatua za 3D zinazopatikana kwa PhidgetIR na PhidgetSBC4 ambayo ilirahisisha mchakato. Maamuzi mengine yalifanywa wakati wa hatua hii kuhusu saizi na utendaji wa kiambatisho:

  • PhidgetIR ina taa mbili za IR ambazo zinahitaji kuelekeza kwa Runinga ili kutuma amri. Badala ya kubuni kiambatisho karibu na bodi ya PhidgetIR, taa za IR zinaweza kufutwa na kushikamana kwenye mashimo upande wa eneo. Bodi ya PhidgetIR basi inaweza kuwekwa mbali na LEDs, ikitumia nafasi tupu.
  • Viunganishi vya VINT Hub kwenye PhidgetSBC4 vinaweza kuinuliwa juu, ambayo bado ingeruhusu ufikiaji wa unganisho la kitufe cha kushinikiza, na pia ingezuia kuunda kiunga kikubwa.

Niliamua pia kuongeza lebo kwa vifungo na lebo inayoonyesha mwelekeo inapaswa kukabiliwa ili taa za IR zielekezwe kwenye mwelekeo sahihi. Nilichapisha eneo la ndani kutoka kwa plastiki nyeusi ya ABS.

Hatua ya 4: Mkutano - Ondoa taa za taa

Mkutano - Ondoa LEDs
Mkutano - Ondoa LEDs
Mkutano - Ondoa LEDs
Mkutano - Ondoa LEDs
Mkutano - Ondoa LEDs
Mkutano - Ondoa LEDs

Taa za IR mwishowe zitawekwa gundi kwenye mashimo upande wa eneo. Hii inamaanisha kwanza wanahitaji kufutwa.

Hatua ya 5: Mkutano - Ongeza Kupitia Vichwa vya Shimo

Mkutano - Ongeza Kupitia Vichwa vya Shimo
Mkutano - Ongeza Kupitia Vichwa vya Shimo
Mkutano - Ongeza Kupitia Vichwa vya Shimo
Mkutano - Ongeza Kupitia Vichwa vya Shimo

Ifuatayo, vichwa vya shimo viliongezwa mahali zilipokuwa LED, ambayo ilifanya iwe rahisi kuungana na kutumia waya ya jumper ya pini 4. Tumia neli ya kupunguza joto ili kuzuia mawasiliano ya bahati mbaya.

Hatua ya 6: Mkutano - Ambatisha LED

Mkutano - Ambatisha LED
Mkutano - Ambatisha LED
Mkutano - Ambatisha LED
Mkutano - Ambatisha LED

Gundi taa za LED kwenye kando ya ua.

Hatua ya 7: Mkutano - Ambatisha PhidgetIR

Mkutano - Ambatisha PhidgetIR
Mkutano - Ambatisha PhidgetIR
Mkutano - Ambatisha PhidgetIR
Mkutano - Ambatisha PhidgetIR
Mkutano - Ambatisha PhidgetIR
Mkutano - Ambatisha PhidgetIR

Ambatisha PhidgetIR kwenye ua, na unganisha taa za taa.

Hatua ya 8: Mkutano - Kuongeza Vifungo

Mkutano - Kuongeza Vifungo
Mkutano - Kuongeza Vifungo
Mkutano - Kuongeza Vifungo
Mkutano - Kuongeza Vifungo
Mkutano - Kuongeza Vifungo
Mkutano - Kuongeza Vifungo

Vifungo vya kushinikiza vinahitaji kushikamana na Kitovu cha VINT kilichojengwa kwenye PhidgetSBC, kwa hivyo nilikata Cable ya Phidget katikati na kugeuza ncha kwa vifungo. Kumbuka kuwa waya tu nyeupe (ishara) na nyeusi (ardhi) zinahitajika.

Hatua ya 9: Mkutano - Kuweka Kila kitu Pamoja

Mkutano - Kuweka Kila kitu Pamoja
Mkutano - Kuweka Kila kitu Pamoja
Mkutano - Kuweka Kila kitu Pamoja
Mkutano - Kuweka Kila kitu Pamoja

Usimamizi fulani wa kebo ulihitajika ili kupata kila kitu pamoja, hata hivyo, ua ulifanya kazi vizuri.

Hatua ya 10: Programu - Kanuni

Kuna faili moja tu ya Java inayohitajika kwa mradi huu ambayo unaweza kupata hapa. Programu hutumia kitu kimoja cha PhidgetIR, na vitu viwili vya Uingizaji wa Dijiti. Unaweza kuunda vitu hivi kama hii:

PhidgetIR ir = PhidgetIR mpya ();

DigitalInput tvButton = mpyaInputInput (); Uingizaji wa Dijiti nyingineButton = Kuingiza mpya kwa Dijiti ();

Vitu vya Uingizaji wa Dijiti vimepangwa kwa kitufe cha kusukuma kwenye Kitovu cha VINT. Ambatisha, onyesha, makosa, na hafla za mabadiliko ya hali pia zimeandikishwa kwa:

TV.setIsHubPortDevice (kweli);

tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); TVButton.ufungue (); nyingineButton.setIsHubPortDevice (kweli); nyingineButton.setHubPort (5); kifungo kingine.addAttachListener (onAttachListener); nyingineButton.addDetachListener (onDetachListener); nyingineButton.addErrorListener (onErrorListener); nyingineButton.addStateChangeListener (onStateChangeListener); kifungo kingine.ufungue ();

Msikilizaji wa mabadiliko ya serikali aliyetajwa hapo juu anaonekana kama hii:

Ubinafsishaji wa DigitalInputStateChangeListener onStateChangeListener = mpya DigitalInputStateChangeListener () {@ OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {

DigitalInput ch = (DigitalInput) disce.getSource (); jaribu {if (ch.getHubPort () == 4 && disce.getState () == true) {tvButtonActivated = true;} if (ch.getHubPort () == 5 && disc.getState () == kweli) {otherButtonActivated = true;}} kukamata (PhidgetException ex) {System.out.println ("Error:" + ex.getDescription ());}}};

Wakati kifungo kimeamilishwa, nambari ya hafla itafanya na kuweka bendera. Bendera hizi zitatajwa na kuwekwa upya kwenye kitanzi kuu. Kitanzi kikuu kinangojea tu mabadiliko katika hali ya kifungo, na kisha itume amri za IR kwa kutumia kazi ya kupitisha ambayo inapatikana kutoka PhidgetIR API.

wakati (kweli) {if (tvButtonActivated) {

tvButtonActivated = uwongo; Log.log (LogLevel. INFO, "KUBADILI CHANZO - TV"); ir.transmit (chanzoButtonString, codeInfo); Kulala (500); ir. kusambaza (kuliaButtonString, codeInfo); Kulala (500); ir.tritmit (enterButtonString, codeInfo);} ikiwa (nyingineButtonActivated) {otherButtonActivated = false; Log.log (LogLevel. INFO, "CHANGING CHANZO - DVD"); ir.utoaji (chanzoButtonString, codeInfo); Kulala (500); uhamishaji (kushotoButtonString, codeInfo); Kulala (500); ir. kusambaza (EnterButtonString, codeInfo);} Thread.sleep (250);}

Hatua ya 11: Programu - Amri za CIR

Programu - Amri za CIR
Programu - Amri za CIR

Hapa kuna mfano wa jinsi ya kuunda amri (amri ya kuongeza sauti katika kesi hii):

// Nambari ya IR

Chanzo cha IRCodeInfoButtonCI = IRCodeInfo mpya (); Kamba ya sautiUp = "77e1d0f0"; // Weka chanzo cha kitufe cha chanzoButtonCI.bitCount = 32; chanzoButtonCI.encoding = IRCodeEncoding. SPACE; chanzoButtonCI.gap = 108921; chanzoButtonCI.trail = 549; chanzoButtonCI.zero = newint [2]; chanzoButtonCI.zero [0] = 549; chanzoButtonCI.zero [1] = 627; chanzoButtonCI.one = newint [2]; chanzoButtonCI.one [0] = 549; chanzoButtonCI.one [1] = 1755; chanzoButtonCI.header = newint [2]; chanzoButtonCI.header [0] = 9084; kichwaButtonCI.header [1] = 4600; chanzoButtonCI.repeat = newint [3]; chanzoButtonCI.rudia [0] = 9084; chanzoButtonCI.rudia [1] = 2308; chanzoButtonCI.rudia [2] = 549; chanzoButtonCI.length = IRCodeLength. CONSTANT;

Ili kupata habari kwa agizo hili, nilitumia tu mfano wa PhidgetIR unaokuja na maktaba za Phidget. Baada ya kuelekeza kijijini kuelekea PhidgetIR na kushikilia kitufe cha kuongeza sauti, IR "hujifunza" nambari hiyo, na kueneza mfano. Habari hii inaweza kunakiliwa kwa nambari tu.

Hatua ya 12: Kuendesha Programu

Faili ya Java inaweza kuandikwa na kukusanywa kwenye kompyuta ya nje. Weka PhidgetRemote.java na phidget22.jar kwenye folda moja na uendesha amri ifuatayo:

Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java

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

Baada ya kukusanya, nakili faili za darasa zilizozalishwa kwenye PhidgetSBC4, na uisanidie ili kuanza kwenye boot.

Hatua ya 13: Matokeo

Nilipompa kijijini babu ya rafiki yangu wa kike na kumwonyesha jinsi ya kutumia, alishangaa jinsi ilivyokuwa rahisi. Angalia video ili kuiona ikifanya kazi!

Mashindano ya Udhibiti wa Kijijini 2017
Mashindano ya Udhibiti wa Kijijini 2017
Mashindano ya Udhibiti wa Kijijini 2017
Mashindano ya Udhibiti wa Kijijini 2017

Zawadi ya Tatu katika Mashindano ya Udhibiti wa Kijijini 2017

Ilipendekeza: