عادة لتلقي من اردوينو يتم استخدام إشارة الفيديو إما مع جهاز TellyMate خارجي أو مع مكتبة arduino-tvout. في الحالة الثانية ، لم تعد هناك حاجة إلى متحكم إضافي ، ولكن دقة الصورة صغيرة. مجموعة مكتبة MRETV التي وصفها Instructables باسم Mr. E ، يجمع بين مزايا كلتا الطريقتين: وحدة التحكم الدقيقة واحدة ، كما في الحالة الثانية ، والدقة هي نفسها كما في الأولى. ولكن هذا ليس كل شيء: في نفس الوقت ، في خلفية بعض المهام ، لا يمكنك إخراج صورة فحسب ، بل أيضًا صوت ستيريو ، بالإضافة إلى العمل مع أجهزة الإدخال.
بالطبع ، من Arduino أو لوحة متوافقة للتنفيذ المتزامن لكل هذا يتطلب الكثير من الموارد. لذلك ، تعمل مجموعة من المكتبات فقط مع اللوحات الأم استنادًا إلى وحدات التحكم الدقيقة ATmega168 و 328 و 2560. نحن لا نتحدث عن العمل مع اللوحات الأم على سبيل المثال مع وحدات التحكم الدقيقة ATmega8 أو ATtiny85 (على سبيل المثال ، Digispark).
لتوصيل الأجهزة الخارجية ، يقوم المعلم بجمع دوائر بسيطة على المقاومات والثنائيات والمكثفات. يبدأ بدائرة لالتقاط إشارة الفيديو. هذا هو أبسط خلاط ، يمزج إشارات السطوع والتزامن في نسبة معينة. تختلف الدوائر لأنواع مختلفة من الألواح فقط في أرقام الدبوس لإزالة هذه الإشارات.
يجمع المعلم هذا المخطط في خيارات لـ "الخزامى" و S-Video. في الحالة الثانية ، لا يتم إدخال دخل إشارة اللون ، لأسباب واضحة ،.
للتحقق من إخراج الفيديو في العمل ، يقوم المعالج بتثبيت المكتبات (الأرشيف معهم والأمثلة هي هنا، إصدار أحدث - هنا) في Arduino IDE يدويًا ، لن يعمل التثبيت التلقائي. للقيام بذلك ، يقوم بإغلاق كافة النوافذ المتعلقة بـ IDE ، ثم يضع المكتبات من الأرشيف في مجلد المكتبات لبيئة البرمجة هذه ، والأمثلة في مجلد الأمثلة الخاص به. وبداية ، يبدأ هذا الرسم التخطيطي:
# تضمين "MRETV.h"
# تتضمن "textfont.h"
char mystring [] = "Hello world"؛
إعداد باطل () {
Screen.begin (textfont ، mystring ، 2 * fontheight ، 6،30،30،1) ؛
}}
حلقة فارغة () {}
بعد التأكد من عرض عبارة "Hello world" على التلفزيون ، يختبر المعالج أمثلة:
SimpleDisplay.ino - واجهة I / O للمشاريع القائمة
TVText.ino - Arduino كبطاقة رسومات خارجية
TestPattern.ino - مخطط الاختبار
Bounce.ino - العمل مع الصور المتحركة والصور النقطية
إنه دور إخراج صوت ستيريو.هنا لا تحتاج إلى مزج الإشارات ، ولكن إذا قمت بتوصيل الرؤوس الديناميكية أو سماعات الرأس بشكل غير مباشر ، ولكن من خلال مكبر للصوت ، لا يمكنك الاستغناء عن مرشح تمرير منخفض. ومرة أخرى - الدائرة في نسختين ، اعتمادًا على وحدة التحكم الدقيقة التي يتم تصنيع اللوحة عليها:
يجمع هذا الجهاز أيضًا سيد:
ويحاول الأمثلة:
Arudion.ino - المنظم
ScreenTool.ino هي أداة مساعدة متعددة الوظائف تتطلب لوحة مفاتيح (انظر أدناه) أو محاكي طرفية على جهاز كمبيوتر
Ponguino.ino - يتطلب استنساخ Pong ، مع الصوت ، لوحة مفاتيح (انظر أيضًا أدناه).
المهمة التالية هي توصيل لوحة مفاتيح أو ماوس (ولكن ليس كلاهما في نفس الوقت) من معيار PS / 2 القديم. لا يزال هناك الكثير منهم.
يتعامل السيد أيضًا مع هذا:
الأمثلة هي نفسها في الأساس ، ولكن المحيط الجديد يفتح إمكانيات جديدة:
TVText.ino - الآن لا تسمح الوحدة الطرفية بعرض المعلومات فحسب ، بل تسمح أيضًا بإدخالها
ShootEmUp.ino - لعبة ، تحكم في مفاتيح الأسهم ، فقط ATmega328 و 2560
Ponguino.ino - الآن يمكنك اللعب: اضغط j ، ثم التحكم في مفاتيح WASD ، ثم عندما يحين الوقت لتوصيل أجهزة الاستشعار ، يمكنك إنشاء وحدات تحكم تناظرية
KeyboardTool.ino - أداة تطوير ScreenTool
Bounce.ino - من خلال توصيل لوحة المفاتيح ، يمكنك تجربة المزيد من التأثيرات
Arudion.ino - من خلال لوحة المفاتيح ، يمكنك تجربة المزيد من الوظائف ، كما يمكنك لعب نفسك كما هو الحال في مركب
كل هذا رائع ، ولكن بعد الأمثلة أريد أن أحاول استخدام وظائف MRETV في برامجي. يوصي المعالج بعدم استخدام شاشة منفذ Arduino IDE التسلسلي ، ولكن محاكي طرفي مع مجموعة أكثر تطورًا من الوظائف. يوضح ما يلي كيفية الوصول إلى وظائف المكتبة من البرامج الخاصة بك. يمكنك استخدام جميع الواجهات المذكورة أعلاه في وقت واحد ، واحدة في كل مرة أو في أي مجموعة.
العمل مع إخراج الفيديو:
يحاول المعالج توصيل العديد من أجهزة الاستشعار التناظرية التي يدعمها MRETV بـ Arduino. على سبيل المثال ، مقاوم متغير ، مقاوم حراري ، مقسم لقياس الجهد ، مستشعر الرطوبة ، الصمام الثنائي كمستشعر درجة الحرارة ، مقاوم ضوئي:
يجب أن تكون المستشعرات بحيث يقع جهد الدخل في النطاق من 0 إلى +1 V ، مع تحقيق أفضل دقة قياس. أمثلة:
Ponguino.ino - الآن يمكنك اللعب مع وحدة تحكم تناظرية
KeyboardTool.ino - انظر وظيفة القراءة من المدخلات التناظرية
من كابل محرك الأقراص الصلبة بواجهة IDE ، يقوم المعلم بعمل "حوض الاستشعار" - وهو محول للاتصال المريح بأجهزة الاستشعار التناظرية:
أمثلة للعمل معها:
KeyboardTool.ino - استخدم نفس الطريقة عند توصيل المستشعرات دون "حوض الاستشعار"
DiodeCalibration.ino - المعايرة التلقائية عند استخدام الثنائيات كمستشعرات دقيقة لدرجة الحرارة
إجراء المعايرة:
1. قم بتوصيل الثرمستور بـ A0 ، وهو مقاوم 10 kΩ بـ C0
2. قم بعمل مقسم جهد: مقاوم 2 كيلو أوم بسلاسة (ممكن من مقاومتين من 1 كيلو أوم) إلى A1 ، مقاوم 10 كيلو أوم إلى C1
3. قم بتوصيل من واحد إلى أربعة ثنائيات كمستشعرات حرارة لمقاومات A2 - A5 ، 10 كيلو أوم إلى C2 - C5.
أنت الآن جاهز للمعايرة.
تمت كتابة ملف MRETV.S في أداة التجميع ، ولن يتم تجميعه إلا عندما يكون في مجلد المكتبة. ملف MRETV.extensions مطلوب لتحديد الامتدادات التي سيتم استخدامها عند التحويل البرمجي.
التطبيق.
يستخدم MRETV إخراجًا تسلسليًا لإنشاء الفيديو ، ويمكن إرسال دفق بيانات عشوائي إلى شاشة المنفذ التسلسلي. يسمح لك المحول بالاختيار بين الأجهزة ونقل بيانات البرامج. في الحالة الثانية ، يتم تنفيذ الازدواج الكامل في وقت واحد مع إنشاء الفيديو.
يأتي اسم مجموعة المكتبة من لقب المطور Mr. E ، وتعني أيضًا رؤية انتقال Master Raster (الممتدة).