Სარჩევი:

ტექნოლოგია თქვენი ბაბუისთვის: 13 ნაბიჯი (სურათებით)
ტექნოლოგია თქვენი ბაბუისთვის: 13 ნაბიჯი (სურათებით)

ვიდეო: ტექნოლოგია თქვენი ბაბუისთვის: 13 ნაბიჯი (სურათებით)

ვიდეო: ტექნოლოგია თქვენი ბაბუისთვის: 13 ნაბიჯი (სურათებით)
ვიდეო: 10 შეცდომა რის გამოც თქვენი ტელეფონი მალე ფუჭდება 2024, ნოემბერი
Anonim
Image
Image

რამდენჯერ მიდიხართ თქვენი ბებია -ბაბუის სახლში, რათა დაგეხმაროთ „ტექნოლოგიური პრობლემის“მოგვარებაში, რომელიც დასრულდა დენის კაბელის გამორთვით, მკვდარი დისტანციური ბატარეით ან ტელევიზორზე წყაროს გადართვით? მე ვიცი, რომ ჩემთვის ეს საკმაოდ ხშირად ხდება. მიუხედავად იმისა, რომ მათი პრობლემების უმეტესობა შეიძლება გადაწყდეს მაღაზიაში მხოლოდ ახალი AA– ებისთვის, ზოგჯერ მათ შეუძლიათ ისარგებლონ უფრო მორგებული გადაწყვეტილებით.

მაგალითად, ჩემი შეყვარებულის ბაბუამ მიიღო ახალი ტელევიზია და ჩვენ შევეცადეთ გვესწავლებინა მისთვის წყაროს შეცვლა, რათა შეეძლო გადაერთო DVD– სა და ტელევიზორს შორის - მაგრამ მან ეს უბრალოდ ვერ გაიგო. ის ასევე მხედველობის დაქვეითებასთან არის დაკავშირებული და არ არის ძალიან დაინტერესებული რთული პროცესების დამახსოვრების მცდელობით, მას უბრალოდ უნდა უყუროს მის გადაცემებს როცა მოესურვება. მას შემდეგ რაც ვცდილობდი მშვიდად აეხსნა ნაბიჯები ჩვენი ბოლო ვიზიტის დროს დიდი წარმატების გარეშე, მე გადავწყვიტე, რომ მე მას გავუკეთებდი მის უბრალო ორ ღილაკზე დისტანციურ კონტროლს. ეს საშუალებას მისცემს მას უმტკივნეულოდ შეცვალოს შეყვანის წყარო თავის ტელევიზიაში, გადართოს მის საყვარელ Matlock DVD– ს და Price არის სწორი მარტივად.

ნაბიჯი 1: მასალები

  • ფიჯეტირ
  • PhidgetSBC4 (ან ნებისმიერი ბორტ კომპიუტერი, როგორიცაა Raspberry Pi)
  • გასაყიდი რკინა
  • გვერდითი საჭრელი
  • მავთულის სტრიპტიზორები
  • Jumper Wires
  • USB კაბელი
  • ფიჯიტ კაბელი
  • დანართი
  • ხვრელის სათაურები
  • გათბობის შემცირება მილები

ნაბიჯი 2: დაგეგმვა

3D ბეჭდვა
3D ბეჭდვა

დისტანციური მართვის შესაქმნელად, მე მჭირდებოდა ტელევიზიაში სამომხმარებლო ინფრაწითელი (CIR) ბრძანებების გაგზავნის შესაძლებლობა. მე გადავწყვიტე გამოვიყენო PhigetIR ამ ამოცანისთვის. PhidgetIR არის USB კონტროლირებადი მოწყობილობა, რომელსაც აქვს შესაძლებლობა გაგზავნოს და მიიღოს CIR ბრძანებები. მე ეს რამდენიმე მიზეზის გამო ავირჩიე:

  • მინდოდა ეს პროექტი რაც შეიძლება მალე დამემთავრებინა და გამომეყენებინა, ამიტომ ჩემი ოსცილოსკოპისა და პურის დაფის გატეხვის აზრი არ იყო მიმზიდველი. ასევე, რამდენად სავარაუდოა, რომ ჩემი ხელით შეკრული სქემები კვლავ მუშაობდეს ერთ ან ორ წელიწადში?
  • PhidgetIR– ს აქვს უნარი „ისწავლოს“CIR ბრძანებები, რაც განვითარებას უადვილებს.
  • თქვენ შეგიძლიათ გამოიყენოთ თითქმის ნებისმიერი ძირითადი პროგრამირების ენა PhidgetIR– ით. ეს იმას ნიშნავდა, რომ შემეძლო ჯავის გამოყენება და საქმეების სწრაფად დასრულება.
  • დაბოლოს, მე ვმუშაობ Phidgets– ში, ასე რომ მე კომფორტულად ვარ API– სთან და ყოველთვის არის სათადარიგო მოწყობილობები.

