INHOUDSOPGAWE:
- Stap 1: materiaal
- Stap 2: Beplanning
- Stap 3: 3D -druk
- Stap 4: Montering - Verwyder die LED's
- Stap 5: Montering - Voeg deurkopgate by
- Stap 6: Montering - Heg LED's aan
- Stap 7: Montering - Heg die PhidgetIR aan
- Stap 8: Montering - Voeg knoppies by
- Stap 9: Vergadering - Alles saamvoeg
- Stap 10: sagteware - kode
- Stap 11: Sagteware - CIR -opdragte
- Stap 12: Begin die program
- Stap 13: Resultaat
Video: Tegnologie vir u oupa: 13 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hoeveel keer het u na u grootouers se huis gegaan om te help met 'n 'tegnologiese probleem', wat uiteindelik 'n afgetrekte kragkabel was, 'n dooie afstandbattery of nie die bron op hul TV kon skakel nie? Ek weet dat dit vir my baie gereeld gebeur. Alhoewel die meeste van hul probleme opgelos kan word deur eenvoudig na die winkel te gaan vir nuwe AA's, kan hulle soms baat by 'n meer aangepaste oplossing.
Die oupa van my vriendin het byvoorbeeld 'n nuwe televisie gekry en ons het hom probeer leer hoe om die bron te verander, sodat hy tussen DVD's en TV's kon wissel - maar hy kon dit nie agterkom nie. Hy het ook 'n gebrek aan sig en het nie te veel belang om ingewikkelde prosesse te onthou nie, hy wil net na sy programme kyk wanneer hy wil. Nadat ek probeer het om die stappe tydens ons laaste besoek kalm te verduidelik sonder veel sukses, het ek besluit dat ek hom net sy eie eenvoudige afstandsbediening met twee knoppies sou maak. Dit sou hom toelaat om die invoerbron op sy televisie pynloos te verander, en maklik tussen sy geliefde Matlock DVD's en Price is Right te skakel.
Stap 1: materiaal
- PhidgetIR
- PhidgetSBC4 (of enige enkelbordrekenaar soos die Raspberry Pi)
- Soldeerbout
- Kantsnyers
- Draadstroppers
- Jumper Wires
- USB -kabel
- Phidget -kabel
- Omhulsel
- Deurlopende opskrifte
- Krimpbuis
Stap 2: Beplanning
Om die afstandsbediening te skep, het ek die vermoë nodig om verbruikers -infrarooi (CIR) opdragte na die televisie te stuur. Ek het besluit om die PhigetIR vir hierdie taak te gebruik. Die PhidgetIR is 'n USB -beheerde toestel wat beide CIR -opdragte kan stuur en ontvang. Ek het dit om 'n paar redes gekies:
- Ek wou hierdie projek so gou as moontlik voltooi en dit in gebruik neem, sodat die gedagte om my ossilloskoop en broodbord uit te breek nie aantreklik was nie. Hoe waarskynlik is dit dan ook dat my handgesoldeerde stroombane oor 'n jaar of twee nog sal werk?
- Die PhidgetIR het die vermoë om CIR -opdragte te "leer", wat ontwikkeling uiters eenvoudig maak.
- U kan byna enige algemene programmeertaal met die PhidgetIR gebruik. Dit het beteken dat ek Java kon gebruik en dinge vinnig kon afhandel.
- Uiteindelik werk ek vir Phidgets, so ek is gemaklik met die API, en daar is altyd ekstra toestelle wat rondlê.
Omdat ek gekies het om die PhidgetIR te gebruik, het ek 'n rekenaar nodig om dit uit te voer. Ek wou hê dat hierdie projek 'n selfstandige toepassing moet wees, net soos 'n gewone afstandsbediening, sodat 'n lessenaar of skootrekenaar uit was. Ek het gekies om 'n PhidgetSBC4 ('n enkelbordrekenaar met Debian Linux) te gebruik, want dit het my in staat gestel om met albei drukknoppies te koppel sonder ekstra hardeware. Hulle kan eenvoudig direk aan die ingeboude VINT Hub gekoppel word. Let wel: u kan ook 'n Raspberry Pi vir hierdie projek gebruik. Uiteindelik, behalwe dat dit funksioneel gesond was, wou ek ook hê dat hierdie projek goed sou lyk, en ek het besluit dat 'n 3D -gedrukte omhulsel nodig sou wees.
Stap 3: 3D -druk
Vir hierdie projek is Geomagic gebruik om die omhulsel te modelleer. Daar is 3D -staplêers beskikbaar vir beide die PhidgetIR en die PhidgetSBC4 wat die proses vereenvoudig het. Sommige besluite is tydens hierdie stap geneem oor die grootte en funksionaliteit van die omhulsel:
- Die PhidgetIR het twee IR -LED's wat na die TV moet wys om opdragte te stuur. In plaas daarvan om die omhulsel rondom die PhidgetIR -bord te ontwerp, kan die IR -LED's desoldeer en in die gate aan die kant van die omhulsel vasgeplak word. Die PhidgetIR -bord kan dan weg van die LED's gemonteer word, met die leë ruimte.
- Die VINT Hub -verbindings op die PhidgetSBC4 kan opwaarts gebuig word, wat steeds toegang tot die drukknopverbindings moontlik maak, en dit sal ook verhoed dat 'n groter omhulsel nodig is.
Ek het ook besluit om 'n etiket vir die knoppies by te voeg en 'n etiket wat die rigting aandui, sodat die IR -LED's in die regte rigting wys. Ek het die omhulsel van swart ABS -plastiek gedruk.
Stap 4: Montering - Verwyder die LED's
Die IR -LED's word uiteindelik in gate aan die kant van die omhulsel vasgeplak. Dit beteken dat hulle eers ontsout moet word.
Stap 5: Montering - Voeg deurkopgate by
Vervolgens is deurlopende koppe bygevoeg waar die LED's vroeër was, wat dit maklik gemaak het om aan te sluit met behulp van 'n 4-pins springdraad. Gebruik hitte-krimpbuise om toevallige kontak te voorkom.
Stap 6: Montering - Heg LED's aan
Plak die LED's aan die kant van die omhulsel vas.
Stap 7: Montering - Heg die PhidgetIR aan
Koppel die PhidgetIR aan die omhulsel en verbind die LED's.
Stap 8: Montering - Voeg knoppies by
Die drukknoppies moet aan die ingeboude VINT-hub op die PhidgetSBC gekoppel word, so ek het 'n Phidget-kabel middeldeur gesny en die punte aan die knoppies gesoldeer. Let daarop dat slegs die wit draad (sein) en swart (grond) benodig word.
Stap 9: Vergadering - Alles saamvoeg
Sommige kabelbestuur was nodig om alles bymekaar te kry, maar die omhulsel het goed gewerk.
Stap 10: sagteware - kode
Daar is slegs 'n enkele Java -lêer nodig vir hierdie projek wat u hier kan vind. Die program gebruik een PhidgetIR -voorwerp en twee DigitalInput -voorwerpe. U kan hierdie voorwerpe soos volg skep:
PhidgetIR ir = nuwe PhidgetIR ();
DigitalInput tvButton = nuwe DigitalInput (); DigitalInput otherButton = nuwe DigitalInput ();
Die digitale invoer -voorwerpe word op 'n fisiese drukknop op die VINT -hub gekarteer. Heg-, los-, fout- en toestandveranderingsgebeurtenisse word ook ingeteken op:
tv.setIsHubPortDevice (waar);
tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); tvButton.open (); otherButton.setIsHubPortDevice (waar); otherButton.setHubPort (5); otherButton.addAttachListener (onAttachListener); otherButton.addDetachListener (onDetachListener); otherButton.addErrorListener (onErrorListener); otherButton.addStateChangeListener (onStateChangeListener); otherButton.open ();
Die luisteraar na die staatsverandering waarna hierbo verwys word, lyk so:
privatestatic DigitalInputStateChangeListener onStateChangeListener = new DigitalInputStateChangeListener () {@OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {
DigitalInput ch = (DigitalInput) disce.getSource (); probeer {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 ());}}};
As 'n knoppie geaktiveer word, voer die gebeurteniskode 'n vlag uit. Daar sal na hierdie vlae verwys word en in die hooflus herstel word. Die hooflus wag eenvoudig op 'n verandering in die knoppie, en stuur dan IR -opdragte met behulp van die stuurfunksie wat beskikbaar is by die PhidgetIR API.
terwyl (waar) {if (tvButtonActivated) {
tvButtonActivated = vals; Log.log (LogLevel. INFO, "VERANDERENDE BRON - TV"); ir.transmit (sourceButtonString, codeInfo); Draad.slaap (500); ir.transmit (rightButtonString, codeInfo); Draad.slaap (500); ir.transmit (enterButtonString, codeInfo);} as (otherButtonActivated) {otherButtonActivated = false; Log.log (LogLevel. INFO, "VERANDERENDE BRON - DVD"); ir.transmit (sourceButtonString, codeInfo); Draad.slaap (500); ir.transmit (leftButtonString, codeInfo); Draad.slaap (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}
Stap 11: Sagteware - CIR -opdragte
Hier is 'n voorbeeld van hoe u 'n opdrag kan maak ('n volume -opdrag in hierdie geval):
// IR -kode
IRCodeInfo sourceButtonCI = nuwe IRCodeInfo (); String volumeUp = "77e1d0f0"; // Stel bronknoppie sourceButtonCI.bitCount = 32 op; 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;
Om die inligting vir hierdie opdrag te kry, gebruik ek eenvoudig die PhidgetIR -voorbeeld wat by die Phidget -biblioteke kom. Nadat die afstandsbediening na die PhidgetIR gerig is en die volumeknop ingedruk is, “leer” die IR die kode en vul die voorbeeld in. Hierdie inligting kan dan eenvoudig in die kode gekopieer word.
Stap 12: Begin die program
Die Java -lêer kan op 'n eksterne rekenaar geskryf en saamgestel word. Plaas PhidgetRemote.java en phidget22.jar in dieselfde gids en voer die volgende opdrag uit:
Windowsjavac -klaspad.; Phidget22.jar PhidgetRemote.java
macOS/Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java
Na die opstel, kopieer die gegenereerde klaslêers na die PhidgetSBC4 en stel dit in om tydens opstart te werk.
Stap 13: Resultaat
Toe ek die afstandsbediening vir die oupa van my vriendin gee en hom wys hoe om dit te gebruik, was hy verbaas oor hoe eenvoudig dit was. Kyk na die video om dit in aksie te sien!
Derde prys in die afstandbeheer -kompetisie 2017
Aanbeveel:
Lewende pixels - stel jou voor dat tegnologie lewe het: 4 stappe (met foto's)
Living Pixels - Stel jou voor dat tegnologie lewe het: toe ek sien dat slimhuisprodukte meer gereeld in ons lewens voorkom, het ek begin nadink oor die verhouding tussen mense en hierdie produkte. As gesindheidsprodukte eendag 'n onontbeerlike deel van elkeen se lewe word, watter houding moet ons neem
Lae-tegnologie sonlamp met hergebruikte batterye: 9 stappe (met foto's)
Lae-tegnologie sonlamp met hergebruikte batterye: Met hierdie handleiding kan u 'n sonlamp maak met 'n USB-laaier. Dit gebruik litiumselle wat hergebruik word vanaf 'n ou of beskadigde skootrekenaar. Hierdie stelsel, met 'n dag sonlig, kan 'n slimfoon ten volle laai en 4 uur lig hê. Hierdie tegniek
Oupa te lank uit die bed opspoor: 7 stappe
Oupa te lank uit die bed opgemerk: agtergrond Alhoewel daar al jare lank bedalarmmonitors was, is dit net eenvoudige sluitings van die bedkussing wat 'n plaaslike alarm vir sorgverskaffers laat lui as iemand uit die bed kom, maar daar was nie 'n manier vir 'n afgeleë gesin nie versorgers om 'n lo
Draagbare pasgemaakte ligpaneel (tegnologie -verkenningskursus - TfCD - Tu Delft): 12 stappe (met foto's)
Drabare pasgemaakte ligpaneel (tegnologie -verkenningskursus - TfCD - Tu Delft): In hierdie instruksie leer u hoe u u eie verligte beeld kan maak wat u kan dra! Dit word gedoen deur die gebruik van EL -tegnologie bedek met 'n vinieldekaal en bande daaraan vasmaak sodat u dit om u arm kan dra. U kan ook dele van hierdie bladsy verander
Gebruik AC met LED's (Deel 4) - die nuwe tegnologie: 6 stappe (met foto's)
Die gebruik van wisselstroom met LED's (deel 4) - die nuwe tegnologieë: 'n Paar van die versperrings in die algemene aanvaarding van LED in die huis is die relatiewe hoë koste per lumen en die ingewikkelde en lomp kragomskakelingstelsels. Die afgelope paar maande beloof 'n aantal nuwe ontwikkelings om ons 'n stap nader aan