Агуулгын хүснэгт:

Өвөөгийнхөө технологи: 13 алхам (зурагтай)
Өвөөгийнхөө технологи: 13 алхам (зурагтай)
Anonim
Image
Image

Та хэдэн удаа эмээ, өвөөгийнхөө гэрт очсон "технологийн асуудал" -д туслахын тулд цахилгааны залгуургүй болсон, алсын зайгүй болсон эсвэл телевизийнхээ эх үүсвэрийг асааж чадаагүй юм бэ? Миний хувьд ийм зүйл ихэвчлэн тохиолддог гэдгийг би мэднэ. Тэдний ихэнх асуудлуудыг дэлгүүрт шинэ АА -аар ажиллуулах замаар шийдэж болох боловч заримдаа илүү өөрчилсөн шийдлийг ашиглах боломжтой болно.

Жишээлбэл, миний найз охины өвөө шинэ зурагттай болсон бөгөөд бид түүнд DVD, ТВ -ийн хооронд шилжихийн тулд эх сурвалжаа хэрхэн яаж өөрчлөхийг зааж өгөхийг хичээсэн боловч тэр үүнийг ойлгоогүй юм. Тэрээр мөн харааны бэрхшээлтэй тулгардаг бөгөөд нарийн төвөгтэй үйл явцыг санах гэж нэг их сонирхдоггүй, хүссэн үедээ шоугаа үзэхийг л хүсдэг. Бидний сүүлчийн айлчлалын үеэр хийсэн алхмуудаа тайван тайлбарлахыг оролдсон ч амжилтанд хүрээгүй тул би түүнийг өөрийн гэсэн хоёр товчлууртай алсын удирдлагатай болгохоор шийдлээ. Энэ нь түүнд телевизийнхээ оролтын эх үүсвэрийг өвдөлтгүй өөрчлөх боломжийг олгож, хайртай Matlock DVD болон Үнэ нь зөв байдаг.

Алхам 1: Материал

  • PhidgetIR
  • PhidgetSBC4 (эсвэл Raspberry Pi гэх мэт ганц самбартай компьютер)
  • Гагнуурын төмөр
  • Хажуугийн таслагч
  • Утас хуулагч
  • Холбогч утас
  • USB кабель
  • Phidget кабель
  • Хашаа
  • Нүхний толгой
  • Дулаан багасгах хоолой

Алхам 2: Төлөвлөлт

3D хэвлэх
3D хэвлэх

Алсын удирдлага үүсгэхийн тулд хэрэглэгчийн хэт улаан туяаны (CIR) командыг телевиз рүү илгээх чадвар надад хэрэгтэй байсан. Би энэ ажилд PhigetIR -ийг ашиглахаар шийдсэн. PhidgetIR бол CIR командыг илгээх, хүлээн авах чадвартай USB удирдлагатай төхөөрөмж юм. Би үүнийг хэд хэдэн шалтгааны улмаас сонгосон.

  • Би энэ төслийг аль болох хурдан дуусгаж, ашиглахыг хүсч байсан тул осциллограф, талхны хавтангаа хагалах тухай бодол тийм ч их таалагдсангүй. Түүнчлэн, миний гараар гагнасан схемүүд нэг, хоёр жилийн дараа ажиллах магадлал хэр өндөр вэ?
  • PhidgetIR нь хөгжүүлэлтийг маш энгийн болгодог CIR командуудыг "сурах" чадвартай.
  • Та PhidgetIR програмын тусламжтайгаар бараг бүх үндсэн програмчлалын хэлийг ашиглаж болно. Энэ нь би Java ашиглаж, бүх зүйлийг хурдан дуусгах боломжтой гэсэн үг юм.
  • Эцэст нь би Phidgets -т ажилладаг тул API -тай ажиллахад тухтай байдаг бөгөөд үргэлж сэлбэг хэрэгсэл байдаг.

Би PhidgetIR -ийг ашиглахаар сонгосон тул үүнийг ажиллуулахын тулд надад компьютер хэрэгтэй байсан. Би энэ төслийг энгийн алсын удирдлага шиг бие даасан програм болгохыг хүсч байсан тул ширээний компьютер эсвэл зөөврийн компьютер байхгүй байсан. Би PhidgetSBC4 (Debian Linux-ийг ажиллуулдаг нэг самбартай компьютер) ашиглахаар шийдсэн, учир нь энэ нь нэмэлт тоног төхөөрөмжгүйгээр түлхэх товчлууруудын аль алинтай нь харилцах боломжийг надад олгосон юм. Тэдгээрийг шууд VINT Hub руу шууд холбож болно. Анхаарна уу: та энэ төсөлд Raspberry Pi ашиглаж болно. Эцэст нь хэлэхэд, функциональ сайн байхаас гадна энэ төслийг гайхалтай сайхан харагдуулахыг хүсч байсан тул 3D хэвлэсэн хаалт хийх шаардлагатай гэж шийдсэн.

Алхам 3: 3D хэвлэх

3D хэвлэх
3D хэвлэх
3D хэвлэх
3D хэвлэх

Энэхүү төслийн хувьд Geomagic -ийг хашаа байшингийн загварчлалд ашигласан. PhidgetIR болон PhidgetSBC4 -ийн аль алинд нь 3D алхам файлууд байдаг бөгөөд энэ нь үйл явцыг хялбаршуулсан болно. Энэ үе шатанд хашлагын хэмжээ, функциональ байдлын талаар зарим шийдвэрийг гаргасан болно.

  • PhidgetIR нь командыг илгээхийн тулд ТВ рүү чиглүүлэх ёстой хоёр IR LED -тэй. PhidgetIR хавтангийн эргэн тойронд хашлага зохион бүтээхийн оронд IR LED -ийг задалж, хашлагын хажуугийн нүхэнд нааж болно. PhidgetIR хавтанг хоосон зайг ашиглан LED -ээс хол байрлуулж болно.
  • PhidgetSBC4 дээрх VINT Hub холбогчийг дээш нь нугалж болох бөгөөд энэ нь товчлуурын холболтод нэвтрэх боломжийг олгож байгаа бөгөөд илүү том бүрхүүл үүсгэхээс урьдчилан сэргийлэх болно.

Мөн би товчлууруудын шошго болон IR LED -ийг зөв чиглэлд чиглүүлэхийн тулд түүнд тулгарах чиглэлийг харуулсан шошго нэмж оруулахаар шийдсэн. Би хашаагаа хар ABS хуванцараар хэвлэв.

Алхам 4: Угсрах - LED -ийг салга

Ассемблей - LED -ийг салга
Ассемблей - LED -ийг салга
Ассемблей - LED -ийг салга
Ассемблей - LED -ийг салга
Ассемблей - LED -ийг салга
Ассемблей - LED -ийг салга

IR LED -ийг эцэст нь хашлагын хажуугийн нүхэнд наалдуулах болно. Энэ нь эхлээд тэдгээрийг хусах хэрэгтэй гэсэн үг юм.

Алхам 5: Ассемблей - Нүхний толгойн хэсгийг нэмнэ үү

Ассемблей - Нүхний толгойн хэсгийг нэмнэ үү
Ассемблей - Нүхний толгойн хэсгийг нэмнэ үү
Ассемблей - Нүхний толгойн хэсгийг нэмнэ үү
Ассемблей - Нүхний толгойн хэсгийг нэмнэ үү

Дараа нь өмнө нь LED байсан нүхний толгойнуудыг нэмсэн бөгөөд энэ нь 4 зүү холбогч утас ашиглан холбоход хялбар болгосон. Санамсаргүй холбоо барихаас урьдчилан сэргийлэхийн тулд дулаан багасгадаг хоолой ашиглана уу.

Алхам 6: Угсрах - LED холбоно уу

Ассемблей - LED холбоно уу
Ассемблей - LED холбоно уу
Ассемблей - LED холбоно уу
Ассемблей - LED холбоно уу

LED -ийг бүрхүүлийн хажуу талд наалдуулна.

Алхам 7: Ассемблей - PhidgetIR -ийг хавсаргана уу

Ассемблей - PhidgetIR -ийг хавсаргана уу
Ассемблей - PhidgetIR -ийг хавсаргана уу
Ассемблей - PhidgetIR -ийг хавсаргана уу
Ассемблей - PhidgetIR -ийг хавсаргана уу
Ассемблей - PhidgetIR -ийг хавсаргана уу
Ассемблей - 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 disce) {

DigitalInput ch = (DigitalInput) disce.getSource (); {if (ch.getHubPort () == 4 && disce.getState () == true) {tvButtonActivated = true;} if (ch.getHubPort () == 5 && disce).getState () == үнэн) {otherButtonActivated = үнэн;}} барих (PhidgetException ex) {System.out.println ("Алдаа:"+ ex.getDescription ());}}};

Товчлуур идэвхжсэн тохиолдолд үйл явдлын код ажиллаж, тугийг тохируулна. Эдгээр тугуудыг лавлах бөгөөд үндсэн гогцоонд дахин тохируулах болно. Үндсэн давталт нь товчлуурын төлөв өөрчлөгдөхийг хүлээж, дараа нь PhidgetIR API -ээс авах боломжтой дамжуулах функцийг ашиглан IR командыг илгээдэг.

while (үнэн) {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 командууд

Програм хангамж - CIR командууд
Програм хангамж - CIR командууд

Команд хэрхэн үүсгэх жишээ энд байна (энэ тохиолдолд дууг нэмэгдүүлэх тушаал):

// IR код

IRCodeInfo sourceButtonCI = шинэ IRCodeInfo (); String volumeUp = "77e1d0f0"; // source товчлуурыг тохируулах 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
Алсын удирдлагын тэмцээн 2017
Алсын удирдлагын тэмцээн 2017
Алсын удирдлагын тэмцээн 2017

Алсын удирдлага тэмцээний гурав дахь шагнал 2017

Зөвлөмж болгож буй: