Բովանդակություն:
- Քայլ 1: Նյութեր
- Քայլ 2: Պլանավորում
- Քայլ 3: 3D տպում
- Քայլ 4. Հավաքում - Հեռացրեք LED- ները
- Քայլ 5. Հավաքում. Ավելացրեք անցքերի վերնագրեր
- Քայլ 6. Հավաքում - Կցեք LED- ները
- Քայլ 7. Հավաքում. Կցեք PhidgetIR- ը
- Քայլ 8. Հավաքում - Ավելացնելով կոճակներ
- Քայլ 9. Համագումար - Ամեն ինչ միասին հավաքելը
- Քայլ 10. Softwareրագրակազմ - ծածկագիր
- Քայլ 11. Softwareրագրակազմ - CIR հրամաններ
- Քայլ 12: ningրագրի գործարկում
- Քայլ 13: Արդյունք
Video: Տեխնոլոգիա ձեր պապի համար. 13 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Քանի՞ անգամ եք գնացել ձեր տատիկի և պապիկի տուն ՝ օգնելու «տեխնոլոգիական խնդրին», որն ավարտվել է որպես անջատված հոսանքի մալուխ, մեռած մարտկոց, կամ հեռուստացույցի աղբյուրը չկարողանալով միացնել: Ես գիտեմ, որ ինձ համար դա բավականին հաճախ է պատահում: Թեև նրանց խնդիրների մեծ մասը կարելի է լուծել ՝ պարզապես խանութ գնալով որոշ նոր AA- ների համար, երբեմն նրանք կարող են օգուտ քաղել ավելի հարմարեցված լուծումից:
Օրինակ, ընկերուհուս պապիկը նոր հեռուստացույց ունեցավ, և մենք փորձեցինք սովորեցնել նրան, թե ինչպես փոխել աղբյուրը, որպեսզի նա կարողանա անցնել DVD- ների և հեռուստատեսության միջև, բայց նա պարզապես չկարողացավ դա պարզել: Նա նաև զբաղվում է տեսողության անկմամբ և այնքան էլ շահագրգռված չէ բարդ գործընթացները հիշելու փորձերով, նա պարզապես ցանկանում է դիտել իր շոուները, երբ դա ցանկանա: Մեր վերջին այցի ընթացքում քայլերը հանգիստ կերպով բացատրելուց հետո, առանց մեծ հաջողության, որոշեցի, որ ես նրան կդարձնեմ իր պարզ երկու կոճակ ունեցող հեռակառավարիչը: Սա թույլ կտա նրան ցավոտ կերպով փոխել իր հեռուստատեսության մուտքի աղբյուրը ՝ հեշտությամբ անցնելով իր սիրելի Matlock DVD- ների և Price is Right- ի միջև:
Քայլ 1: Նյութեր
- PhidgetIR
- PhidgetSBC4 (կամ Raspberry Pi- ի նման մեկ տախտակ ունեցող համակարգիչ)
- Sոդման երկաթ
- Կողքի կտրիչներ
- Մետաղալարեր
- Jumper լարերը
- USB մալուխ
- Ֆիջեթ մալուխ
- Պարիսպ
- Միջանցքային վերնագրեր
- Heերմասեղման խողովակ
Քայլ 2: Պլանավորում
Հեռակառավարիչը ստեղծելու համար ինձ անհրաժեշտ էր հեռուստատեսությանը սպառողական ինֆրակարմիր (CIR) հրամաններ ուղարկելու ունակություն: Ես որոշեցի օգտագործել PhigetIR- ը այս առաջադրանքի համար: PhidgetIR- ը USB- ով վերահսկվող սարք է, որն ունի CIR հրամաններ ուղարկելու և ստանալու հնարավորություն: Ես ընտրեցի սա մի քանի պատճառով.
- Ես ուզում էի հնարավորինս արագ ավարտել այս նախագիծը և այն գործի դնել, այնպես որ իմ տատանումների և տախտակի կոտրման մասին միտքը գրավիչ չէր: Բացի այդ, որքանո՞վ է հավանական, որ իմ ձեռքով զոդված սխեմաները դեռ կաշխատեն մեկ-երկու տարի հետո:
- PhidgetIR- ն ունակ է «սովորել» CIR հրամաններ ՝ զարգացումը դարձնելով չափազանց պարզ:
- Դուք կարող եք օգտագործել գրեթե ցանկացած հիմնական ծրագրավորման լեզու PhidgetIR- ի միջոցով: Սա նշանակում էր, որ ես կարող եմ օգտագործել Java- ն և արագ ավարտել գործերը:
- Ի վերջո, ես աշխատում եմ Phidgets- ում, այնպես որ ես հարմար եմ API- ի հետ, և միշտ այնտեղ կան պահեստային սարքեր:
Քանի որ ես որոշեցի օգտագործել PhidgetIR- ը, ինձ անհրաժեշտ էր համակարգիչ, որն այն կաշխատի: Ես ուզում էի, որ այս նախագիծը լինի առանձին ծրագիր, ինչպես սովորական հեռակառավարման վահանակը, այնպես որ աշխատասեղանը կամ նոութբուքը դուրս էր: Ես որոշեցի օգտագործել PhidgetSBC4 (մեկ տախտակ ունեցող համակարգիչ, որն աշխատում է Debian Linux- ով), քանի որ այն ինձ թույլ տվեց միանալ երկու կոճակներին ՝ առանց որևէ լրացուցիչ սարքավորման: Նրանք պարզապես կարող են ուղղակիորեն միացված լինել ներկառուցված VINT հանգույցին: Նշում. Այս նախագծի համար կարող եք նաև օգտագործել Raspberry Pi: Ի վերջո, ֆունկցիոնալ առողջ լինելուց բացի, ես ուզում էի, որ այս նախագիծը հիանալի տեսք ունենար, ուստի որոշեցի, որ 3D տպագիր պարիսպը անհրաժեշտ կլինի:
Քայլ 3: 3D տպում
Այս նախագծի համար Geomagic- ը օգտագործվել է պարիսպի մոդելավորման համար: Կան եռաչափ քայլերի ֆայլեր, որոնք հասանելի են ինչպես PhidgetIR- ի, այնպես էլ PhidgetSBC4- ի համար, ինչը պարզեցրեց գործընթացը: Այս քայլի ընթացքում որոշումներ են ընդունվել ՝ պարիսպի չափի և ֆունկցիոնալության վերաբերյալ.
- PhidgetIR- ն ունի երկու IR LED, որոնք հրամաններ ուղարկելու համար պետք է ուղղված լինեն դեպի հեռուստացույց: PhidgetIR- ի տախտակի շուրջը պարիսպը նախագծելու փոխարեն, IR LED- ները կարող են ապամոդվել և սոսնձվել պարիսպի կողքի անցքերի մեջ: PhidgetIR տախտակն այնուհետև կարող է տեղադրվել LED- ներից հեռու ՝ օգտագործելով դատարկ տարածքը:
- PhidgetSBC4- ի VINT Hub միակցիչները կարող են թեքվել դեպի վեր, ինչը դեռ թույլ կտա մուտք գործել կոճակի միացումներին, ինչպես նաև կխոչընդոտի ավելի մեծ պարիսպ ստեղծելու անհրաժեշտությանը:
Ես նաև որոշեցի ավելացնել կոճակների համար պիտակ և պիտակ, որը ցույց է տալիս այն ուղղությունը, որով այն պետք է ուղղված լինի, որպեսզի IR LED- ները նշվեն ճիշտ ուղղությամբ: Տեղանքը տպել եմ սեւ ABS պլաստիկից:
Քայլ 4. Հավաքում - Հեռացրեք LED- ները
IR LED- ները, ի վերջո, կպցվեն պարիսպի կողային անցքերի մեջ: Սա նշանակում է, որ նրանք նախ պետք է ապամոդուլացվեն:
Քայլ 5. Հավաքում. Ավելացրեք անցքերի վերնագրեր
Հաջորդը, անցքերի վերնագրերը ավելացվեցին այնտեղ, որտեղ LED- ները նախկինում էին, ինչը նրանց դյուրին դարձրեց 4-պտուտակ ցատկող մետաղալարի օգտագործումը: Օգտագործեք ջերմության նվազեցման խողովակներ `պատահական շփումը կանխելու համար:
Քայլ 6. Հավաքում - Կցեք LED- ները
Կպցրեք LED- ները պարիսպի կողքին:
Քայլ 7. Հավաքում. Կցեք PhidgetIR- ը
Կցեք PhidgetIR- ը պարիսպին և միացրեք LED- ները:
Քայլ 8. Հավաքում - Ավելացնելով կոճակներ
Սեղմման կոճակները պետք է միացված լինեն PhidgetSBC- ի ներկառուցված VINT հանգույցին, այնպես որ ես կտրեցի Phidget Cable- ը կիսով չափ և ծայրերը կպցրի կոճակներին: Նկատի ունեցեք, որ պահանջվում է միայն սպիտակ մետաղալար (ազդանշան) և սև (հող):
Քայլ 9. Համագումար - Ամեն ինչ միասին հավաքելը
Ամեն ինչ հավաքելու համար պահանջվում էր մալուխային որոշ կառավարում, այնուամենայնիվ, պարիսպը լավ աշխատեց:
Քայլ 10. Softwareրագրակազմ - ծածկագիր
Այս նախագծի համար պահանջվում է միայն մեկ Java ֆայլ, որը կարող եք գտնել այստեղ: Usesրագիրը օգտագործում է մեկ PhidgetIR օբյեկտ և երկու DigitalInput օբյեկտ: Այս օբյեկտները կարող եք ստեղծել այսպես.
PhidgetIR ir = նոր PhidgetIR ();
DigitalInput tvButton = նոր DigitalInput (); DigitalInput otherButton = նոր DigitalInput ();
Թվային մուտքագրման օբյեկտները քարտեզագրվում են VINT հանգույցի ֆիզիկական կոճակի վրա: Կցման, անջատման, սխալի և վիճակի փոփոխման իրադարձությունները նույնպես բաժանորդագրված են.
tv.setIsHubPortDevice (ճշմարիտ);
tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); tvButton.open (); otherButton.setIsHubPortDevice (ճշմարիտ); otherButton.setHubPort (5); otherButton.addAttachListener (onAttachListener); otherButton.addDetachListener (onDetachListener); otherButton.addErrorListener (onErrorListener); otherButton.addStateChangeListener (onStateChangeListener); otherButton.open ();
Վերը նշված վիճակի ունկնդրի ունկնդիրն ունի հետևյալ տեսքը.
privatestatic DigitalInputStateChangeListener onStateChangeListener = նոր DigitalInputStateChangeListener () {@OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {
DigitalInput ch = (DigitalInput) disce.getSource (); փորձեք {if (ch.getHubPort () == 4 && disce.getState () == true) {tvButtonActivated = true;} if (ch.getHubPort () == 5 && disce.getState () == true) {otherButtonActivated = true;}} catch (PhidgetException ex) {System.out.println ("Սխալ."+ ex.getDescription ());}}};
Երբ կոճակն ակտիվանում է, իրադարձության ծածկագիրը կկիրառվի և դրոշակ կդնի: Այս դրոշները կուղղորդվեն և կվերակայվեն հիմնական հանգույցում: Հիմնական օղակը պարզապես սպասում է կոճակի վիճակի փոփոխությանը, այնուհետև IR հրամաններ է ուղարկում ՝ օգտագործելով PhidgetIR API- ից հասանելի փոխանցման գործառույթը:
while (true) {if (tvButtonActivated) {
tvButtonActivated = կեղծ; Log.log (LogLevel. INFO, «ՓՈՓՈԽՈ SOԹՅԱՆ ԱURԲՅՈՐ - հեռուստատեսություն»); 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, «ՓՈԽՈ Ա SOԲՅՈՐ - DVD»); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}
Քայլ 11. Softwareրագրակազմ - CIR հրամաններ
Ահա մի օրինակ, թե ինչպես ստեղծել հրաման (այս դեպքում ձայնի բարձրացման հրաման).
// IR ծածկագիր
IRCodeInfo sourceButtonCI = նոր IRCodeInfo (); String volumeUp = "77e1d0f0"; // Կարգավորել աղբյուրի կոճակը 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. կրկնել [0] = 9084; sourceButtonCI. կրկնել [1] = 2308; sourceButtonCI. կրկնել [2] = 549; sourceButtonCI.length = IRCodeLength. CONSTANT;
Այս հրամանի մասին տեղեկատվություն ստանալու համար ես պարզապես օգտագործեցի PhidgetIR- ի օրինակը, որն ուղեկցվում է Phidget գրադարաններով: Հեռակառավարիչը PhidgetIR- ի ուղղությամբ ցույց տալուց և ձայնի բարձրացման կոճակը պահելուց հետո IR- ն «սովորում» է ծածկագիրը և լրացնում օրինակը: Այս տեղեկատվությունը կարող է պարզապես պատճենվել կոդի մեջ:
Քայլ 12: ningրագրի գործարկում
Java ֆայլը կարող է գրվել և կազմվել արտաքին համակարգչի վրա: Տեղադրեք PhidgetRemote.java և phidget22.jar նույն թղթապանակում և գործարկեք հետևյալ հրամանը.
Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java
macOS/Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java
Կազմելուց հետո պատճենեք ստեղծված դասի ֆայլերը PhidgetSBC4- ում և կազմաձևեք, որ այն գործի բեռնման վրա:
Քայլ 13: Արդյունք
Երբ հեռակառավարման վահանակը տվեցի ընկերուհուս պապիկին և ցույց տվեցի, թե ինչպես օգտագործել այն, նա ապշեց, թե որքան պարզ էր դա: Դիտեք տեսանյութը ՝ այն գործողության մեջ տեսնելու համար:
Երրորդ մրցանակ Հեռակառավարման մրցույթում 2017 թ
Խորհուրդ ենք տալիս:
Steam Punk ձեր UPS- ը ՝ ձեր Wi-Fi երթուղիչի համար մի քանի ժամ անընդհատ աշխատելու համար. 4 քայլ (նկարներով)
Steam Punk Ձեր UPS- ը ձեր Wi-Fi երթուղիչի համար մի քանի ժամ տևելու համար: Հիմնականում անհամատեղելի բան կա, երբ ձեր UPS- ը փոխում է իր 12V DC մարտկոցի հզորությունը 220V AC հոսանքի, այնպես որ ձեր երթուղղիչով և մանրաթելային ONT- ով աշխատող տրանսֆորմատորները կարող են այն նորից վերածել 12V DC Դուք նույնպես դեմ եք [սովորաբար
Ինչպե՞ս կատարել ձեր սեփական WIFI դարպասը ՝ ձեր Arduino- ն IP ցանցին միացնելու համար: 11 քայլ (նկարներով)
Ինչպես դարձնել ձեր սեփական WIFI դարպասը ՝ ձեր Arduino- ն IP ցանցին միացնելու համար. Ես աշխատում եմ ռոբոտի վրա, որը պետք է մշտապես կապված լինի սերվերի հետ, որը աշխատում է
Ձմեռ պապի տեսակավորող գլխարկ. 10 քայլ (նկարներով)
Ձմեռ պապի տեսակավորող գլխարկ. Մենք սերտորեն համագործակցում ենք Ձմեռ պապի սեմինարի հետ `այս նորամուծությունը ձեզ չարաճճի կամ գեղեցիկ ցուցակ հաղորդելու համար: Այժմ, դուք կարող եք ստուգել իրական ժամանակում, արդյոք ձեր լավ և վատ գործերը ազդել են Ձմեռ պապի չարաճճի կամ հաճելի ցուցակում ձեր դիրքի վրա: Funվարճալի նախագիծ
Պահել ձեր պատկերները ձեր առաջադրանքի համար. 4 քայլ (նկարներով)
Պահել ձեր պատկերները ձեր առաջադրանքի համար. 1. Բացեք նոր Google փաստաթուղթ և օգտագործեք այս էջը `ձեր նկարներն ապահովելու համար: Օգտագործեք ctrl (վերահսկիչ) և " c " բանալին պատճենելու համար: 3. Օգտագործեք ctrl (հսկողություն) և " v " բանալին ՝ տեղադրելու համար
Ձմեռ պապի խանութ 2017, գնացք. 4 քայլ (նկարներով)
Ձմեռ պապի խանութ 2017, գնացք. Ձմեռ պապի խանութ 2017 -ը Ձմեռ պապի խանութ 2016 -ի արդիականացված տարբերակն է: Ես ուզում էի ևս մեկ գնացք ավելացնել, բայց միակ սենյակը, որը մնացել էր, առաստաղն էր: Ընդամենը պետք է անեք, որպեսզի գնացքը գլխիվայր շրջվի, օգտագործել մագնիսներ: Ճիշտ? Իհարկե, կան մի քանի փոքր կալանավորներ