Satura rādītājs:
- 1. solis: materiāli
- 2. solis: plānošana
- 3. darbība: 3D drukāšana
- 4. solis: montāža - noņemiet gaismas diodes
- 5. darbība: montāža - pievienojiet caurumu galviņas
- 6. darbība: montāža - pievienojiet gaismas diodes
- 7. darbība: montāža - pievienojiet PhidgetIR
- 8. darbība: montāža - pogu pievienošana
- 9. solis: montāža - visu salieciet kopā
- 10. solis: programmatūra - kods
- 11. solis: programmatūra - CIR komandas
- 12. solis: programmas palaišana
- 13. darbība. Rezultāts
Video: Tehnoloģijas jūsu vectēvam: 13 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Cik reizes esat devies pie vecvecāku mājām, lai palīdzētu atrisināt “tehnoloģiju problēmu”, kas galu galā bija atvienots strāvas kabelis, izlādējusies tālvadības baterija vai nespēja pārslēgt televizora avotu? Es zinu, ka man tas notiek diezgan bieži. Lai gan lielāko daļu problēmu var atrisināt, vienkārši skrienot uz veikalu pēc dažām jaunām AA, dažreiz viņi varētu gūt labumu no pielāgota risinājuma.
Piemēram, manas draudzenes vectēvs ieguva jaunu televizoru, un mēs mēģinājām viņam iemācīt mainīt avotu, lai viņš varētu pārslēgties starp DVD un TV, bet viņš vienkārši nevarēja to saprast. Viņš arī saskaras ar redzes traucējumiem un nav pārāk ieinteresēts mēģināt atcerēties sarežģītus procesus, viņš vienkārši vēlas skatīties viņa izrādes, kad vēlas. Pēc tam, kad bez lieliem panākumiem mēģināju mierīgi izskaidrot mūsu pēdējās vizītes laikā veiktos soļus, es nolēmu, ka vienkārši izveidošu viņam savu vienkāršo divu pogu tālvadības pulti. Tas ļautu viņam nesāpīgi mainīt televizora ievades avotu, viegli pārslēdzoties starp saviem mīļotajiem Matlock DVD diskiem un cenu.
1. solis: materiāli
- PhidgetIR
- PhidgetSBC4 (vai jebkurš viens borta dators, piemēram, Raspberry Pi)
- Lodāmurs
- Sānu griezēji
- Stiepļu noņēmēji
- Jumper vadi
- USB kabelis
- Phidget kabelis
- Korpuss
- Caurumu caurumi
- Termiski saraušanās caurules
2. solis: plānošana
Lai izveidotu tālvadības pulti, man bija nepieciešama iespēja nosūtīt televīzijai patērētāju infrasarkanās (CIR) komandas. Es nolēmu šim uzdevumam izmantot PhigetIR. PhidgetIR ir ar USB vadāma ierīce, kas spēj gan nosūtīt, gan saņemt CIR komandas. Es izvēlējos šo vairāku iemeslu dēļ:
- Es gribēju pēc iespējas ātrāk pabeigt šo projektu un to izmantot, tāpēc doma par osciloskopa un maizes dēļa izjaukšanu nebija pievilcīga. Turklāt, cik liela ir iespējamība, ka manas ar roku pielodētās shēmas pēc gada vai diviem joprojām darbosies?
- PhidgetIR ir iespēja “apgūt” CIR komandas, padarot izstrādi ārkārtīgi vienkāršu.
- Ar PhidgetIR varat izmantot gandrīz jebkuru galveno programmēšanas valodu. Tas nozīmēja, ka es varu izmantot Java un ātri pabeigt lietas.
- Visbeidzot, es strādāju pie Phidgets, tāpēc esmu apmierināts ar API, un vienmēr ir pieejamas rezerves ierīces.
Tā kā es izvēlējos izmantot PhidgetIR, man vajadzēja datoru, lai to palaistu. Es gribēju, lai šis projekts būtu atsevišķa lietojumprogramma, līdzīgi kā parasta tālvadības pults, tāpēc darbvirsma vai klēpjdators nebija pieejams. Es izvēlējos izmantot PhidgetSBC4 (viena paneļa datoru, kurā darbojas Debian Linux), jo tas ļāva man saskarties ar abām spiedpogām bez papildu aparatūras. Tos var vienkārši pieslēgt tieši iebūvētajam VINT centrmezglam. Piezīme: šim projektam varat izmantot arī Raspberry Pi. Visbeidzot, papildus tam, ka tas ir funkcionāli stabils, es vēlējos, lai šis projekts izskatītos lieliski, tāpēc es nolēmu, ka būs nepieciešams 3D drukāts korpuss.
3. darbība: 3D drukāšana
Šim projektam korpusa modelēšanai tika izmantots Geomagic. Gan PhidgetIR, gan PhidgetSBC4 ir pieejami 3D soļu faili, kas vienkāršoja procesu. Šajā posmā tika pieņemti daži lēmumi par korpusa izmēru un funkcionalitāti:
- Lai nosūtītu komandas, PhidgetIR ir divas IR gaismas diodes, kurām jābūt vērstām pret televizoru. Tā vietā, lai izstrādātu korpusu ap PhidgetIR plati, IR gaismas diodes varētu atvienot un ielīmēt caurumos korpusa sānos. Pēc tam PhidgetIR dēli varētu uzstādīt prom no gaismas diodēm, izmantojot tukšo vietu.
- PhingetSBC4 VINT Hub savienotāji varētu būt saliekti uz augšu, kas joprojām ļautu piekļūt spiedpogas savienojumiem, kā arī neļautu izveidot lielāku korpusu.
Es arī nolēmu pievienot etiķeti pogām un etiķeti, kas norāda virzienu, uz kuru tai vajadzētu vērsties, lai IR gaismas diodes būtu vērstas pareizajā virzienā. Es izdrukāju korpusu lokāli no melnas ABS plastmasas.
4. solis: montāža - noņemiet gaismas diodes
IR gaismas diodes galu galā tiks pielīmētas caurumos korpusa sānos. Tas nozīmē, ka vispirms tie ir jāatvieno.
5. darbība: montāža - pievienojiet caurumu galviņas
Tālāk tika pievienoti caurumi caurumiem, kur agrāk bija gaismas diodes, kas atviegloja to savienošanu, izmantojot 4 kontaktu džemperi. Lai izvairītos no nejaušas saskares, izmantojiet termiski saraušanās caurules.
6. darbība: montāža - pievienojiet gaismas diodes
Līmējiet gaismas diodes korpusa sānos.
7. darbība: montāža - pievienojiet PhidgetIR
Pievienojiet PhidgetIR korpusam un pievienojiet gaismas diodes.
8. darbība: montāža - pogu pievienošana
Spiedpogas ir jāpievieno PhidgetSBC iebūvētajam VINT centrmezglam, tāpēc es pārgriezu Phidget kabeli uz pusēm un pielodēju galus pie pogām. Ņemiet vērā, ka ir nepieciešams tikai balts vads (signāls) un melns (zemējums).
9. solis: montāža - visu salieciet kopā
Lai visu savāktu kopā, bija nepieciešama zināma kabeļu pārvaldība, tomēr korpuss strādāja labi.
10. solis: programmatūra - kods
Šim projektam ir nepieciešams tikai viens Java fails, kuru varat atrast šeit. Programma izmanto vienu PhidgetIR objektu un divus DigitalInput objektus. Šos objektus var izveidot šādi:
PhidgetIR ir = jauns PhidgetIR ();
DigitalInput tvButton = new DigitalInput (); DigitalInput otherButton = new DigitalInput ();
Digitālās ievades objekti ir kartēti ar fizisku spiedpogu VINT centrmezglā. Pievienošanas, atvienošanas, kļūdu un stāvokļa maiņas notikumi tiek abonēti arī:
tv.setIsHubPortDevice (true);
tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); tvButton.open (); otherButton.setIsHubPortDevice (true); otherButton.setHubPort (5); otherButton.addAttachListener (onAttachListener); otherButton.addDetachListener (onDetachListener); otherButton.addErrorListener (onErrorListener); otherButton.addStateChangeListener (onStateChangeListener); otherButton.open ();
Iepriekš minētais stāvokļa izmaiņu klausītājs izskatās šādi:
privatestatic DigitalInputStateChangeListener onStateChangeListener = new DigitalInputStateChangeListener () {@OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {
DigitalInput ch = (DigitalInput) disce.getSource (); mēģiniet {if (ch.getHubPort () == 4 && disce.getState () == true) {tvButtonActivated = true;} if (ch.getHubPort () == 5 && disce.getState () == true) {otherButtonActivated = true;}} catch (PhidgetException ex) {System.out.println ("Kļūda:"+ ex.getDescription ());}}};
Kad poga ir aktivizēta, notikuma kods tiks izpildīts un iestatīs karodziņu. Uz šiem karogiem tiks atsaukta atsauce un tie tiks atiestatīti galvenajā cilpā. Galvenā cilpa vienkārši gaida pogu stāvokļa izmaiņas un pēc tam nosūta IS komandas, izmantojot pārraides funkciju, kas ir pieejama no PhidgetIR API.
while (true) {if (tvButtonActivated) {
tvButtonActivated = nepatiess; Log.log (LogLevel. INFO, "MAINĪŠANAS AVOTS - TV"); ir.transmit (sourceButtonString, codeInfo); Vītne.miega (500); ir.transmit (rightButtonString, codeInfo); Vītne.miega (500); ir.transmit (enterButtonString, codeInfo);} if (otherButtonActivated) {otherButtonActivated = false; Log.log (LogLevel. INFO, "MAINĪŠANAS AVOTS - DVD"); ir.transmit (sourceButtonString, codeInfo); Vītne.miega (500); ir.transmit (leftButtonString, codeInfo); Vītne.miega (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}
11. solis: programmatūra - CIR komandas
Šeit ir piemērs, kā izveidot komandu (šajā gadījumā skaļuma palielināšanas komanda):
// IR kods
IRCodeInfo sourceButtonCI = jauns IRCodeInfo (); String volumeUp = "77e1d0f0"; // Iestatīt avota pogas 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;
Lai iegūtu informāciju par šo komandu, es vienkārši izmantoju PhidgetIR piemēru, kas pievienots Phidget bibliotēkām. Pēc tam, kad tālvadības pults ir norādīta uz PhidgetIR un nospiesta skaļuma palielināšanas poga, IS “uzzina” kodu un aizpilda piemēru. Pēc tam šo informāciju var vienkārši iekopēt kodā.
12. solis: programmas palaišana
Java failu var rakstīt un apkopot ārējā datorā. Ievietojiet PhidgetRemote.java un phidget22.jar tajā pašā mapē un palaidiet šādu komandu:
Windowsjavac klases ceļš.; Phidget22.jar PhidgetRemote.java
macOS/Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java
Pēc apkopošanas kopējiet ģenerētos klases failus uz PhidgetSBC4 un konfigurējiet, lai tie darbotos sāknēšanas laikā.
13. darbība. Rezultāts
Kad iedevu tālvadības pulti draudzenes vectēvam un parādīju, kā to lietot, viņš bija pārsteigts, cik tas ir vienkārši. Apskatiet video, lai redzētu to darbībā!
Trešā balva tālvadības konkursā 2017
Ieteicams:
HAIKU, kad mode un tehnoloģijas saplūst kopā. TfCD projekts. TU Delft .: 4 soļi
HAIKU, kad mode un tehnoloģijas saplūst kopā. TfCD projekts. TU Delft .: Haiku ir koncepcija, ko Mucahit Aydin izstrādājis TU Delft MSc kursam. Šī kimono galvenais princips ir paplašināt sajūtu, ka kāds tevi apskauj. Lai to izdarītu, kimono pēc pieskāriena atklās zīmējumu. Kā? Ar īstenotājiem
RAM tehnoloģijas un problēmu novēršana: 6 soļi
RAM tehnoloģijas un problēmu novēršana: brīvpiekļuves atmiņa (RAM) ir ļoti ātras atmiņas veids, ko datori izmanto, lai ātri piekļūtu informācijai. Operatīvā atmiņa ir daudz ātrāka nekā cietie diski vai cietvielu diski, taču tā ir daudz dārgāka un nevar uzglabāt datus bez pastāvīgas jaudas. Kā jūs
Kā strāvas padeves dizaina problēmas risina līdzstrāvas tehnoloģijas: 3 soļi
Kā atbilst DC-DC Technologies strāvas padeves dizaina izaicinājumi: Es analizēšu, kā DC-DC Technologies atbilst izaicinājuma barošanas avota dizainam. Elektroenerģijas sistēmu dizaineri saskaras ar pastāvīgu tirgus spiedienu, lai atrastu veidus, kā maksimāli izmantot pieejamo jauda. Pārnēsājamās ierīcēs augstāka efektivitāte
Maiņstrāvas izmantošana ar gaismas diodēm (4. daļa) - jaunās tehnoloģijas: 6 soļi (ar attēliem)
Maiņstrāvas izmantošana ar gaismas diodēm (4. daļa) - jaunās tehnoloģijas: daži no šķēršļiem, kādos LED vispārēji tiek pieņemts mājās, ir relatīvi augstās izmaksas par lūmenu un sarežģītās un neveiklās jaudas pārveidošanas sistēmas. Pēdējos mēnešos vairāki jauni notikumi sola tuvināt mūs
8 celiņu Walkman-Pod lieta (retro tehnoloģijas): 7 soļi (ar attēliem)
8 dziesmu Walkman-Pod Thing (Retro-tech): Šis ir neapšaubāmi traks projekts, lai noskaidrotu, kas varētu notikt, ja Sony būtu izgudrojis Walkman atskaņotāju agrāk nekā viņi-un padarīja to par nepieciešamu 8 celiņu lentes kasetnēm (kas bija pieejamas pirms kasetes) lentes tika izgudrotas). Citiem vārdiem sakot, vai es varu izveidot