Turinys:
- 1 žingsnis: medžiagos
- 2 žingsnis: planavimas
- 3 žingsnis: 3D spausdinimas
- 4 žingsnis: Surinkimas - pašalinkite šviesos diodus
- 5 žingsnis: Surinkimas - pridėkite skylių antraštes
- 6 žingsnis: Surinkimas - pritvirtinkite šviesos diodus
- 7 žingsnis: Surinkimas - pritvirtinkite „PhidgetIR“
- 8 žingsnis: Surinkimas - mygtukų pridėjimas
- 9 žingsnis: Surinkimas - viską sudėkite
- 10 veiksmas: programinė įranga - kodas
- 11 veiksmas: programinė įranga - CIR komandos
- 12 veiksmas: paleiskite programą
- 13 žingsnis: rezultatas
Video: Technologijos jūsų seneliui: 13 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Kiek kartų lankėtės senelių namuose, kad išspręstumėte „technologinę problemą“- galiausiai tai buvo atjungtas maitinimo kabelis, išsikrovusi nuotolinė baterija arba negalėjimas perjungti televizoriaus šaltinio? Žinau, kad man tai atsitinka gana dažnai. Nors dauguma jų problemų gali būti išspręstos paprasčiausiai nuvykus į parduotuvę ieškoti naujų AA, kartais jiems gali būti naudingas labiau pritaikytas sprendimas.
Pavyzdžiui, mano merginos senelis gavo naują televizorių ir mes bandėme jį išmokyti pakeisti šaltinį, kad jis galėtų perjungti DVD ir televizorių, bet jis tiesiog negalėjo to išsiaiškinti. Jis taip pat susiduria su pablogėjusiu regėjimu ir nėra labai suinteresuotas bandyti prisiminti sudėtingus procesus, jis tiesiog nori žiūrėti jo pasirodymus, kai to nori. Pasistengęs ramiai paaiškinti žingsnius per paskutinį mūsų vizitą be didesnės sėkmės, nusprendžiau tiesiog padaryti jam savo paprastą dviejų mygtukų nuotolinio valdymo pultą. Tai leistų jam neskausmingai pakeisti įvesties šaltinį savo televizoriuje, lengvai perjungiant tarp savo mylimų „Matlock“DVD ir „Price is Right“.
1 žingsnis: medžiagos
- PhidgetIR
- „PhidgetSBC4“(arba bet kuris vienos plokštės kompiuteris, pvz., „Raspberry Pi“)
- Lituoklis
- Šoniniai pjovikliai
- Vielos nuėmikliai
- Trumpieji laidai
- USB kabelis
- „Phidget“kabelis
- Korpusas
- Skylių antgaliai
- Termiškai susitraukiantis vamzdis
2 žingsnis: planavimas
Norėdami sukurti nuotolinio valdymo pultą, man reikėjo galimybės siųsti televizoriui vartotojų infraraudonųjų spindulių (CIR) komandas. Šiai užduočiai nusprendžiau naudoti „PhigetIR“. „PhidgetIR“yra USB valdomas įrenginys, galintis siųsti ir gauti CIR komandas. Aš tai pasirinkau dėl kelių priežasčių:
- Norėjau kuo greičiau užbaigti šį projektą ir jį panaudoti, todėl mintis išardyti osciloskopą ir duonos lentą nebuvo patraukli. Be to, kokia tikimybė, kad mano rankomis lituojamos grandinės vis tiek veiks po metų ar dviejų?
- „PhidgetIR“turi galimybę „išmokti“CIR komandas, todėl kūrimas yra labai paprastas.
- Su „PhidgetIR“galite naudoti beveik bet kokią įprastą programavimo kalbą. Tai reiškė, kad galėčiau naudoti „Java“ir greitai viską užbaigti.
- Galiausiai dirbu „Phidgets“, todėl man patogu naudoti API ir visada yra atsarginių įrenginių.
Kadangi nusprendžiau naudoti „PhidgetIR“, man reikėjo kompiuterio, kad galėčiau jį paleisti. Norėjau, kad šis projektas būtų atskira programa, panaši į įprastą nuotolinio valdymo pultą, todėl stalinis kompiuteris ar nešiojamasis kompiuteris buvo išjungtas. Aš nusprendžiau naudoti „PhidgetSBC4“(vienos plokštės kompiuterį, kuriame veikia „Debian Linux“), nes tai leido man naudotis abiem mygtukais be jokios papildomos aparatūros. Juos galima tiesiog prijungti tiesiai prie įmontuoto „VINT Hub“. Pastaba: šiam projektui taip pat galite naudoti „Raspberry Pi“. Galiausiai norėjau, kad šis projektas atrodytų ne tik funkcionaliai, bet ir puikiai atrodytų, todėl nusprendžiau, kad reikės 3D spausdinto korpuso.
3 žingsnis: 3D spausdinimas
Šiam projektui „Geomagic“buvo naudojamas gaubto modeliavimui. Tiek „PhidgetIR“, tiek „PhidgetSBC4“yra 3D žingsnių failai, kurie supaprastino procesą. Šio žingsnio metu buvo priimti kai kurie sprendimai dėl korpuso dydžio ir funkcionalumo:
- „PhidgetIR“turi du IR šviesos diodus, kurie turi būti nukreipti į televizorių, kad būtų galima siųsti komandas. Užuot suplanavę korpusą aplink „PhidgetIR“plokštę, infraraudonųjų spindulių šviesos diodus galima išardyti ir priklijuoti prie skylių korpuso šone. Tada „PhidgetIR“plokštę galima montuoti toliau nuo šviesos diodų, naudojant tuščią vietą.
- „VINT Hub“jungtys „PhidgetSBC4“gali būti sulenktos į viršų, o tai vis tiek leistų pasiekti mygtuko jungtis, taip pat neleistų sukurti didesnio gaubto.
Taip pat nusprendžiau pridėti mygtukų etiketę ir etiketę, nurodančią kryptį, kuria ji turėtų būti nukreipta, kad IR šviesos diodai būtų nukreipti teisinga kryptimi. Korpusą atspausdinau iš juodo ABS plastiko.
4 žingsnis: Surinkimas - pašalinkite šviesos diodus
Galiausiai IR šviesos diodai bus priklijuoti prie skylių korpuso šone. Tai reiškia, kad pirmiausia juos reikia išardyti.
5 žingsnis: Surinkimas - pridėkite skylių antraštes
Tada, kur buvo šviesos diodai, buvo pridėtos skylių antraštės, todėl jas buvo lengva prijungti naudojant 4 kontaktų jungiamąjį laidą. Norėdami išvengti atsitiktinio sąlyčio, naudokite termiškai susitraukiančius vamzdelius.
6 žingsnis: Surinkimas - pritvirtinkite šviesos diodus
Klijuokite šviesos diodus į korpuso šoną.
7 žingsnis: Surinkimas - pritvirtinkite „PhidgetIR“
Pritvirtinkite „PhidgetIR“prie korpuso ir prijunkite šviesos diodus.
8 žingsnis: Surinkimas - mygtukų pridėjimas
Mygtukai turi būti prijungti prie „PhidgetSBC“įmontuoto „VINT Hub“, todėl perpjoviau „Phidget“kabelį per pusę ir galus lituojau prie mygtukų. Atminkite, kad reikalingas tik baltas laidas (signalas) ir juodas (įžeminimas).
9 žingsnis: Surinkimas - viską sudėkite
Norint viską sutvarkyti, reikėjo šiek tiek valdyti kabelį, tačiau korpusas veikė gerai.
10 veiksmas: programinė įranga - kodas
Šiam projektui reikalingas tik vienas „Java“failas, kurį galite rasti čia. Programa naudoja vieną „PhidgetIR“objektą ir du „DigitalInput“objektus. Šiuos objektus galite sukurti taip:
PhidgetIR ir = naujas PhidgetIR ();
„DigitalInput tvButton“= naujas „DigitalInput“(); DigitalInput otherButton = naujas DigitalInput ();
Skaitmeninės įvesties objektai susieti su fiziniu VINT koncentratoriaus mygtuku. Prisijungimo, atjungimo, klaidų ir būsenos keitimo įvykiai taip pat yra prenumeruojami:
tv.setIsHubPortDevice (tiesa);
tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); tvButton.open (); otherButton.setIsHubPortDevice (tiesa); otherButton.setHubPort (5); otherButton.addAttachListener (onAttachListener); otherButton.addDetachListener (onDetachListener); otherButton.addErrorListener (onErrorListener); otherButton.addStateChangeListener (onStateChangeListener); otherButton.open ();
Aukščiau pateiktas būsenos pokyčių klausytojas atrodo taip:
privatestatic DigitalInputStateChangeListener onStateChangeListener = new DigitalInputStateChangeListener () {@OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {
DigitalInput ch = (DigitalInput) disce.getSource (); pabandykite {if (ch.getHubPort () == 4 && disce.getState () == true) {tvButtonActivated = true;} if (ch.getHubPort () == 5 && disce.getState () == true) {otherButtonActivated = true;}} catch (PhidgetException ex) {System.out.println ("Klaida:"+ ex.getDescription ());}}};
Kai mygtukas yra įjungtas, įvykio kodas bus įvykdytas ir nustatys vėliavą. Šios vėliavos bus nurodytos ir iš naujo nustatytos pagrindinėje grandinėje. Pagrindinė kilpa tiesiog laukia, kol pasikeis mygtuko būsena, ir tada siunčia IR komandas naudodami perdavimo funkciją, kurią galima gauti iš „PhidgetIR“API.
while (tiesa) {if (tvButtonActivated) {
tvButtonActivated = klaidinga; „Log.log“(„LogLevel. INFO“, „KEIČIANTIS ŠALTINIS - TV“); ir.transmit (sourceButtonString, codeInfo); Siūlai.miegoti (500); ir.transmit (rightButtonString, codeInfo); Siūlai.miegoti (500); ir.transmit (enterButtonString, codeInfo);} if (otherButtonActivated) {otherButtonActivated = false; „Log.log“(„LogLevel. INFO“, „CHANGING SOURCE - DVD“); ir.transmit (sourceButtonString, codeInfo); Siūlai.miegoti (500); ir.transmit (leftButtonString, codeInfo); Siūlai.miegoti (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}
11 veiksmas: programinė įranga - CIR komandos
Štai pavyzdys, kaip sukurti komandą (šiuo atveju - garsumo didinimo komanda):
// IR kodas
IRCodeInfo sourceButtonCI = naujas IRCodeInfo (); String volumeUp = "77e1d0f0"; // Nustatyti šaltinio mygtuko 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;
Norėdami gauti informacijos apie šią komandą, aš tiesiog panaudojau „PhidgetIR“pavyzdį, pateiktą kartu su „Phidget“bibliotekomis. Nukreipęs nuotolinio valdymo pultą į „PhidgetIR“ir nuspaudęs garsumo didinimo mygtuką, IR „išmoksta“kodą ir užpildo pavyzdį. Šią informaciją galima tiesiog nukopijuoti į kodą.
12 veiksmas: paleiskite programą
„Java“failą galima rašyti ir kompiliuoti išoriniame kompiuteryje. Įdėkite „PhidgetRemote.java“ir „phidget22.jar“į tą patį aplanką ir paleiskite šią komandą:
„Windowsjavac“klasės kelias.; Phidget22.jar „PhidgetRemote.java“
macOS/Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java
Po kompiliavimo nukopijuokite sukurtus klasės failus į „PhidgetSBC4“ir sukonfigūruokite, kad jie būtų paleisti.
13 žingsnis: rezultatas
Kai atidaviau nuotolinio valdymo pultą savo merginos seneliui ir parodžiau, kaip juo naudotis, jis stebėjosi, kaip tai paprasta. Peržiūrėkite vaizdo įrašą, kad pamatytumėte jo veikimą!
Trečiasis prizas nuotolinio valdymo konkurse 2017 m
Rekomenduojamas:
„Steam Punk“jūsų UPS, kad jūsų „Wi-Fi“maršrutizatorius veiktų valandomis: 4 žingsniai (su nuotraukomis)
„Steam Punk“jūsų UPS, kad jūsų „Wi-Fi“maršrutizatorius veiktų valandomis: yra kažkas iš esmės prieštaraujančio, kad jūsų UPS konvertuotų 12 V nuolatinės srovės akumuliatoriaus energiją į 220 V kintamosios srovės maitinimą, kad transformatoriai, kuriuose veikia jūsų maršrutizatorius ir pluošto ONT, galėtų juos vėl paversti 12V DC! Jūs taip pat priešinatės [paprastai
HAIKU, kai mada ir technologijos susijungia. TfCD projektas. TU Delftas: 4 žingsniai
HAIKU, kai mada ir technologijos susijungia. TfCD projektas. TU Delft.: „Haiku“yra Mucahit Aydin sukurta koncepcija, skirta TU Delfto magistrantūros studijoms. Pagrindinis šio kimono principas yra pratęsti jausmą, kad kažkas yra apkabintas. Norėdami tai padaryti, kimono atskleis modelį po jo palietimo. Kaip? Pagal įgyvendintojus
Žemos technologijos saulės lempa su pakartotinai naudojamomis baterijomis: 9 žingsniai (su nuotraukomis)
Žemos technologijos saulės lempa su pakartotinai naudojamomis baterijomis: ši pamoka leidžia jums pagaminti saulės lempą su USB įkrovikliu. Jis naudoja ličio elementus, kurie pakartotinai naudojami iš seno ar sugadinto nešiojamojo kompiuterio. Ši sistema, turinti saulės šviesos dieną, gali visiškai įkrauti išmanųjį telefoną ir turėti 4 valandas šviesos. Ši technika
RAM technologijos ir trikčių šalinimas: 6 žingsniai
RAM technologijos ir trikčių šalinimas: Atsitiktinės prieigos atmintis (RAM) yra labai greitos atminties forma, kurią kompiuteriai naudoja norėdami greitai pasiekti informaciją. RAM yra daug greitesnė nei kietieji diskai ar kietojo kūno diskai, tačiau ji yra daug brangesnė ir negali saugoti duomenų be nuolatinės energijos. Kaip tu
„Pasidaryk pats“galutinės technologijos „CLR Clone HiFi“garsiakalbis: 11 žingsnių
„Pasidaryk pats“galutinės technologijos „CLR Clone HiFi“garsiakalbis: Dėkojame „123Toid“už šį kūrimą!: „YouTube“- svetainė Ar norite sukurti savo „HiFi“garsiakalbį? Šiame vaizdo įraše aš jums parodysiu, kaip atkurti galutinę technologiją „clr3000“, kuri yra centrinis, kairysis arba dešinysis garsiakalbis. Patikrinkite, kaip paprasta ir