فهرست مطالب:

فناوری برای پدربزرگ شما: 13 مرحله (همراه با تصاویر)
فناوری برای پدربزرگ شما: 13 مرحله (همراه با تصاویر)

تصویری: فناوری برای پدربزرگ شما: 13 مرحله (همراه با تصاویر)

تصویری: فناوری برای پدربزرگ شما: 13 مرحله (همراه با تصاویر)
تصویری: (دوربین مخفی) صحنه هایی که اگرضبط دوربین نمیشد کسی آنرا باور نمی کرد!! 2024, نوامبر
Anonim
Image
Image

چند بار برای کمک به "مشکل فناوری" به خانه پدربزرگ و مادربزرگ خود مراجعه کرده اید که در نهایت یک کابل برق جدا شده ، یک باتری از راه دور خراب شده یا نتوانسته اید منبع تلویزیون خود را تغییر دهید؟ من می دانم که برای من ، این اغلب اتفاق می افتد. در حالی که بسیاری از مشکلات آنها را می توان با دویدن به فروشگاه برای برخی از AA های جدید حل کرد ، گاهی اوقات آنها می توانند از یک راه حل سفارشی تر سود ببرند.

به عنوان مثال ، پدربزرگ دوست دخترم یک تلویزیون جدید گرفت و ما سعی کردیم به او بیاموزیم که چگونه منبع را تغییر دهد تا بتواند بین DVD و تلویزیون جابجا شود - اما او نمی تواند آن را بفهمد. او همچنین با نقص بینایی سر و کار دارد و علاقه چندانی به تلاش برای به خاطر سپردن فرایندهای پیچیده ندارد ، او فقط می خواهد وقتی می خواهد برنامه هایش را تماشا کند. پس از تلاش برای توضیح آرام مراحل در آخرین ملاقات ما بدون موفقیت زیاد ، تصمیم گرفتم که او را از کنترل ساده دو دکمه شخصی خود بسازم. این به او این امکان را می دهد که منبع ورودی تلویزیون خود را بدون درد تغییر دهد و بین DVD های دوست داشتنی خود Matlock و Price به راحتی جابجا شود.

مرحله 1: مواد

  • PhidgetIR
  • PhidgetSBC4 (یا هر رایانه تخته ای مانند Raspberry Pi)
  • آهن لحیم کاری
  • برش های جانبی
  • استریپرهای سیم
  • سیم های جامپر
  • کابل یو اس بی
  • کابل فیجت
  • محفظه
  • سرفصل های سوراخ دار
  • لوله های کوچک کننده حرارتی

مرحله 2: برنامه ریزی

چاپ سه بعدی
چاپ سه بعدی

برای ایجاد کنترل از راه دور ، من نیاز به توانایی ارسال دستورات مادون قرمز مصرف کننده (CIR) به تلویزیون داشتم. تصمیم گرفتم از PhigetIR برای این کار استفاده کنم. PhidgetIR یک دستگاه USB کنترل شده است که قابلیت ارسال و دریافت دستورات CIR را دارد. من این را به چند دلیل انتخاب کردم:

  • من می خواستم این پروژه را در اسرع وقت به پایان برسانم و از آن استفاده کنم ، بنابراین فکر شکستن اسیلوسکوپ و تخته نان من جذاب نبود. همچنین ، چقدر محتمل است که مدارهای لحیم کاری شده من هنوز در یک یا دو سال کار کنند؟
  • PhidgetIR توانایی یادگیری دستورات CIR را دارد که توسعه را بسیار ساده می کند.
  • تقریباً می توانید از هر زبان برنامه نویسی اصلی با PhidgetIR استفاده کنید. این بدان معناست که من می توانم از جاوا استفاده کنم و کارها را سریع به پایان برسانم.
  • سرانجام ، من برای Phidgets کار می کنم ، بنابراین با API راحت هستم و همیشه وسایل یدکی در اطراف وجود دارد.

