Tartalomjegyzék:
- 1. lépés: Anyagok
- 2. lépés: Tervezés
- 3. lépés: 3D nyomtatás
- 4. lépés: Összeszerelés - Távolítsa el a LED -eket
- 5. lépés: Összeszerelés - A lyukfejlécek hozzáadása
- 6. lépés: Összeszerelés - Csatlakoztassa a LED -eket
- 7. lépés: Összeszerelés - Csatlakoztassa a PhidgetIR -t
- 8. lépés: Összeszerelés - Gombok hozzáadása
- 9. lépés: Összeszerelés - mindent össze kell rakni
- 10. lépés: Szoftver - kód
- 11. lépés: Szoftver - CIR parancsok
- 12. lépés: A program futtatása
- 13. lépés: Eredmény
Videó: Technológia nagyapád számára: 13 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Hányszor járt a nagyszülei házában, hogy segítsen egy „technológiai problémán”, amely végül egy kihúzott tápkábel, egy lemerült távoli akkumulátor volt, vagy nem tudta átkapcsolni a forrást a tévén? Tudom, hogy számomra ez elég gyakran előfordul. Bár problémáik nagy részét meg lehet oldani, ha egyszerűen befutnak a boltba néhány új AA -hoz, néha hasznukra válhat egy személyre szabottabb megoldás.
Például a barátnőm nagyapja új televíziót kapott, és megpróbáltuk megtanítani neki, hogyan kell megváltoztatni a forrást, hogy át tudjon váltani a DVD -k és a TV között - de egyszerűen nem tudta kitalálni. A látásromlással is foglalkozik, és nem érdekli túlságosan, hogy megpróbáljon emlékezni a bonyolult folyamatokra, csak akkor akarja nézni a műsorait, amikor akarja. Miután megpróbáltam higgadtan elmagyarázni az utolsó látogatásunk lépéseit, sok siker nélkül, úgy döntöttem, hogy egyszerűen elkészítem neki a saját egyszerű, kétgombos távirányítóját. Ez lehetővé tenné számára, hogy fájdalommentesen megváltoztassa a televízió bemeneti forrását, és könnyedén váltson a szeretett Matlock DVD -k és az Price is Right között.
1. lépés: Anyagok
- PhidgetIR
- PhidgetSBC4 (vagy bármely egylapos számítógép, mint a Raspberry Pi)
- Forrasztópáka
- Oldalvágók
- Huzalcsupaszítók
- Jumper vezetékek
- USB kábel
- Phidget kábel
- Burkolat
- Átmenő lyukak
- Hőre zsugorodó cső
2. lépés: Tervezés
A távirányító létrehozásához szükségem volt arra, hogy fogyasztói infravörös (CIR) parancsokat küldhessek a televíziónak. Úgy döntöttem, hogy a PhigetIR -t használom erre a feladatra. A PhidgetIR egy USB vezérlésű eszköz, amely képes CIR parancsok küldésére és fogadására egyaránt. Ezt néhány okból választottam:
- Szerettem volna a lehető leghamarabb befejezni ezt a projektet, és használatba venni, így nem volt vonzó a gondolat, hogy feltörjem az oszcilloszkópomat és a kenyérszemet. Továbbá mennyire valószínű, hogy a kézzel forrasztott áramköreim egy-két év múlva is működnek?
- A PhidgetIR képes „megtanulni” a CIR parancsokat, ami rendkívül egyszerűvé teszi a fejlesztést.
- A PhidgetIR segítségével szinte bármilyen mainstream programozási nyelvet használhat. Ez azt jelentette, hogy használhatom a Java -t, és gyorsan befejezhetem a dolgokat.
- Végül a Phidgets -nél dolgozom, így elégedett vagyok az API -val, és mindig vannak tartalék eszközök.
Mivel a PhidgetIR használatát választottam, szükségem volt egy számítógépre, amellyel futtatni tudtam. Azt akartam, hogy ez a projekt önálló alkalmazás legyen, hasonlóan a normál távirányítóhoz, így egy asztali számítógép vagy laptop kimaradt. Úgy döntöttem, hogy a PhidgetSBC4-et (Debian Linuxot futtató egylapos számítógépet) használom, mert ez lehetővé tette, hogy mindkét nyomógombbal minden további hardver nélkül kezelhessem. Egyszerűen csatlakoztathatók közvetlenül a beépített VINT hubhoz. Megjegyzés: ehhez a projekthez Raspberry Pi -t is használhat. Végül, amellett, hogy funkcionálisan megbízható, szeretném, ha ez a projekt jól nézne ki, ezért úgy döntöttem, hogy szükség lesz egy 3D nyomtatott házra.
3. lépés: 3D nyomtatás
Ehhez a projekthez a Geomagic -t használták a ház modellezésére. Mind a PhidgetIR, mind a PhidgetSBC4 számára 3D lépésfájlok állnak rendelkezésre, amelyek egyszerűsítették a folyamatot. Ebben a lépésben néhány döntés született a ház méretéről és funkcionalitásáról:
- A PhidgetIR két IR LED -del rendelkezik, amelyeknek a TV felé kell mutatniuk a parancsok küldéséhez. Ahelyett, hogy a házat a PhidgetIR tábla köré tervezné, az infravörös LED -eket ki lehet forrasztani, és be kell ragasztani a ház oldalán található lyukakba. A PhidgetIR táblát ezután a LED -ektől távol is fel lehet szerelni, kihasználva az üres helyet.
- A PhidgetSBC4 VINT Hub csatlakozói felfelé hajlíthatók, ami továbbra is lehetővé teszi a nyomógombos kapcsolatok elérését, és megakadályozza azt is, hogy nagyobb házat kelljen létrehozni.
Elhatároztam, hogy hozzáadok egy címkét a gombokhoz és egy címkét, amely jelzi, hogy milyen irányba kell fordulnia, hogy az IR LED -ek a megfelelő irányba mutassanak. A házat fekete ABS műanyagból nyomtam ki.
4. lépés: Összeszerelés - Távolítsa el a LED -eket
Az IR LED -eket végül a burkolat oldalán lévő lyukakba ragasztják. Ez azt jelenti, hogy először forrasztani kell őket.
5. lépés: Összeszerelés - A lyukfejlécek hozzáadása
Ezt követően a LED-ekhez hasonlóan átmenő lyukú fejléceket adtak hozzá, amelyek megkönnyítették a csatlakoztatást egy 4 tűs jumper vezetékkel. A véletlen érintkezés elkerülése érdekében használjon zsugorcsövet.
6. lépés: Összeszerelés - Csatlakoztassa a LED -eket
Ragassza a LED -eket a ház oldalára.
7. lépés: Összeszerelés - Csatlakoztassa a PhidgetIR -t
Csatlakoztassa a PhidgetIR -t a házhoz, és csatlakoztassa a LED -eket.
8. lépés: Összeszerelés - Gombok hozzáadása
A nyomógombokat a PhidgetSBC beépített VINT hubjához kell csatlakoztatni, ezért félbevágtam egy Phidget kábelt, és a végeket a gombokhoz forrasztottam. Vegye figyelembe, hogy csak a fehér vezeték (jel) és a fekete (föld) szükséges.
9. lépés: Összeszerelés - mindent össze kell rakni
Némi kábelkezelésre volt szükség ahhoz, hogy mindent össze lehessen hozni, azonban a ház jól működött.
10. lépés: Szoftver - kód
Ehhez a projekthez csak egyetlen Java fájl szükséges, amelyet itt talál. A program egy PhidgetIR objektumot és két DigitalInput objektumot használ. Ezeket az objektumokat a következőképpen hozhatja létre:
PhidgetIR ir = új PhidgetIR ();
DigitalInput tvButton = új DigitalInput (); DigitalInput otherButton = új DigitalInput ();
A digitális bemeneti objektumok a VINT Hub fizikai nyomógombjára vannak leképezve. A csatolás, leválasztás, hiba és állapotváltozás eseményei szintén előfizetnek:
tv.setIsHubPortDevice (igaz);
tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); tvButton.open (); otherButton.setIsHubPortDevice (igaz); otherButton.setHubPort (5); otherButton.addAttachListener (onAttachListener); otherButton.addDetachListener (onDetachListener); otherButton.addErrorListener (onErrorListener); otherButton.addStateChangeListener (onStateChangeListener); otherButton.open ();
A fent említett állapotváltozás -figyelő így néz ki:
privatestatic DigitalInputStateChangeListener onStateChangeListener = new DigitalInputStateChangeListener () {@OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {
DigitalInput ch = (DigitalInput) disce.getSource (); próbálja meg {if (ch.getHubPort () == 4 && disce.getState () == true) {tvButtonActivated = true;} if (ch.getHubPort () == 5 && disce.getState () == true) {otherButtonActivated = true;}} catch (PhidgetException ex) {System.out.println ("Hiba:"+ ex.getDescription ());}}};
Amikor egy gombot aktivál, az eseménykód végrehajtódik, és beállít egy zászlót. Ezekre a zászlókra hivatkozunk és visszaállítjuk a fő ciklusban. A fő hurok egyszerűen várja a gomb állapotának megváltozását, majd IR parancsokat küld a PhidgetIR API -ból elérhető átviteli funkció használatával.
while (igaz) {if (tvButtonActivated) {
tvButtonActivated = hamis; Log.log (LogLevel. INFO, "VÁLTOZÓ FORRÁS - TV"); ir.transmit (sourceButtonString, codeInfo); Téma.alvás (500); ir.transmit (rightButtonString, codeInfo); Téma.alvás (500); ir.transmit (enterButtonString, codeInfo);} if (otherButtonActivated) {otherButtonActivated = false; Log.log (LogLevel. INFO, "CHANGING SOURCE - DVD"); ir.transmit (sourceButtonString, codeInfo); Téma.alvás (500); ir.transmit (leftButtonString, codeInfo); Téma.alvás (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}
11. lépés: Szoftver - CIR parancsok
Íme egy példa a parancs létrehozására (ebben az esetben hangerőnövelő parancs):
IR -kód
IRCodeInfo sourceButtonCI = new IRCodeInfo (); String volumeUp = "77e1d0f0"; // A forrásgomb beállítása 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;
A parancshoz szükséges információk beszerzése érdekében egyszerűen a PhidgetIR könyvtárhoz tartozó PhidgetIR példát használtam. Miután a távirányítót a PhidgetIR felé mutatta, és lenyomva tartotta a hangerőnövelő gombot, az IR „megtanulja” a kódot, és kitölti a példát. Ez az információ egyszerűen másolható a kódba.
12. lépés: A program futtatása
A Java fájl írható és fordítható külső számítógépen. Helyezze a PhidgetRemote.java és a phidget22.jar fájlokat ugyanabba a mappába, és futtassa a következő parancsot:
Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java
macOS/Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java
A fordítás után másolja a létrehozott osztályfájlokat a PhidgetSBC4 -be, és állítsa be a rendszerindításra.
13. lépés: Eredmény
Amikor odaadtam a távirányítót a barátnőm nagyapjának, és megmutattam neki, hogyan kell használni, csodálkozott, hogy milyen egyszerű. Nézze meg a videót, hogy lássa működés közben!
Harmadik díj a távvezérlő versenyen 2017
Ajánlott:
HAIKU, amikor a divat és a technológia összeolvad. TfCD projekt. TU Delft .: 4 lépés
HAIKU, amikor a divat és a technológia összeolvad. TfCD projekt. TU Delft .: A Haiku egy koncepció, amelyet Mucahit Aydin fejlesztett ki egy TU Delft MSc tanfolyamra. Ennek a kimonónak a fő elve az, hogy kiterjessze azt az érzést, mintha valaki megölelné. Ennek érdekében a kimonó megérintése után felfed egy mintát. Hogyan? Végrehajtók által
Segítő technológia a beszédproblémákhoz a MakeyMakey W/ Scratch használatával: 4 lépés
Segítő technológia a beszédproblémákhoz a MakeyMakey W/ Scratch használatával: Segédtechnológiai eszközöm a beszédzavarok és a beszédkorlátozások kezelésére szolgál. Ez. célja a tanulási folyamat segítése
Coco-Mic --- a DIY Studio Quailty USB Mic (MEMS technológia): 18 lépés (képekkel)
Coco-Mic --- a DIY Studio Quailty USB Mic (MEMS technológia): Hello Instructabler's, Sahas itt. Profiként szeretné rögzíteni az audio fájljait? Valószínűleg szívesen … Nos … valójában mindenki szereti. Ma a vágyaid teljesülnek. Itt mutatjuk be a Coco -Mic - amely nemcsak a minőséget rögzíti
D4E1 - DIY - Segítő technológia: Állítható tolószék tálca: 7 lépés (képekkel)
D4E1 - DIY - Segítő technológia: Állítható tolószék tálca: Kjell veleszületett fogyatékossággal rendelkezik: diszkinetikus kvadriparézis, és nem tud egyedül enni. Szüksége van egy monitor, egy munkaterapeuta segítségére, aki eteti. Ez két problémával jár: 1) A munkaterapeuta a volán mögött áll
D4E1 - DIY - Segítő technológia: „Scale Aid 2018”: 7 lépés
D4E1 - DIY - Segítő technológia: „Scale Aid 2018”: Veronique egy 36 éves nő, aki a „Het Ganzenhof” cégnél dolgozik veleszületett szindrómája (Rubinstein-Taybi) miatt. Itt azt a feladatot vállalja fel, hogy a mennyiségek mérésével segíti a receptek végrehajtását. Ez a folyamat mindig is így volt