Мазмұны:
- 1 -қадам: материалдар
- 2 -қадам: Жоспарлау
- 3 -қадам: 3D басып шығару
- 4 -қадам: құрастыру - жарық диодтарын алып тастаңыз
- 5 -қадам: Жинау - тесік тақырыптарын қосу
- 6 -қадам: құрастыру - жарықдиодты бекітіңіз
- 7 -қадам: Ассамблея - PhidgetIR тіркеңіз
- 8 -қадам: құрастыру - түймелерді қосу
- 9 -қадам: Ассамблея - бәрін біріктіру
- 10 -қадам: Бағдарламалық қамтамасыз ету - код
- 11 -қадам: Бағдарламалық қамтамасыз ету - CIR командалары
- 12 -қадам: Бағдарламаны іске қосу
- 13 -қадам: Нәтиже
Бейне: Атаңызға арналған технология: 13 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Сіз қанша рет ата -әжелеріңіздің үйіне бардыңыз, технологиялық ақаулықты шешуге көмектесесіз, ол электр кабелін ажыратады, қашықтағы батареяны өшіреді немесе теледидардағы көзді ауыстыра алмайды? Мен үшін бұл жиі болатынын білемін. Олардың мәселелерінің көпшілігін дүкенге жаңа АА үшін жүгіру арқылы шешуге болады, бірақ кейде олар неғұрлым бейімделген шешімнің пайдасын көруі мүмкін.
Мысалы, менің дос қызымның атасы жаңа теледидар алды, біз оған DVD мен теледидар арасында ауысу үшін көзді қалай өзгерту керектігін үйретуге тырыстық, бірақ ол оны түсінбеді. Ол сондай -ақ көру қабілетінің нашарлауымен айналысады және күрделі процестерді еске түсіруге онша қызығушылық танытпайды, ол қалаған кезде өз шоуларын көргісі келеді. Біздің соңғы сапарымыздағы қадамдарды байсалды түрде түсіндіруге тырысқаннан кейін, мен оны екі түйменің қарапайым басқару пультіне айналдырамын деп шештім. Бұл оған теледидардың кіріс көзін ауыртпалықсыз өзгертуге мүмкіндік береді, сүйікті Matlock DVD дискілері мен Price is Right оңай ауысады.
1 -қадам: материалдар
- PhidgetIR
- PhidgetSBC4 (немесе Raspberry Pi сияқты кез келген тақталы компьютер)
- Пісіру темірі
- Бүйірлік кескіштер
- Сым тартқыштар
- Jumper Wires
- USB кабелі
- Phidget кабелі
- Қоршау
- Тесік тесіктері
- Жылуды төмендететін құбырлар
2 -қадам: Жоспарлау
Қашықтан басқару пультін жасау үшін маған теледидарға инфрақызыл (CIR) тұтынушылық командаларды жіберу мүмкіндігі қажет болды. Мен бұл тапсырманы орындау үшін PhigetIR қолдануды шештім. PhidgetIR - бұл CIR командаларын жіберуге де, қабылдауға да болатын USB басқарылатын құрылғы. Мен мұны бірнеше себептерге байланысты таңдадым:
- Мен бұл жобаны тезірек аяқтап, пайдалануға бергім келді, сондықтан осциллограф пен нан тақтасын сындыру туралы ой тартымды болмады. Сонымен қатар, менің қолмен дәнекерленген тізбектерім бір-екі жылдан кейін де жұмыс істей алады ма?
- PhidgetIR CIR командаларын «үйрену» мүмкіндігіне ие, бұл дамуды өте қарапайым етеді.
- Сіз PhidgetIR көмегімен кез келген негізгі бағдарламалау тілін қолдана аласыз. Бұл мен Java -ны қолдана алатынымды және істерді тез аяқтай алатынымды білдірді.
- Ақырында, мен Phidgets -те жұмыс жасаймын, сондықтан мен API -мен өте ыңғайлымын, және әрқашан қосалқы құрылғылар бар.
Мен PhidgetIR қолдануды таңдағандықтан, оны өшіру үшін маған компьютер қажет болды. Мен бұл жобаның кәдімгі қашықтан басқару пульті сияқты дербес бағдарлама болғанын қаладым, сондықтан жұмыс үстелі немесе ноутбук істемей қалды. Мен PhidgetSBC4 (Debian Linux-пен жұмыс істейтін бір тақталы компьютер) қолдануды таңдадым, себебі бұл қосымша батырмасыз екі түймені қосуға мүмкіндік берді. Оларды тікелей кіріктірілген VINT хабына қосуға болады. Ескерту: бұл жоба үшін Raspberry Pi де қолдануға болады. Ақырында, функционалдылықтан басқа, мен бұл жобаның керемет болғанын қалаймын, сондықтан 3D басып шығарылған корпус қажет деп шештім.
3 -қадам: 3D басып шығару
Бұл жоба үшін қоршауды модельдеу үшін Geomagic қолданылды. PhidgetIR үшін де, PhidgetSBC4 үшін де процесті жеңілдететін 3D қадамдық файлдар бар. Бұл қадамда қоршаудың көлемі мен функционалдығына қатысты кейбір шешімдер қабылданды:
- PhidgetIR -де пәрмендерді жіберу үшін теледидарды көрсететін екі ИК жарық диоды бар. PhidgetIR тақтасының айналасындағы қоршауды жобалаудың орнына, ИҚ -диодты шамдарды түссіздендіріп, корпустың бүйіріндегі тесіктерге жабыстыруға болады. PhidgetIR тақтасын бос орынды пайдалана отырып, светодиодтардан алыс орнатуға болады.
- PhidgetSBC4 -тегі VINT Hub қосқыштары жоғары қарай бүгілуі мүмкін, бұл әлі де түйме қосылымдарына қол жеткізуге мүмкіндік береді, сонымен қатар үлкен қоршауды құруға жол бермейді.
Мен сондай -ақ түймелерге арналған жапсырманы және IR светодиоды дұрыс бағытта бағытталуы үшін оның бағытын көрсететін белгіні қосуды шештім. Мен қоршауды қара ABS пластиктен басып шығардым.
4 -қадам: құрастыру - жарық диодтарын алып тастаңыз
IR жарық диодтары ақырында корпустың бүйіріндегі тесіктерге жабыстырылады. Бұл дегеніміз, алдымен олардың қабығын босату керек.
5 -қадам: Жинау - тесік тақырыптарын қосу
Әрі қарай, светодиодтар бар тесіктердің үстіңгі тақталары қосылды, бұл оларға 4 істікшелі секіргіш сым арқылы қосылуды жеңілдетті. Кездейсоқ байланыстың алдын алу үшін жылуды төмендететін құбырды қолданыңыз.
6 -қадам: құрастыру - жарықдиодты бекітіңіз
Светодиодтарды корпустың бүйіріне жабыстырыңыз.
7 -қадам: Ассамблея - PhidgetIR тіркеңіз
PhidgetIR -ді корпусқа бекітіп, жарықдиодты қосыңыз.
8 -қадам: құрастыру - түймелерді қосу
Түймешіктерді PhidgetSBC кіріктірілген VINT хабына қосу керек, сондықтан мен Phidget кабелін екіге бөліп, ұштарын түймелерге дәнекерледім. Назар аударыңыз, тек ақ сым (сигнал) және қара (жерге қосу) қажет.
9 -қадам: Ассамблея - бәрін біріктіру
Барлығын біріктіру үшін кейбір кабельдік басқару қажет болды, бірақ қоршау жақсы жұмыс істеді.
10 -қадам: Бағдарламалық қамтамасыз ету - код
Бұл жобаға тек бір ғана Java файлы қажет, оны мына жерден табуға болады. Бағдарлама бір 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 ();
Жоғарыда келтірілген күй өзгерісінің тыңдаушысы келесідей:
жеке статистикалық DigitalInputStateChangeListener onStateChangeListener = жаңа DigitalInputStateChangeListener () {@OverridepublicvoidonStateChange (DigitalInputStateChangeEvent ажырату) {
DigitalInput ch = (DigitalInput) disce.getSource (); көріңіз {if (ch.getHubPort () == 4 && disce.getState () == true) {tvButtonActivated = true;} if (ch.getHubPort () == 5 && disce.getState () == true) {otherButtonActivated = true;}} аулау (PhidgetException ex) {System.out.println («Қате:»+ ex.getDescription ());}}};
Түйме іске қосылған кезде оқиға коды орындалады және жалауша орнатылады. Бұл жалаулар сілтеме болады және негізгі циклде қалпына келтіріледі. Негізгі цикл түйме күйінің өзгеруін күтеді, содан кейін PhidgetIR API -де қол жетімді жіберу функциясын қолдана отырып IR пәрмендерін жібереді.
while (true) {if (tvButtonActivated) {
tvButtonActivated = жалған; Log.log (LogLevel. INFO, «CHANGING SOURCE - TV»); 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, «CHANGING SOURCE - DVD»); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}
11 -қадам: Бағдарламалық қамтамасыз ету - 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.repeat [0] = 9084; sourceButtonCI.repeat [1] = 2308; sourceButtonCI.repeat [2] = 549; sourceButtonCI.length = IRCodeLength. CONSTANT;
Бұл пәрмен туралы ақпарат алу үшін мен жай ғана Phidget кітапханаларымен бірге келетін PhidgetIR мысалын қолдандым. Қашықтан басқару пультін PhidgetIR -ге көрсетіп, дыбыс деңгейін жоғарылату түймесін басып тұрғаннан кейін, ИҚ кодты «үйренеді» және мысалды толтырады, содан кейін бұл ақпаратты кодқа көшіруге болады.
12 -қадам: Бағдарламаны іске қосу
Java файлын сыртқы компьютерде жазуға және құрастыруға болады. PhidgetRemote.java және phidget22.jar файлдарын бір қалтаға орналастырып, келесі пәрменді орындаңыз:
Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java
macOS/Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java
Компиляциядан кейін құрылған класс файлдарын PhidgetSBC4 -ке көшіріп, оны жүктеу кезінде іске қосу үшін конфигурациялаңыз.
13 -қадам: Нәтиже
Мен қашықтан басқару пультін құрбымның атасына беріп, оны қалай қолдану керектігін көрсеткенімде, ол оның қарапайымдылығына таң қалды. Оның әрекетін көру үшін бейнені қараңыз!
2017 жылы қашықтан басқару пультінің байқауының үшінші жүлдесі
Ұсынылған:
Бейсбол ойынына арналған бұршақ сөмкесіне арналған электронды ұпай: 8 қадам (суреттермен)
Бейсболға арналған бұршақ сөмкесіне арналған электронды ұпай: Бұл нұсқаулық бейсболға арналған Bean Bag Toss ойынына электронды түрде қалай ұпай жинау керектігін түсіндіреді. Мен ағаш ойынның егжей -тегжейлі конструкциясын көрсетпеймін, бұл жоспарларды Ана Уайттың веб -сайтынан табуға болады: https: // www
MakeyMakey W/ Scratch көмегімен сөйлеу қиындықтарына арналған көмекші технология: 4 қадам
MakeyMakey W/ Scratch көмегімен сөйлеу қиындықтарына арналған көмекші технология: Менің көмекші технологиялық құрылғым сөйлеу қабілеті бұзылған немесе сөйлеу қабілеті шектеулі адамдарға көмектеседі. Бұл. оқу үдерісіне көмектесуге арналған
Бірлікке арналған мультиплеерлік 3D голограммалық ойын және компьютерге арналған голограмма проекторы: 16 қадам (суреттермен)
Бірлікке арналған мультиплеерлік 3D голограммалық ойын және компьютерге арналған голограмма проекторы: Holus -тың әсерінен мен голографиялық дисплейді өте арзан етіп жасауды ұнатамын. Бірақ ойындарды табуға тырысқанда, мен интернеттен ештеңе таппадым. Сондықтан мен Unity -де өз ойын дамытуды жоспарлап отырмын. Бұл менің бірлікте бірінші ойыным. Бұған дейін мен Flash -те бірнеше ойындар әзірлеймін, бірақ
Жаңадан бастаушыларға арналған микроконтроллерге арналған нұсқаулық: 10 қадам (суреттермен)
Микроконтроллерлерге жаңадан бастаушыларға арналған нұсқаулық: Қашықтан басқару құралдарының, маршрутизаторлардың және роботтардың ортақ не бар? Микроконтроллерлер! Бұл күндері жаңадан жұмыс жасайтын микроконтроллерлерді ноутбукпен, USB кабелімен және кейбір (ақысыз) ашық бастапқы бағдарламалық жасақтамамен қолдану оңай. Уууу !! Бәрі
Үй жануарларына арналған тағамдарды лақтыруға арналған автоматты катапульт (ит, мысық, тауық, т.б.), лақтыру және басқалар!: 4 қадам (суреттермен)
Үй жануарларына арналған тағамдарды лақтыруға арналған автоматты катапульт (ит, мысық, тауық, т.б.), лақтыру және тағы басқалар!: Сәлеметсіз бе, менің бірінші нұсқаулығыма қош келдіңіз! Біздің ит өз тағамын жақсы көреді, ол бәрін бірнеше секунд ішінде жейді. Мен мұны бәсеңдетудің жолдарын ойлап таптым, ішіндегі тамағы бар шарлардан бастап ауланың барлық жеріне лақтыруға дейін. Бір ғажабы, ол