از آنجا که من استفاده از PhidgetIR را انتخاب کردم ، برای خاموش کردن آن به رایانه نیاز داشتم. من می خواستم این پروژه یک برنامه مستقل باشد ، درست مانند یک ریموت معمولی ، بنابراین یک دسکتاپ یا لپ تاپ خاموش بود. من استفاده از PhidgetSBC4 (رایانه تک بوردی که از Debian Linux استفاده می کند) را انتخاب کردم ، زیرا به من این امکان را داد که بدون هیچ سخت افزار اضافی با هر دو دکمه فشاری ارتباط برقرار کنم. آنها به سادگی می توانند مستقیماً به هاب داخلی VINT متصل شوند. توجه: برای این پروژه می توانید از رزبری پای نیز استفاده کنید. سرانجام ، علاوه بر اینکه از نظر عملکردی سالم هستم ، می خواستم این پروژه عالی به نظر برسد ، بنابراین تصمیم گرفتم که یک محفظه چاپ سه بعدی لازم باشد.

مرحله 3: چاپ سه بعدی

چاپ سه بعدی
چاپ سه بعدی
چاپ سه بعدی
چاپ سه بعدی

برای این پروژه ، Geomagic برای مدل سازی محوطه استفاده شد. فایلهای مرحله ای سه بعدی برای PhidgetIR و PhidgetSBC4 وجود دارد که روند را ساده می کند. در این مرحله تصمیماتی در مورد اندازه و عملکرد محفظه گرفته شد:

  • PhidgetIR دارای دو LED مادون قرمز است که برای ارسال دستورات باید به سمت تلویزیون نشان داده شوند. به جای طراحی محفظه در اطراف برد PhidgetIR ، LED های IR را می توان جدا کرد و به سوراخ های کنار محفظه چسباند. سپس می توانید برد PhidgetIR را دور از LED ها نصب کنید و از فضای خالی استفاده کنید.
  • کانکتورهای VINT Hub در PhidgetSBC4 می توانند به سمت بالا خم شوند ، که همچنان اجازه دسترسی به اتصالات دکمه را می دهد و همچنین از ایجاد محفظه بزرگتر جلوگیری می کند.

من همچنین تصمیم گرفتم یک برچسب برای دکمه ها و یک برچسب که جهت آن را نشان می دهد اضافه کنم تا LED های IR در جهت درست نشان داده شوند. من محوطه را از پلاستیک سیاه ABS چاپ کردم.

مرحله 4: مونتاژ - LED ها را بردارید

مونتاژ - LED ها را بردارید
مونتاژ - LED ها را بردارید
مونتاژ - LED ها را بردارید
مونتاژ - LED ها را بردارید
مونتاژ - LED ها را بردارید
مونتاژ - LED ها را بردارید

LED های IR در نهایت به سوراخ هایی در کنار محفظه چسبانده می شوند. این بدان معناست که ابتدا باید آنها را جدا کرد.

مرحله 5: مونتاژ - اضافه کردن سرفصل های سوراخ

مونتاژ - اضافه کردن سرفصل های سوراخ
مونتاژ - اضافه کردن سرفصل های سوراخ
مونتاژ - اضافه کردن سرفصل های سوراخ
مونتاژ - اضافه کردن سرفصل های سوراخ

در مرحله بعد ، سربرگ هایی که در آن LED ها قرار داشتند ، اضافه شدند ، که اتصال آنها را با استفاده از سیم بلوز 4 پین آسان می کند. برای جلوگیری از تماس تصادفی از لوله های کوچک کننده حرارتی استفاده کنید.

مرحله 6: مونتاژ - LED ها را وصل کنید

مونتاژ - LED ها را وصل کنید
مونتاژ - LED ها را وصل کنید
مونتاژ - LED ها را وصل کنید
مونتاژ - LED ها را وصل کنید

LED ها را در کنار محفظه بچسبانید.

مرحله 7: مونتاژ - PhidgetIR را وصل کنید

مونتاژ - PhidgetIR را وصل کنید
مونتاژ - PhidgetIR را وصل کنید
مونتاژ - PhidgetIR را وصل کنید
مونتاژ - PhidgetIR را وصل کنید
مونتاژ - PhidgetIR را وصل کنید
مونتاژ - PhidgetIR را وصل کنید

PhidgetIR را به محفظه وصل کرده و LED ها را وصل کنید.

مرحله 8: مونتاژ - افزودن دکمه ها

اسمبلی - افزودن دکمه ها
اسمبلی - افزودن دکمه ها
اسمبلی - افزودن دکمه ها
اسمبلی - افزودن دکمه ها
اسمبلی - افزودن دکمه ها
اسمبلی - افزودن دکمه ها

دکمه های فشار باید به هاب داخلی VINT در PhidgetSBC متصل شوند ، بنابراین من یک فیجت کابل را از وسط برش داده و انتهای آن را به دکمه ها لحیم کردم. توجه داشته باشید که فقط سیم سفید (سیگنال) و سیاه (زمین) مورد نیاز است.

مرحله 9: مونتاژ - کنار هم گذاشتن همه چیز

مونتاژ - کنار هم گذاشتن همه چیز
مونتاژ - کنار هم گذاشتن همه چیز
مونتاژ - کنار هم گذاشتن همه چیز
مونتاژ - کنار هم گذاشتن همه چیز

برای جمع آوری همه چیز ، برخی از مدیریت کابل مورد نیاز بود ، با این حال ، محفظه به خوبی کار می کرد.

مرحله 10: نرم افزار - کد

فقط یک فایل جاوا برای این پروژه مورد نیاز است که می توانید در اینجا پیدا کنید. این برنامه از یک شی PhidgetIR و دو شیء DigitalInput استفاده می کند. شما می توانید این اشیاء را به این شکل ایجاد کنید:

PhidgetIR ir = جدید PhidgetIR ()؛

DigitalInput tvButton = جدید DigitalInput ()؛ DigitalInput otherButton = جدید DigitalInput ()؛

اشیاء ورودی دیجیتال به یک دکمه فیزیکی در هاب VINT نقشه برداری می شوند. رویدادهای ضمیمه ، جدا ، خطا و تغییر حالت نیز در موارد زیر مشترک هستند:

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 = new DigitalInputStateChangeListener () {@OverridepublicvoidonStateChange (دیس دیجیتال DigitalPointChangeEvent) {

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 ())؛}}} ؛

هنگامی که یک دکمه فعال می شود ، کد رویداد اجرا شده و یک پرچم تنظیم می کند. این پرچم ها در حلقه اصلی ارجاع داده شده و تنظیم مجدد می شوند. حلقه اصلی به سادگی منتظر تغییر حالت دکمه است و سپس با استفاده از تابع انتقال که از API PhidgetIR در دسترس است ، دستورات IR را ارسال می کند.

while (true) {if (tvButtonActivated) {

tvButtonActivated = false؛ Log.log (LogLevel. INFO ، "CHANGING SOURCE - TV") ؛ ir.transmit (sourceButtonString ، codeInfo) ؛ موضوع. خواب (500) ؛ ir.transmit (rightButtonString ، codeInfo) ؛ موضوع. خواب (500) ؛ ir.transmit (enterButtonString، codeInfo)؛} if (otherButtonActivated) {otherButtonActivated = false؛ 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 جدید ()؛ String volumeUp = "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.repeat [0] = 9084؛ sourceButtonCI.repeat [1] = 2308؛ sourceButtonCI.repeat [2] = 549؛ sourceButtonCI.length = IRCodeLength. CONSTANT؛

برای به دست آوردن اطلاعات مربوط به این دستور ، من به سادگی از مثال PhidgetIR که همراه کتابخانه های Phidget ارائه می شود ، استفاده کردم. پس از نشان دادن ریموت به سمت PhidgetIR و پایین نگه داشتن دکمه افزایش صدا ، IR کد را "یاد می گیرد" و مثال را پر می کند. این اطلاعات را می توان به سادگی در کد کپی کرد.

مرحله 12: اجرای برنامه

فایل جاوا را می توان روی یک رایانه خارجی نوشت و کامپایل کرد. PhidgetRemote.java و phidget22.jar را در یک پوشه قرار دهید و دستور زیر را اجرا کنید:

Windowsjavac -classpath. ؛ phidget22.jar PhidgetRemote.java

macOS/Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java

پس از کامپایل ، فایلهای کلاس تولید شده را در PhidgetSBC4 کپی کرده و پیکربندی کنید تا در بوت اجرا شود.

مرحله 13: نتیجه

وقتی ریموت را به پدربزرگ دوست دخترم دادم و نحوه استفاده از آن را به او نشان دادم ، از ساده بودن آن شگفت زده شد. ویدیو را ببینید تا در عمل ببینید!

مسابقه کنترل از راه دور 2017
مسابقه کنترل از راه دور 2017
مسابقه کنترل از راه دور 2017
مسابقه کنترل از راه دور 2017

جایزه سوم در مسابقه کنترل از راه دور 2017

توصیه شده: