Мазмуну:
- 1 -кадам: материалдар
- 2 -кадам: Пландоо
- 3 -кадам: 3D басып чыгаруу
- 4 -кадам: Ассамблея - Светодиоддорду алып салыңыз
- 5 -кадам: Ассамблея - Тешиктин башын кошуу
- 6 -кадам: Ассамблея - Светодиоддорду тиркеңиз
- 7 -кадам: Ассамблея - PhidgetIR тиркөө
- 8 -кадам: Ассамблея - Баскычтарды кошуу
- 9 -кадам: Ассамблея - Бардыгын бириктирүү
- 10 -кадам: Программалык камсыздоо - Код
- 11 -кадам: Программалык камсыздоо - CIR Commands
- 12 -кадам: Программаны иштетүү
- 13 -кадам: Жыйынтык
Video: Чоң атаңыз үчүн технология: 13 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Канча жолу чоң ата -чоң энеңиздин үйүнө бардыңыз, "технология көйгөйүн" чечүү үчүн, ал өчүрүлгөн электр кабели, алыстан батареясы өчүп калган же булагын телевизоруна кое албай калган? Мен билем, бул мен үчүн көп учурда болот. Алардын көйгөйлөрүнүн көбүн дүкөнгө жаңы ААга чуркоо менен чечсе болот, бирок кээде алар ыңгайлаштырылган чечимден пайда ала алышат.
Мисалы, менин сүйлөшкөн кызымдын чоң атасы жаңы сыналгыга ээ болду жана биз ага DVD менен сыналгыны которуштуруу үчүн булакты кантип өзгөртүү керектигин үйрөтүүгө аракет кылдык - бирок ал муну түшүнө алган жок. Ал ошондой эле начар көрүүчү менен алпурушат жана татаал процесстерди эстеп калууга кызыкдар эмес, жөн гана каалаган учурда анын шоуларын көргүсү келет. Биздин акыркы сапарыбызда кадамдарды тынч түшүндүрүүгө аракет кылгандан кийин, мен ага өзүнүн эки баскычтуу алыстан башкаруу пулун жасоону чечтим. Бул анын телекөрсөтүүсүнүн кириш булагын оорутпастан өзгөртүүгө мүмкүндүк берет, сүйүктүү Matlock DVDлерин алмаштырат жана Price is Right оңой.
1 -кадам: материалдар
- PhidgetIR
- PhidgetSBC4 (же Raspberry Pi сыяктуу бир тактай компьютер)
- Кандооч
- Side Cutters
- Wire Stripers
- Jumper Wires
- USB кабели
- Phidget Cable
- Корпус
- Тешиктин башы
- Жылуулукту кыскартуучу түтүк
2 -кадам: Пландоо
Алыстан башкаруу пультун түзүү үчүн мага керектөөчүлөрдүн инфракызыл (CIR) буйруктарын телевизорго жөнөтүү жөндөмү керек болчу. Мен бул иш үчүн PhigetIRди колдонууну чечтим. PhidgetIR - бул CIR буйруктарын жөнөтүү жана алуу мүмкүнчүлүгүнө ээ болгон USB көзөмөлдөгөн түзмөк. Мен муну бир нече себептерден улам тандап алдым:
- Мен бул долбоорду мүмкүн болушунча тезирээк бүтүрүп, колдонууга бергим келди, андыктан осциллографымды жана нан панелимди сындыруу ою жаккан жок. Ошондой эле, менин кол менен ширетилген микросхемаларым дагы бир-эки жылдан кийин иштеп калышы мүмкүнбү?
- PhidgetIR CIR буйруктарын "үйрөнүү" жөндөмүнө ээ, ал иштеп чыгууну өтө жөнөкөй кылат.
- Сиз PhidgetIR менен дээрлик бардык негизги программалоо тилин колдоно аласыз. Бул мен Java колдонуп, иштерди тез бүтүрө алам дегенди билдирет.
- Акыр -аягы, мен Phidgets үчүн иштейм, андыктан API менен ыңгайлуумун жана дайыма запастык түзмөктөр тегеректелип турат.
Мен PhidgetIRди колдонууну тандаганым үчүн, аны иштетүү үчүн компьютер керек болчу. Мен бул долбоор кадимки пультка окшош, өзүнчө тиркеме болушун кааладым, ошондуктан рабочий же ноутбук иштебей калды. Мен PhidgetSBC4 (Debian Linux менен иштеген бир тактай компьютер) колдонууну чечтим, анткени ал мага кошумча жабдыксыз эки баскыч менен тең иштөөгө мүмкүнчүлүк берди. Алар жөн гана түздөн-түз камтылган VINT Hubга туташтырылышы мүмкүн. Эскертүү: бул долбоор үчүн Raspberry Pi колдоно аласыз. Акыр -аягы, функционалдык жактан бекем болгондон тышкары, мен бул долбоордун сонун болушун кааладым, ошондуктан 3D басылган корпус керек деп чечтим.
3 -кадам: 3D басып чыгаруу
Бул долбоор үчүн Geomagic корпусту моделдөө үчүн колдонулган. Бул процессти жөнөкөйлөткөн PhidgetIR жана PhidgetSBC4 үчүн 3D кадам файлдары бар. Бул кадамдын жүрүшүндө корпустун өлчөмү жана иштеши боюнча кээ бир чечимдер кабыл алынган:
- PhidgetIRде буйруктарды жөнөтүү үчүн сыналгыны кароо керек болгон эки IR LED бар. PhidgetIR тактайынын айланасындагы корпусту долбоорлоонун ордуна, ИР -диоддордун түсүн өчүрүп, корпустун капталындагы тешиктерге чаптап койсо болот. PhidgetIR тактасы бош орунду колдонуп, LEDден алысыраак орнотулушу мүмкүн.
- PhidgetSBC4теги VINT Hub туташтыргычтары өйдө карай ийилген болушу мүмкүн, бул дагы баскычтардын туташуусуна мүмкүнчүлүк берет жана чоң корпусту түзүүнүн алдын алат.
Мен ошондой эле баскычтардын этикеткасын жана IR LED диоддору туура багытта көрсөтүлүшү үчүн, алар туш болушу керек болгон багытты көрсөткөн этикетка кошууну чечтим. Мен корпусту кара ABS пластиктен басып чыгардым.
4 -кадам: Ассамблея - Светодиоддорду алып салыңыз
IR LEDлери акыры корпустун капталындагы тешиктерге жабыштырылат. Бул биринчи кезекте алардын чачын тазалоо керек дегенди билдирет.
5 -кадам: Ассамблея - Тешиктин башын кошуу
Кийинчерээк, тешиктин баштары, мурунку светодиоддорго кошулган, бул аларды 4-пин секирүүчү зым менен туташтырууга оңой кылган. Кокус байланышка жол бербөө үчүн жылуулукту азайтуучу түтүктү колдонуңуз.
6 -кадам: Ассамблея - Светодиоддорду тиркеңиз
Светодиоддорду корпустун капталына чаптаңыз.
7 -кадам: Ассамблея - PhidgetIR тиркөө
PhidgetIRди корпуска тиркеп, LEDлерди туташтырыңыз.
8 -кадам: Ассамблея - Баскычтарды кошуу
Баскычтарды PhidgetSBCдеги VINT Hubга туташтыруу керек, ошондуктан мен Phidget кабелин экиге бөлүп, учтарын баскычтарга туташтырдым. Белгилей кетсек, ак зым (сигнал) жана кара (жерге) гана талап кылынат.
9 -кадам: Ассамблея - Бардыгын бириктирүү
Баарын чогултуу үчүн кээ бир кабелдик башкаруу талап кылынган, бирок корпус жакшы иштеген.
10 -кадам: Программалык камсыздоо - Код
Бул долбоор үчүн бир гана Java файлы талап кылынат, аны бул жерден таба аласыз. Программа бир PhidgetIR объектисин жана эки DigitalInput объектин колдонот. Сиз бул сыяктуу объекттерди түзө аласыз:
PhidgetIR ir = жаңы PhidgetIR ();
DigitalInput tvButton = жаңы DigitalInput (); DigitalInput otherButton = жаңы DigitalInput ();
Санариптик киргизүү объекттери VINT Hubдагы физикалык баскычка түшүрүлөт. Тиркөө, ажыратуу, ката жана абалды өзгөртүү окуялары дагы жазылат:
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 ажыратуу) {
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 ("Error:"+ ex.getDescription ());}}};
Кнопка иштетилгенде, окуя коду аткарылат жана желек орнотулат. Бул желектер шилтеме кылынат жана негизги циклде баштапкы абалга келтирилет. Негизги цикл жөн гана баскычтын абалынын өзгөрүшүн күтөт, андан кийин PhidgetIR APIден жеткиликтүү берүү функциясын колдонуп IR буйруктарын жөнөтөт.
while (true) {if (tvButtonActivated) {
tvButtonActivated = false; Log.log (LogLevel. INFO, "CHANGING SURCE - 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 SURCE - DVD"); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}
11 -кадам: Программалык камсыздоо - CIR Commands
Бул жерде буйрукту кантип түзүүнүн мисалы (бул учурда көлөмдү көбөйтүү буйругу):
// 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ге көрсөтүп, үнүн жогорулатуу баскычын басып тургандан кийин, IR кодду "үйрөнөт" жана мисалды толтурат. Бул маалыматты андан кийин жөн эле кодго көчүрүп алса болот.
12 -кадам: Программаны иштетүү
Java файлын тышкы компьютерде жазууга жана түзүүгө болот. PhidgetRemote.java жана phidget22.jarды ошол эле папкага салып, төмөнкү буйрукту аткарыңыз:
Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java
macOS/Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java
Түзүлгөндөн кийин, түзүлгөн класс файлдарын PhidgetSBC4ке көчүрүп, жүктөөдө иштетүү үчүн конфигурациялаңыз.
13 -кадам: Жыйынтык
Мен пультту сүйлөшкөн кызымдын чоң атасына берип, кантип колдонууну көрсөтсөм, ал анын жөнөкөй экенине таң калды. Видеону көрүп, аны иш жүзүндө көрүңүз!
Алыстан башкаруу сынагынын үчүнчү сыйлыгы 2017
Сунушталууда:
Чоң лампалардагы чоң VU эсептегич 220 Вольт .: 18 кадам (сүрөттөр менен)
Чыңалуу чырактарындагы чоң VU эсептегич 220 Вольт.: Кутман кеч, урматтуу көрүүчүлөр жана окурмандар. Бүгүн мен сизге 220 вольттогу лампалардын үн деңгээлинин көрсөткүчү жөнүндө айтып берем
Raspberry Pi менен чоң энелер үчүн автоматтык видео конференция: 9 кадам (сүрөттөр менен)
Raspberry Pi менен чоң энелер үчүн автоматтык видеоконференция: Мен 90 жаштагы чоң энем үчүн тынчсызданып жатам, анткени ал COVID эпидемиясы учурунда үйдө калуусу керек, ал дайыма чыгып, "маанилүү" кылып жатат. көчөдө нерселер, лотерея билеттерин сатып алуу, кошуналар менен сүйлөшүү. Мен
D4E1 - DIY - Жардамчы технология: Коляска үчүн жөнгө салынуучу лоток: 7 кадам (Сүрөттөр менен)
D4E1 - DIY - Жардамчы технология: Коляскада жөнгө салынуучу лоток: Кжелл тубаса майыптыкка ээ: дискинетикалык квадрипарез жана өзү тамак жей албайт. Ал аны баккан монитордун, кесиптик терапевттин жардамына муктаж. Бул эки көйгөй менен коштолот: 1) Кесиптик терапевт рулда
Timelapse, портреттер жана башкалар үчүн чоң LED "шакекчеси" жарык : 11 кадам (сүрөттөр менен)
Timelapse, портреттер жана башкалар үчүн чоң LED "шакекчеси" жарык …: Мен бир нече күнгө созулган көптөгөн таймапапс видеолорду тартам, бирок кысуучу чырактар берген бирдей эмес жарыкты жек көрөм - өзгөчө түн ичинде. Чоң шакек чырак өтө кымбат - ошондуктан мен колумда болгон нерселер менен бир кечте өзүм бир нерсе жасоону чечтим
Чоң ата жана чоң эненин календарын кантип түзүү керек & Scrapbook (скрепбукту кантип жасоону билбесеңиз да): 8 кадам (сүрөттөрү менен)
Чоң ата жана чоң эненин календарын кантип түзүү керек & Scrapbook (Скрепбукту кантип жасоону билбесеңиз дагы): Бул чоң энелер үчүн абдан үнөмдүү (жана абдан бааланган!) Майрамдык белек. Мен бул жылы ар бири 7 доллардан төмөн 5 календар жасадым. Материалдар: Сиздин балаңыздын, балдарыңыздын, жээндериңиздин, жээндериңиздин, иттериңиздин, мышыктарыңыздын же башка туугандарыңыздын 12 сонун сүрөтү