იმის გამო, რომ მე ვირჩევდი PhidgetIR– ის გამოყენებას, მჭირდებოდა კომპიუტერი, რომლითაც ის დამთავრდებოდა. მინდოდა, რომ ეს პროექტი ყოფილიყო დამოუკიდებელი პროგრამა, ჩვეულებრივი დისტანციური მართვის მსგავსად, ასე რომ დესკტოპი ან ლეპტოპი გამოვიდა. მე ავირჩიე PhidgetSBC4- ის გამოყენება (ერთი დაფის კომპიუტერი, რომელსაც აქვს Debian Linux), რადგან მან მომცა საშუალება შემეერთებინა ორივე ღილაკი დამატებითი აპარატურის გარეშე. მათი უბრალოდ მიერთება შესაძლებელია პირდაპირ ჩაშენებულ VINT Hub– ზე. შენიშვნა: თქვენ ასევე შეგიძლიათ გამოიყენოთ Raspberry Pi ამ პროექტისათვის. დაბოლოს, გარდა იმისა, რომ ფუნქციონალურად ჯანსაღია, მინდოდა ეს პროექტი მშვენივრად გამოიყურებოდეს, ამიტომ გადავწყვიტე, რომ 3D ბეჭდვით დანართი იქნებოდა საჭირო.

ნაბიჯი 3: 3D ბეჭდვა

3D ბეჭდვა
3D ბეჭდვა
3D ბეჭდვა
3D ბეჭდვა

ამ პროექტისათვის Geomagic გამოიყენებოდა დანართის მოდელირებისათვის. არსებობს 3D საფეხურიანი ფაილები როგორც PhidgetIR- ისთვის, ასევე PhidgetSBC4– ისთვის, რამაც გაამარტივა პროცესი. ამ ნაბიჯის განმავლობაში მიღებულ იქნა გარკვეული გადაწყვეტილებები გარსაცმის ზომასა და ფუნქციურობასთან დაკავშირებით:

  • PhidgetIR– ს აქვს ორი IR LED, რომელიც უნდა იყოს მიმართული ტელევიზიისკენ, რათა გაგზავნოს ბრძანებები. იმის ნაცვლად, რომ შეიმუშაოს დანართი PhidgetIR დაფის ირგვლივ, IR LED- ები შეიძლება ჩამოიშოროს და წებოთი იყოს შიგნითა მხარეს. PhidgetIR დაფა შეიძლება დამონტაჟდეს შუქდიოდების შორს, ცარიელი სივრცის გამოყენებით.
  • 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: შეკრება - ღილაკების დამატება

ასამბლეა - ღილაკების დამატება
ასამბლეა - ღილაკების დამატება
ასამბლეა - ღილაკების დამატება
ასამბლეა - ღილაკების დამატება
ასამბლეა - ღილაკების დამატება
ასამბლეა - ღილაკების დამატება

ღილაკები უნდა იყოს დაკავშირებული ჩამონტაჟებულ VINT Hub– ზე PhidgetSBC– ზე, ამიტომ ფიჯეტის კაბელი შუაზე გავჭრა და ბოლოები ღილაკებს შევაერთე. გაითვალისწინეთ, რომ საჭიროა მხოლოდ თეთრი მავთული (სიგნალი) და შავი (მიწა).

ნაბიჯი 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 () == true) {otherButtonActivated = true;}} catch (PhidgetException ex) {System.out.println ("შეცდომა:"+ ex.getDescription ());}}};

როდესაც ღილაკი გააქტიურებულია, ღონისძიების კოდი შესრულდება და დააყენებს დროშას. ეს დროშები იქნება მითითებული და გადატვირთული მთავარ მარყუჟში. მთავარი მარყუჟი უბრალოდ ელოდება ღილაკის მდგომარეობის შეცვლას და შემდეგ აგზავნის IR ბრძანებებს გადაცემის ფუნქციის გამოყენებით, რომელიც ხელმისაწვდომია PhidgetIR API– დან.

while (true) {if (tvButtonActivated) {

tvButtonActivated = ყალბი; Log.log (LogLevel. INFO, "CHANGING SOURCE - TV"); ir.transmit (sourceButtonString, codeInfo); თემა. ძილი (500); ir.transmit (rightButtonString, codeInfo); თემა. ძილი (500); ir.transmit (enterButtonString, codeInfo);} if (otherButtonActivated) {otherButtonActivated = ყალბი; Log.log (LogLevel. INFO, "CHANGING SOURCE - DVD"); ir.transmit (sourceButtonString, codeInfo); თემა. ძილი (500); ir.transmit (leftButtonString, codeInfo); თემა. ძილი (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}

ნაბიჯი 11: პროგრამული უზრუნველყოფა - CIR ბრძანებები

პროგრამული უზრუნველყოფა - CIR ბრძანებები
პროგრამული უზრუნველყოფა - CIR ბრძანებები

აქ არის მაგალითი იმისა, თუ როგორ უნდა შექმნათ ბრძანება (ამ შემთხვევაში მოცულობის გაზრდის ბრძანება):

// IR კოდი

IRCodeInfo sourceButtonCI = ახალი IRCodeInfo (); სიმებიანი მოცულობა Up = "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. გაიმეორეთ [0] = 9084; sourceButtonCI. გაიმეორეთ [1] = 2308; sourceButtonCI. გაიმეორეთ [2] = 549; sourceButtonCI.length = IRCodeLength. CONSTANT;

ამ ბრძანების შესახებ ინფორმაციის მისაღებად, მე უბრალოდ გამოვიყენე PhidgetIR მაგალითი, რომელიც მოყვება Phidget ბიბლიოთეკებს. მას შემდეგ, რაც დისტანციური მართვის ღილაკი მიუთითეთ 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

გირჩევთ: