Სარჩევი:
- ნაბიჯი 1: მასალები
- ნაბიჯი 2: დაგეგმვა
- ნაბიჯი 3: 3D ბეჭდვა
- ნაბიჯი 4: შეკრება - ამოიღეთ LED- ები
- ნაბიჯი 5: შეკრება - დაამატეთ ხვრელების სათაურები
- ნაბიჯი 6: შეკრება - მიამაგრეთ LED- ები
- ნაბიჯი 7: შეკრება - მიამაგრეთ PhidgetIR
- ნაბიჯი 8: შეკრება - ღილაკების დამატება
- ნაბიჯი 9: შეკრება - ყველაფრის ერთად აწყობა
- ნაბიჯი 10: პროგრამული უზრუნველყოფა - კოდი
- ნაბიჯი 11: პროგრამული უზრუნველყოფა - CIR ბრძანებები
- ნაბიჯი 12: პროგრამის გაშვება
- ნაბიჯი 13: შედეგი
ვიდეო: ტექნოლოგია თქვენი ბაბუისთვის: 13 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
რამდენჯერ მიდიხართ თქვენი ბებია -ბაბუის სახლში, რათა დაგეხმაროთ „ტექნოლოგიური პრობლემის“მოგვარებაში, რომელიც დასრულდა დენის კაბელის გამორთვით, მკვდარი დისტანციური ბატარეით ან ტელევიზორზე წყაროს გადართვით? მე ვიცი, რომ ჩემთვის ეს საკმაოდ ხშირად ხდება. მიუხედავად იმისა, რომ მათი პრობლემების უმეტესობა შეიძლება გადაწყდეს მაღაზიაში მხოლოდ ახალი AA– ებისთვის, ზოგჯერ მათ შეუძლიათ ისარგებლონ უფრო მორგებული გადაწყვეტილებით.
მაგალითად, ჩემი შეყვარებულის ბაბუამ მიიღო ახალი ტელევიზია და ჩვენ შევეცადეთ გვესწავლებინა მისთვის წყაროს შეცვლა, რათა შეეძლო გადაერთო DVD– სა და ტელევიზორს შორის - მაგრამ მან ეს უბრალოდ ვერ გაიგო. ის ასევე მხედველობის დაქვეითებასთან არის დაკავშირებული და არ არის ძალიან დაინტერესებული რთული პროცესების დამახსოვრების მცდელობით, მას უბრალოდ უნდა უყუროს მის გადაცემებს როცა მოესურვება. მას შემდეგ რაც ვცდილობდი მშვიდად აეხსნა ნაბიჯები ჩვენი ბოლო ვიზიტის დროს დიდი წარმატების გარეშე, მე გადავწყვიტე, რომ მე მას გავუკეთებდი მის უბრალო ორ ღილაკზე დისტანციურ კონტროლს. ეს საშუალებას მისცემს მას უმტკივნეულოდ შეცვალოს შეყვანის წყარო თავის ტელევიზიაში, გადართოს მის საყვარელ Matlock DVD– ს და Price არის სწორი მარტივად.
ნაბიჯი 1: მასალები
- ფიჯეტირ
- PhidgetSBC4 (ან ნებისმიერი ბორტ კომპიუტერი, როგორიცაა Raspberry Pi)
- გასაყიდი რკინა
- გვერდითი საჭრელი
- მავთულის სტრიპტიზორები
- Jumper Wires
- USB კაბელი
- ფიჯიტ კაბელი
- დანართი
- ხვრელის სათაურები
- გათბობის შემცირება მილები
ნაბიჯი 2: დაგეგმვა
დისტანციური მართვის შესაქმნელად, მე მჭირდებოდა ტელევიზიაში სამომხმარებლო ინფრაწითელი (CIR) ბრძანებების გაგზავნის შესაძლებლობა. მე გადავწყვიტე გამოვიყენო PhigetIR ამ ამოცანისთვის. PhidgetIR არის USB კონტროლირებადი მოწყობილობა, რომელსაც აქვს შესაძლებლობა გაგზავნოს და მიიღოს CIR ბრძანებები. მე ეს რამდენიმე მიზეზის გამო ავირჩიე:
- მინდოდა ეს პროექტი რაც შეიძლება მალე დამემთავრებინა და გამომეყენებინა, ამიტომ ჩემი ოსცილოსკოპისა და პურის დაფის გატეხვის აზრი არ იყო მიმზიდველი. ასევე, რამდენად სავარაუდოა, რომ ჩემი ხელით შეკრული სქემები კვლავ მუშაობდეს ერთ ან ორ წელიწადში?
- PhidgetIR– ს აქვს უნარი „ისწავლოს“CIR ბრძანებები, რაც განვითარებას უადვილებს.
- თქვენ შეგიძლიათ გამოიყენოთ თითქმის ნებისმიერი ძირითადი პროგრამირების ენა PhidgetIR– ით. ეს იმას ნიშნავდა, რომ შემეძლო ჯავის გამოყენება და საქმეების სწრაფად დასრულება.
- დაბოლოს, მე ვმუშაობ Phidgets– ში, ასე რომ მე კომფორტულად ვარ API– სთან და ყოველთვის არის სათადარიგო მოწყობილობები.
იმის გამო, რომ მე ვირჩევდი PhidgetIR– ის გამოყენებას, მჭირდებოდა კომპიუტერი, რომლითაც ის დამთავრდებოდა. მინდოდა, რომ ეს პროექტი ყოფილიყო დამოუკიდებელი პროგრამა, ჩვეულებრივი დისტანციური მართვის მსგავსად, ასე რომ დესკტოპი ან ლეპტოპი გამოვიდა. მე ავირჩიე PhidgetSBC4- ის გამოყენება (ერთი დაფის კომპიუტერი, რომელსაც აქვს Debian Linux), რადგან მან მომცა საშუალება შემეერთებინა ორივე ღილაკი დამატებითი აპარატურის გარეშე. მათი უბრალოდ მიერთება შესაძლებელია პირდაპირ ჩაშენებულ VINT Hub– ზე. შენიშვნა: თქვენ ასევე შეგიძლიათ გამოიყენოთ Raspberry Pi ამ პროექტისათვის. დაბოლოს, გარდა იმისა, რომ ფუნქციონალურად ჯანსაღია, მინდოდა ეს პროექტი მშვენივრად გამოიყურებოდეს, ამიტომ გადავწყვიტე, რომ 3D ბეჭდვით დანართი იქნებოდა საჭირო.
ნაბიჯი 3: 3D ბეჭდვა
ამ პროექტისათვის Geomagic გამოიყენებოდა დანართის მოდელირებისათვის. არსებობს 3D საფეხურიანი ფაილები როგორც PhidgetIR- ისთვის, ასევე PhidgetSBC4– ისთვის, რამაც გაამარტივა პროცესი. ამ ნაბიჯის განმავლობაში მიღებულ იქნა გარკვეული გადაწყვეტილებები გარსაცმის ზომასა და ფუნქციურობასთან დაკავშირებით:
- PhidgetIR– ს აქვს ორი IR LED, რომელიც უნდა იყოს მიმართული ტელევიზიისკენ, რათა გაგზავნოს ბრძანებები. იმის ნაცვლად, რომ შეიმუშაოს დანართი PhidgetIR დაფის ირგვლივ, IR LED- ები შეიძლება ჩამოიშოროს და წებოთი იყოს შიგნითა მხარეს. PhidgetIR დაფა შეიძლება დამონტაჟდეს შუქდიოდების შორს, ცარიელი სივრცის გამოყენებით.
- PhidgetSBC4– ზე არსებული VINT Hub კონექტორები შეიძლება მოხრილი იყოს ზევით, რაც მაინც მისცემს წვდომას ღილაკზე კავშირებს და ასევე ხელს შეუშლის უფრო დიდი გარსების შექმნას.
მე ასევე გადავწყვიტე დავამატო ეტიკეტი ღილაკებისთვის და ეტიკეტი, სადაც მითითებულია ის მიმართულება, რომლის მიხედვითაც ის უნდა იყოს მიმართული ისე, რომ IR LED- ები იყოს სწორი მიმართულებით. დაბეჭდილი შიგთავსი ადგილობრივად შავი ABS პლასტმასისგან.
ნაბიჯი 4: შეკრება - ამოიღეთ LED- ები
IR LED- ები საბოლოოდ გადაბმული იქნებიან ხვრელებში შიგთავსის მხარეს. ეს ნიშნავს, რომ მათ ჯერ უნდა გაუყინონ თავი.
ნაბიჯი 5: შეკრება - დაამატეთ ხვრელების სათაურები
შემდეგი, ხვრელების სათაურები დაემატა იქ, სადაც იყო LED- ები, რამაც მათ ადვილად დაუკავშირა 4-პინიანი ჯუმბერის მავთულის გამოყენებით. გამოიყენეთ სითბოს შესამცირებელი მილები შემთხვევითი კონტაქტის თავიდან ასაცილებლად.
ნაბიჯი 6: შეკრება - მიამაგრეთ LED- ები
მიამაგრეთ LED- ები შიგთავსის მხარეს.
ნაბიჯი 7: შეკრება - მიამაგრეთ 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 ბრძანებები
აქ არის მაგალითი იმისა, თუ როგორ უნდა შექმნათ ბრძანება (ამ შემთხვევაში მოცულობის გაზრდის ბრძანება):
// 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
გირჩევთ:
Steam Punk თქვენი UPS თქვენი Wi-Fi მარშრუტიზატორის მუშაობის ხანგრძლივობის მისაღებად: 4 ნაბიჯი (სურათებით)
ორთქლით გაუშვით თქვენი UPS თქვენი Wi-Fi როუტერის მუშაობის ხანგრძლივობის მისაღებად: არის რაღაც ფუნდამენტურად უსიამოვნო იმაში, რომ თქვენი UPS გადააქციოს მისი 12V DC ბატარეის სიმძლავრე 220V AC სიმძლავრეზე, რათა თქვენს როუტერსა და ბოჭკოვან ONT- ს ტრანსფორმატორებს შეეძლოთ მისი დაბრუნება 12V DC! თქვენ ასევე წინააღმდეგი ხართ [ჩვეულებრივ
მარტივი ჟესტების კონტროლი - აკონტროლეთ თქვენი RC სათამაშოები თქვენი მკლავის მოძრაობით: 4 ნაბიჯი (სურათებით)
მარტივი ჟესტების კონტროლი - აკონტროლეთ თქვენი RC სათამაშოები თქვენი მკლავის მოძრაობით: კეთილი იყოს თქვენი მობრძანება #45 -ში. რამდენიმე ხნის წინ მე გავაკეთე BB8– ის სრულად სამუშაო RC ვერსია Lego Star Wars– ის ნაწილების გამოყენებით … https://www.instructables.com/id/Whats-Inside-My-R … როდესაც დავინახე რა მაგარი იყო Sphero- ს მიერ შექმნილი Force Band, ვიფიქრე: "კარგი, მე
აკონტროლეთ თქვენი LED- ები თქვენი ტელევიზიის დისტანციური მართვის საშუალებით ?! -- Arduino IR გაკვეთილი: 5 ნაბიჯი (სურათებით)
აკონტროლეთ თქვენი LED- ები თქვენი ტელევიზიის დისტანციური მართვის საშუალებით ?! || არდუინოს IR გაკვეთილი: ამ პროექტში მე გაჩვენებთ თუ როგორ გადავაყენე ჩემი ტელევიზორის დისტანციური მართვის უსარგებლო ღილაკები ტელევიზორის უკან LED- ების გასაკონტროლებლად. თქვენ ასევე შეგიძლიათ გამოიყენოთ ეს ტექნიკა ყველა სახის საგნების გასაკონტროლებლად ცოტაოდენი კოდის რედაქტირებით. ასევე ცოტას ვისაუბრებ თეორიაზე
Coco-Mic --- DIY Studio Quailty USB მიკროფონი (MEMS ტექნოლოგია): 18 ნაბიჯი (სურათებით)
Coco-Mic --- DIY Studio Quailty USB მიკროფონი (MEMS ტექნოლოგია): გამარჯობა ინსტრუქტორებო, საჰასი აქ. გსურთ ჩაწეროთ თქვენი აუდიო ფაილები პროფესიონალის მსგავსად? ალბათ ძალიან მოგეწონებათ … ისე … სინამდვილეში ყველას უყვარს. დღეს თქვენი სურვილები ახდება. აქ წარმოდგენილია Coco -Mic - რომელიც არა მხოლოდ აფიქსირებს კვალიფიკაციას
D4E1 - წვრილმანი - დამხმარე ტექნოლოგია: რეგულირებადი ინვალიდის ეტლის უჯრა: 7 ნაბიჯი (სურათებით)
D4E1 - წვრილმანი - დამხმარე ტექნოლოგია: რეგულირებადი ინვალიდის ეტლის უჯრა: კელეს აქვს თანდაყოლილი შეზღუდული შესაძლებლობები: დისკინეტიკური კვადრიპარეზი და არ შეუძლია დამოუკიდებლად ჭამა. მას სჭირდება მონიტორის, ოკუპაციური თერაპევტის დახმარება, რომელიც მას კვებავს. ამას მოყვება ორი პრობლემა: 1) საჭესთან დგას ოკუპაციური თერაპევტი