Բովանդակություն:
- Քայլ 1: Հեռակառավարման վահանակ
- Քայլ 2: Softwareրագրակազմ
- Քայլ 3: IR ընդունիչի մոդուլ
- Քայլ 4: Ինչպես օգտագործել սարքը
Video: Համակարգչային IR հեռակառավարում ՝ 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Բացի բազմաթիվ այլ նպատակներից, ես օգտագործում եմ իմ համակարգիչը որպես մուլտիմեդիա կենտրոն: Կան դեպքեր, երբ ես հանգստանում եմ բազմոցին ՝ երաժշտություն լսելիս կամ ֆիլմ կամ հեռուստացույց դիտելիս և չեմ զգում, որ վեր եմ կենում ձայնը կարգավորելու կամ հեռուստաալիքը փոխելու ամեն անգամ, երբ հիմար գովազդեր են հայտնվում, կամ ես քնում եմ և ցանկանում լռություն: Այսպիսով, ես որոշեցի իմ համակարգիչը հեռակառավարել ստանդարտ IR հեռակառավարմամբ, որպեսզի կարողանամ ուղղակիորեն սեղմել կոճակը `մկնիկը կամ ստեղնաշարի համր ստեղնը կատաղի բռնելու փոխարեն:
Նախագիծը բաղկացած է մի քանի մասից.
- Հեռակառավարման վահանակ
- Համակարգչի ծրագրակազմ
- IR ընդունիչի մոդուլ
Քայլ 1: Հեռակառավարման վահանակ
Առաջին տարրը `հեռակառավարման վահանակը, չնչին է: Պարզապես օգտագործեք ցանկացած IR վերահսկիչ, որը Ձեզ դուր է գալիս: Ես օգտագործել եմ մեկը, որը վաճառվում է որպես հավաքածու ՝ IR ընդունիչի հետ միասին - տես նկարը: Միակ պատճառը, որ ես որոշել եմ այս տեսակի համար, դա այն է, որ ես այն արդեն ունեի տանը:
Քայլ 2: Softwareրագրակազմ
Ես ստեղծել եմ ծրագիրը GNU/Linux OS- ի համար, որն աշխատում է տերմինալում: Աղբյուրի կոդը անվճար է ներբեռնելու/օգտագործելու/համօգտագործելու/փոփոխելու համար: Կոդ կազմելու համար պարզապես տերմինալում թողարկեք այնպիսի հրաման, ինչպիսին է gcc -o remotePC remotePC.c: Typeրագրի տեսակը գործարկելու համար./remotePC:
Այս քայլի հետևյալ տեղեկությունները հասցեագրված են նրանց, ովքեր հետաքրքրված են, թե ինչպես են գործերն աշխատում:
Րագրի նկարագրությունը
Firstրագիրը նախ ստուգում է, թե արդյոք գոյություն ունի ֆայլը /dev /ttyACM0 կամ ttyACM1: Եթե այդպես է, ֆայլի խմբի ID- ն ստուգվում է, որ զրոյից տարբեր է: Սա նշանակում է, որ սերիական պորտը կարող է կարդալ և գրել սովորական օգտվողին: 2 բայթ 0xAA 0x55 արժեքներով այնուհետև գրվում են նավահանգստում ՝ ազդանշան տալու համար, որ ծրագիրը պատրաստ է ստանալ տվյալները: Մուտքային տվյալները համեմատվում են պահպանված արժեքների հետ: Եթե համընկնումը գտնվի, նախապես որոշված գործողությունը կատարվում է:
Volumeավալի վերահսկողություն
Isրագիրը կարող է միացնել/անջատել ձայնը, բարձրացնել/նվազեցնել ձայնի մակարդակը համակարգի մակարդակով: Դա ձեռք է բերվում pactl ծրագրի կիրառմամբ: Այնուհետև հրամաններն այսպիսին են.
pactl set-sink-mute 0 անջատիչ
pactl set-sink-volume 0 +10%
pactl set-sink-volume 0 -10%
Անհրաժեշտության դեպքում տեղադրեք պահանջվող փաթեթները:
VLC Media Player- ի վերահսկում
Programրագիրը կարող է նաև սկսել/դադարեցնել աուդիո/վիդեոն և VLC Media Player- ի երգացանկի նախորդ կամ հաջորդ երգը փոխել: Այս դեպքում օգտագործվում է Desktop Bus- ը: Հրամանները.
dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc
/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. PlayPause
dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc
/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Next
dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc
/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Նախորդ
Քայլ 3: IR ընդունիչի մոդուլ
Նախագծի երրորդ մասը ամենաբարդն է, բայց դեռ բավականին պարզ: Գաղափարն այն է, որ IR ընդունիչն ազդանշանը կուղարկի MCU, որը այն կփոխակերպի եզակի համարի: Այս համարը այնուհետև համակարգչին կփոխանցվի USB- ի միջոցով:
Մոդուլը նախատեսված է տեղադրվել ԱՀ պատյանում և միացված լինել մայր տախտակի USB անցքին մալուխով: Այն դեպքում, երբ նախընտրում եք USB- ի արտաքին կապը, ստիպված կլինեք փոքր ճշգրտումներ կատարել:
MCU
Ես կառուցել եմ մոդուլը PIC16F1829 միկրոկոնտրոլերի վրա: MCU- ի ընտրությունը կարևոր չէ, կարող եք օգտագործել ցանկացած այլ MCU, եթե կարողանաք կարգավորել աղբյուրի կոդը: Այս PIC- ն ընտրել եմ երկու պատճառով. Նախ ես այն հասանելի էի, և երկրորդը, որ դրա քորոցները մասամբ վնասվել էին տարբեր փորձարկման նախագծերում ինտենսիվ օգտագործման արդյունքում: Այսպիսով, ես ուզում էի այն օգտագործել մշտական նախագծում, նախքան այն ամբողջովին անօգտագործելի դառնալը::-)
IR ընդունիչ
Երկրորդ մասը, որի վրա հիմնված է մոդուլը, IR ընդունիչն է `VS1838B, այն, ինչ նշված է 1 -ին քայլում:
UART/USB փոխարկիչ
Երրորդ մասը MCP2221- ն է, որը UART/I2C/USB փոխարկիչն է:
Խնդիրն է համատեղել այս 3 մասերը `կառուցելու մոդուլ, որը կկարողանա ազդանշաններ ստանալ IR հեռակառավարման վահանակից և դրանք հանձնել համակարգչին:
Էլեկտրամոնտաժը
Առաջին նկարում կա փորձարկման սխեման հացահատիկի վրա: Երկրորդում կա էլեկտրագծերի սխեման:
Մասերի ցանկը
1 հատ PIC16F1829 (կամ որևէ այլ MCU)
1 հատ VS1838B (կամ ցանկացած այլ IR ընդունիչ)
1 հատ MCP2221 (կամ ցանկացած այլ UART/USB փոխարկիչ)
2 հատ 4 պինանի վերնագիր
1 հատ 6-փին վերնագիր
1 հատ դիմադրություն 100R
2 հատ դիմադրություն 10K
2 հատ դիմադրություն 330R
1 հատ կոնդենսատոր 470 nF
2 հատ էլեկտրոլիտիկ կոնդենսատոր 4.7 uF
1 հատ անջատիչ (ըստ ցանկության)
PCB հավաքում
Մոդուլը միացրեք սխեմայի օգտագործմամբ: Դուք կարող եք կամ օգտագործել ունիվերսալ տախտակ կամ ստեղծել անհատական PCB: Եթե վերջինս այդպես է, ես տրամադրել եմ KiCad ֆայլերը ստորև արխիվում:
Որոնվածը
MPLAB X IDE- ի և XC8 կոմպիլյատորի օգտագործմամբ գրված PIC- ի աղբյուրի կոդը հասանելի է ստորև ներբեռնման համար:
Աղբյուրի ծածկագիրը նշում է
Նրանց համար, ովքեր կցանկանային իմանալ, թե կոնկրետ ինչ է անում ծրագիրը, հետևյալ տողերն են:
Բոլոր պարամետրերն անելուց հետո կարմիր LED- ը միացված է, և MCU- ն սպասում է 0x55AA տվյալներին: Դրանից հետո LED- ը դառնում է կանաչ, և MCU- ն սկսում է հայտնաբերել IR ընդունիչից ստացված ազդանշանը `ընդհատումների օգտագործմամբ: Այն չափում և գրանցում է ազդանշանի բարձր և ցածր մակարդակների ժամանակային ընդմիջումները: Այս ժամանակները այնուհետև փոխակերպվում են 32-բիթանոց համարի, որն ուղարկվում է ԱՀ:
Timesամանակների և վերջնական համարի միջև կապը տրվում է NEC արձանագրությամբ:
Քայլ 4: Ինչպես օգտագործել սարքը
Որոնվածը
Ներբեռնեք որոնվածը PIC- ում: Ես օգտագործում եմ PICkit 3 ծրագրավորողը:
Սարքավորումներ
Տեղադրեք IR ընդունիչի մոդուլը, ինչպես երևում է նկարներում.
- USB- ի վերնագիրը միացրեք համակարգչի պատյանում գտնվող մայր տախտակի ներքին USB բնիկին `համապատասխան 4-մետաղալար մալուխով կամ արտաքինից` USB ստեղնին `ստանդարտ USB մալուխով: Երկրորդ դեպքում դուք պետք է ինքներդ ձեզ ինչ -որ կերպ օգնեք, օրինակ. ինչպես երևում է 3 -րդ նկարում ՝ ոգեշնչման համար:
- 5 Վ լարման հոսանքի մալուխը համակարգչի պատյանում տեղադրեք էներգիայի աղբյուրը 4 պինային վերնագրին: Կամ արտաքին օգտագործման դեպքում մոդուլը միացրեք այլ կերպ:
Փնտրեք մայրական տախտակի USB վարդակների կապերի նկարագրությունը: Ես վստահ չեմ, որ էլեկտրագծերը հետևում են ինչ -որ ստանդարտի, այնպես որ ավելի լավ է համոզվել: Իմ դեպքում կան երկու քորոց տողեր, որոնցից 5 -ը վերին շարքում են, իսկ 4 -ը ՝ ստորին: Ձախից աջ կապում են + 5 V, D-, D +, Gnd: Առաջին շարքի 5 -րդ կապը միացված չէ: Ես կցեցի մալուխը, ինչպես երևում է երկրորդ նկարում:
Ծրագրային ապահովում
Գործարկեք ծրագիրը տերմինալում: Եթե ամեն ինչ ճիշտ ընթանա, ծրագրի վերջին հաղորդագրությունը «սպասում է տվյալների…»: Այժմ, երբ սեղմում եք հեռակառավարման վահանակի կոճակը, ստացված կոդը կհայտնվի տերմինալում: Այս կերպ դուք կիմանաք, թե որ կոճակն է ինչ կոդ թողարկում:
Այժմ որոշ ծրագրավորման նյութեր սպասում են ձեզ, բայց մի անհանգստացեք: Sourceրագրի աղբյուրի կոդի մեջ ընդամենը մի քանի բան պետք է փոխվի, որպեսզի ծրագիրը արձագանքի ձեր հեռակառավարման վահանակին: Եթե ցանկանում եք, բացեք ֆայլը remotePC.c տեքստային խմբագրիչում կամ IDE- ում և փոխարինեք իմ ծածկագրերը ձերով: Պարզապես սեղմեք կոճակները, որոնք մտադիր եք օգտագործել յուրաքանչյուր գործողության համար մեկ առ մեկ: Պարզապես պատճենեք տերմինալում հայտնված կոդերը և դրանք համապատասխան գործողությամբ տեղադրեք սկզբնական կոդի վրա:
Ավարտելուց հետո դադարեցրեք ծրագիրը և նորից կազմեք կոդը gcc -o remotePC remotePC.c հրամանով: Կրկին գործարկեք ծրագիրը, և այն այսուհետ կպատասխանի ձեր հեռակառավարման վահանակին:
Thisրագրում կոդավորված գործողությունների դեպքում ես օգտագործում եմ այս եղանակը, քանի որ անիմաստ եմ համարում ժամանակս վատնել ծրագրի հետագա զարգացման վրա, երբ հնարավոր է ավելացնել/փոխել ծածկագրեր/գործողություններ օգտագործողի համար հարմար գրաֆիկական միջավայրում, օրինակ: Բայց եթե ցանկանում եք դա անել կամ նույնիսկ ավելին, կարող եք:
Խորհուրդ ենք տալիս:
Կլոնավորեք ցանկացած հեռակառավարում Arduino Nano- ով `5 քայլ
Կլոնավորեք ցանկացած հեռակառավարման վահանակ Arduino Nano- ով. Կլոնավորեք ցանկացած հեռակառավարիչ Arduino Nano- ով
Arduino դիտարկիչի վրա հիմնված հեռակառավարում (linux). 9 քայլ (նկարներով)
Arduino դիտարկիչի վրա հիմնված հեռակառավարում (linux). Մենք երեխաներ ունենք: Ես նրանց շատ եմ սիրում, բայց նրանք անընդհատ թաքցնում են արբանյակի և հեռուստատեսության հեռակառավարման վահանակը, երբ միացնում են երեխաների ալիքները: Այն բանից հետո, ինչ դա տեղի ունեցավ ամենօրյա ռեժիմով մի քանի տարի շարունակ, և այն բանից հետո, երբ իմ սիրելի կինը թույլ տվեց ինձ ունենալ
Անտեսանելի ավտոտնակի դուռի հեռակառավարում. 7 քայլ (նկարներով)
Անտեսանելի ավտոտնակի դուռի հեռակառավարիչ. Մի անգամ մենք մեքենան թողեցինք կայանած ավտոտնակից դուրս, և մի գող ջարդեց պատուհանը `ավտոտնակի դռան մոտ հասնելու համար: Հետո նրանք բացեցին ավտոտնակը և գողացան մի քանի հեծանիվ: Այսպիսով, ես որոշեցի թաքցնել հեռակառավարիչը ՝ այն տեղադրելով մեքենայի մոխրամանի մեջ: Այն աշխատում է մինչև
Wi-Fi հեռակառավարում Hayward ColorLogic- ի համար. 3 քայլ
Wi-Fi հեռակառավարում Hayward ColorLogic- ի համար. Hayward ColorLogic- ը հայտնի հավելում է լողավազաններին, սպա-ներին, լճակներին և այլ ջրային հնարավորություններին: Յուրաքանչյուր լույս պարունակում է մի շարք լուսադիոդային լուսարձակներ `գումարած մեկ տասնյակ ամբողջական գույներ և լուսային շոուներ ապահովելու տրամաբանությունը: Այս ստորաբաժանումներն օգտագործում են 12 VAC հզորություն, ինչը կազմում է
Arduino. Timeամանակի ծրագրեր և հեռակառավարում Android հավելվածից. 7 քայլ (նկարներով)
Arduino. Timeամանակի ծրագրեր և հեռակառավարում Android հավելվածից. Ինձ միշտ հետաքրքրել է, թե ինչ է տեղի ունենում Arduino- ի բոլոր տախտակների հետ, որոնց կարիքը մարդիկ չունեն իրենց հիանալի նախագծերն ավարտելուց հետո: Theշմարտությունը մի փոքր ցնցող է `ոչինչ: Ես դա նկատել եմ իմ ընտանիքի տանը, որտեղ հայրս փորձում էր սեփական տուն կառուցել