جدول المحتويات:
- الخطوة 1: المواد
- الخطوة الثانية: التخطيط
- الخطوة 3: طباعة ثلاثية الأبعاد
- الخطوة 4: التجميع - قم بإزالة المصابيح
- الخطوة 5: التجميع - أضف الرؤوس من خلال الفتحات
- الخطوة 6: التجميع - إرفاق المصابيح
- الخطوة 7: التجميع - إرفاق PhidgetIR
- الخطوة 8: التجميع - إضافة الأزرار
- الخطوة 9: التجميع - وضع كل شيء معًا
- الخطوة 10: البرنامج - كود
- الخطوة 11: البرنامج - أوامر CIR
- الخطوة 12: تشغيل البرنامج
- الخطوة 13: النتيجة
فيديو: تكنولوجيا لجدك: 13 خطوة (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
كم مرة ذهبت إلى منزل أجدادك للمساعدة في "مشكلة تقنية" انتهى بها الأمر إلى أن تكون كبل طاقة غير موصول أو بطارية جهاز تحكم عن بعد ميتة أو غير قادر على تبديل المصدر على تلفزيونهم؟ أعلم أن هذا يحدث كثيرًا بالنسبة لي. بينما يمكن حل معظم مشكلاتهم ببساطة عن طريق الذهاب إلى المتجر للحصول على بعض AAs الجديدة ، فقد يستفيدون في بعض الأحيان من حل أكثر تخصيصًا.
على سبيل المثال ، حصل جد صديقتي على جهاز تلفزيون جديد وحاولنا تعليمه كيفية تغيير المصدر حتى يتمكن من التبديل بين أقراص DVD والتلفزيون - لكنه لم يستطع اكتشاف ذلك. إنه يتعامل أيضًا مع ضعف البصر ولا يهتم كثيرًا بمحاولة تذكر العمليات المعقدة ، إنه يريد فقط مشاهدة عروضه عندما يريد ذلك. بعد محاولة شرح الخطوات بهدوء خلال زيارتنا الأخيرة دون نجاح كبير ، قررت أن أجعله جهاز التحكم عن بعد البسيط الخاص به. سيسمح له ذلك بتغيير مصدر الإدخال على تلفازه دون ألم ، والتبديل بين أقراص الفيديو الرقمية المحبوبة Matlock و Price is Right بكل سهولة.
الخطوة 1: المواد
- PhidgetIR
- PhidgetSBC4 (أو أي كمبيوتر لوحي واحد مثل Raspberry Pi)
- لحام حديد
- القواطع الجانبية
- أدوات تقشير الأسلاك
- أسلاك العبور
- كابل USB
- كابل Phidget
- نسيج
- موصلات عبر الفتحات
- أنابيب الانكماش الحراري
الخطوة الثانية: التخطيط
من أجل إنشاء جهاز التحكم عن بُعد ، كنت بحاجة إلى القدرة على إرسال أوامر الأشعة تحت الحمراء للمستهلك (CIR) إلى التلفزيون. قررت استخدام PhigetIR لهذه المهمة. PhidgetIR هو جهاز يتم التحكم فيه بواسطة USB ولديه القدرة على إرسال واستقبال أوامر CIR. اخترت هذا لعدة أسباب:
- كنت أرغب في إنهاء هذا المشروع في أقرب وقت ممكن واستخدامه ، لذلك لم تكن فكرة تفكيك مرسمة الذبذبات واللوح الخاص بي جذابة. أيضًا ، ما مدى احتمالية استمرار دوائري الملحومة يدويًا في العمل خلال عام أو عامين؟
- PhidgetIR لديه القدرة على "تعلم" أوامر CIR مما يجعل التطوير بسيطًا للغاية.
- يمكنك استخدام أي لغة برمجة سائدة تقريبًا مع PhidgetIR. هذا يعني أنه يمكنني استخدام Java وإنهاء الأمور بسرعة.
- أخيرًا ، أعمل في Phidgets ، لذلك أنا مرتاح لواجهة برمجة التطبيقات ، وهناك دائمًا أجهزة احتياطية موجودة.
لأنني اخترت استخدام PhidgetIR ، كنت بحاجة إلى جهاز كمبيوتر لتشغيله. أردت أن يكون هذا المشروع تطبيقًا قائمًا بذاته ، يشبه إلى حد كبير جهاز التحكم عن بعد العادي ، لذلك كان سطح المكتب أو الكمبيوتر المحمول خارجًا. اخترت استخدام PhidgetSBC4 (كمبيوتر لوحي واحد يعمل بنظام Debian Linux) ، لأنه سمح لي بالتفاعل مع كلا الأزرار الانضغاطية دون أي أجهزة إضافية. يمكن ببساطة توصيلها مباشرة بمركز VINT Hub المدمج. ملاحظة: يمكنك أيضًا استخدام Raspberry Pi لهذا المشروع. أخيرًا ، بالإضافة إلى كونه سليمًا وظيفيًا ، أردت أن يبدو هذا المشروع رائعًا ، لذلك قررت أن العلبة المطبوعة ثلاثية الأبعاد ستكون ضرورية.
الخطوة 3: طباعة ثلاثية الأبعاد
لهذا المشروع ، تم استخدام Geomagic لنمذجة العلبة. تتوفر ملفات خطوات ثلاثية الأبعاد لكل من PhidgetIR و PhidgetSBC4 مما سهل العملية. تم اتخاذ بعض القرارات خلال هذه الخطوة فيما يتعلق بحجم ووظيفة العلبة:
- يحتوي PhidgetIR على اثنين من مصابيح LED IR التي يجب أن تشير إلى التلفزيون لإرسال الأوامر. بدلاً من تصميم العلبة حول لوحة PhidgetIR ، يمكن فك مصابيح LED IR ولصقها في الفتحات الموجودة على جانب العلبة. يمكن بعد ذلك تركيب لوحة PhidgetIR بعيدًا عن مصابيح LED ، باستخدام المساحة الفارغة.
- يمكن ثني موصلات VINT Hub الموجودة على PhidgetSBC4 لأعلى ، مما سيسمح بالوصول لوصلات الأزرار ، كما سيمنع الاضطرار إلى إنشاء حاوية أكبر.
قررت أيضًا إضافة تسمية للأزرار وتسمية تشير إلى الاتجاه الذي يجب أن تواجهه بحيث يتم توجيه مصابيح LED للأشعة تحت الحمراء في الاتجاه الصحيح. لقد قمت بطباعة العلبة المحلية من بلاستيك ABS الأسود.
الخطوة 4: التجميع - قم بإزالة المصابيح
سيتم في النهاية لصق مصابيح LED بالأشعة تحت الحمراء في فتحات على جانب العلبة. هذا يعني أنهم يحتاجون أولاً إلى إزالة اللحام.
الخطوة 5: التجميع - أضف الرؤوس من خلال الفتحات
بعد ذلك ، تمت إضافة رؤوس من خلال الفتحات في مكان وجود مصابيح LED ، مما جعلها سهلة الاتصال باستخدام سلك توصيل ذي 4 سنون. استخدم أنابيب الانكماش الحراري لمنع التلامس العرضي.
الخطوة 6: التجميع - إرفاق المصابيح
قم بلصق مصابيح LED في جانب العلبة.
الخطوة 7: التجميع - إرفاق PhidgetIR
قم بتوصيل PhidgetIR بالعلبة ، وقم بتوصيل مصابيح LED.
الخطوة 8: التجميع - إضافة الأزرار
يجب توصيل الأزرار الانضغاطية بـ VINT Hub المدمج في PhidgetSBC ، لذلك قمت بقص كابل Phidget إلى النصف ولحمت الأطراف بالأزرار. لاحظ أنه يلزم فقط السلك الأبيض (الإشارة) والأسود (الأرضي).
الخطوة 9: التجميع - وضع كل شيء معًا
كانت هناك حاجة إلى بعض إدارة الكابلات من أجل تجميع كل شيء معًا ، ومع ذلك ، فإن العلبة تعمل بشكل جيد.
الخطوة 10: البرنامج - كود
لا يوجد سوى ملف Java واحد مطلوب لهذا المشروع يمكنك العثور عليه هنا. يستخدم البرنامج كائن PhidgetIR واحد وكائنين DigitalInput. يمكنك إنشاء هذه الكائنات مثل هذا:
PhidgetIR ir = new PhidgetIR () ؛
DigitalInput tvButton = New DigitalInput () ؛ DigitalInput otherButton = new 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 = new 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 ("Error:" + ex.getDescription ())؛}}}؛
عند تنشيط الزر ، سيتم تنفيذ رمز الحدث وتعيين علامة. ستتم الإشارة إلى هذه العلامات وإعادة تعيينها في الحلقة الرئيسية. تنتظر الحلقة الرئيسية ببساطة حدوث تغيير في حالة الزر ، ثم ترسل أوامر IR باستخدام وظيفة الإرسال المتوفرة من PhidgetIR API.
while (true) {if (tvButtonActivated) {
tvButtonActivate = خطأ ، Log.log (LogLevel. INFO، "تغيير المصدر - التلفزيون") ؛ ir.transmit (sourceButtonString ، codeInfo) ؛ Thread.sleep (500) ؛ ir.transmit (rightButtonString، codeInfo) ؛ Thread.sleep (500) ؛ ir.transmit (enterButtonString، codeInfo)؛} if (otherButtonActivated) {otherButtonActivated = false؛ Log.log (LogLevel. INFO، "تغيير المصدر - DVD") ؛ ir.transmit (sourceButtonString ، codeInfo) ؛ Thread.sleep (500) ؛ ir.transmit (leftButtonString ، codeInfo) ؛ Thread.sleep (500) ؛ ir.transmit (enterButtonString، codeInfo)؛} Thread.sleep (250) ؛}
الخطوة 11: البرنامج - أوامر CIR
فيما يلي مثال على كيفية إنشاء أمر (أمر رفع مستوى الصوت في هذه الحالة):
// كود IR
IRCodeInfo sourceButtonCI = new IRCodeInfo () ، String volumeUp = "77e1d0f0" ؛ // إعداد مصدر زر المصدرButtonCI.bitCount = 32 ؛ sourceButtonCI.encoding = IRCodeEncoding. SPACE ، sourceButtonCI.gap = 108921 ؛ sourceButtonCI.trail = 549 ؛ sourceButtonCI.zero = جديد [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: تشغيل البرنامج
يمكن كتابة ملف Java وتصنيفه على جهاز كمبيوتر خارجي. ضع PhidgetRemote.java و phidget22.jar في نفس المجلد وقم بتشغيل الأمر التالي:
Windowsjavac -classpath.؛ phidget22.jar PhidgetRemote.java
macOS / Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java
بعد التجميع ، انسخ ملفات الفئة التي تم إنشاؤها إلى PhidgetSBC4 ، وقم بتكوينها للتشغيل عند الإقلاع.
الخطوة 13: النتيجة
عندما أعطيت جهاز التحكم عن بعد لجد صديقتي وعرفته على كيفية استخدامه ، اندهش من مدى بساطته. تحقق من الفيديو لرؤيته في العمل!
الجائزة الثالثة في مسابقة التحكم عن بعد 2017
موصى به:
اختيار محرك خطوة ومحرك لمشروع شاشة الظل الآلي في Arduino: 12 خطوة (بالصور)
اختيار Step Motor و Driver لمشروع شاشة الظل الآلي من Arduino: في هذا Instructable ، سأنتقل إلى الخطوات التي اتخذتها لتحديد Step Motor و Driver لمشروع نموذج شاشة الظل الآلي. شاشات الظل هي طرازات Coolaroo ذات الكرنك اليدوية الشائعة وغير المكلفة ، وأردت استبدال
ماسح سيكلوب ثلاثي الأبعاد My Way خطوة بخطوة: 16 خطوة (بالصور)
Ciclop 3D Scanner My Way خطوة بخطوة: مرحبًا بالجميع ، سأدرك ماسح Ciclop ثلاثي الأبعاد الشهير ، كل الخطوات الموضحة جيدًا في المشروع الأصلي غير موجودة ، لقد قمت ببعض الإصلاح لتبسيط العملية ، أولاً أقوم بطباعة القاعدة ، وأعيد ضبط ثنائي الفينيل متعدد الكلور ، لكن استمر
واجهة خطوة MIDI: 12 خطوة (بالصور)
MIDI Step Interface: النسخة الإسبانية هنا. في هذا الدليل سوف نوضح لك كيفية إنشاء واجهة ضوئية وصوتية يمكن استخدامها للعب & quot؛ Simon Says & quot؛ وكواجهة MIDI. سيتم لعب كلا الوضعين بقدمك. خلفية المشروع ولد بسبب
تكنولوجيا DIY Definitive مكبر صوت CLR Clone HiFi: 11 خطوة
DIY Definitive Technology CLR Clone HiFi Speaker: شكرًا لك على 123Toid لهذا البناء !: Youtube - Website هل تريد إنشاء مكبر صوت HiFi الخاص بك؟ في هذا الفيديو ، أريكم كيفية إعادة إنشاء التكنولوجيا النهائية clr3000 وهي مكبر صوت مركزي أو يسار أو يمين. تحقق من مدى سهولة وتشي
تكنولوجيا عالية الصنوبر إبرة كامو رسمت كمبيوتر لاب توب: 5 خطوات
كمبيوتر محمول عالي التقنية بإبرة الصنوبر كامو: لقد انتهيت لتوي من إعداد جهاز Toshiba LapTop القديم الخاص بي مع Linux وكنت أبحث في موقع Instructable عندما صادفت النشر بواسطة "murph38_99. لم أكن أبحث حقًا عن طريقة أرسم مسدسًا ، لكن خطرت لي فكرة مجنونة و