جدول المحتويات:
- الخطوة الأولى: الدافع والمشكلة
- الخطوة 2: الحصول على معلومات Raw Bit من Basys USB
- الخطوة 3: تحليل معلومات Usb
- الخطوة 4: عرض الصورة المرسومة عبر VGA وتحرير ما يتم رسمه
- الخطوة 5: استمتع بإبداعك
فيديو: برنامج الرسم VGA: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
المشروع من إعداد: آدم كلاين ، إيان ستراشان ، براندون سلاتر
كان المشروع الذي شرعنا في إكماله هو تخزين المعلومات من ماوس USB وتحليلها وعرضها في شكل برنامج طلاء. الفكرة وراء المشروع هي أن تكون قادرًا على توصيل الماوس وكابلات VGA بلوحة Basys في منافذها المدمجة ، وعرض الماوس كمربع لوحة متحرك على الشاشة ، وتغيير الألوان المختلفة عند النقرات اليمنى واليسرى. تستخدم. في الأساس ، سنقوم بإنشاء برنامج تشغيل لاستخدام الماوس مع لوحة basys ، وجعل الشاشة بمثابة تحققنا من الوظائف. ما حدث بالفعل هو إنشاء برنامج رسم باستخدام لوحة basys كنظام إدخال ، ونظام التقاط بيانات شبه وظيفي للماوس.
في هذا الدليل ، سنقوم بتفصيل الخطوات من إدخال الماوس إلى إخراج vga.
الخطوة الأولى: الدافع والمشكلة
التحفيز:
كان الدافع الرئيسي لمشروعنا هو إنشاء محرك فأرة للوحة Basys3 بحيث يمكن لطلاب CPE 133 المستقبليين استخدامه لمشاريعهم النهائية في المستقبل. ومع ذلك ، فقد اتخذنا هذه الفكرة خطوة إلى الأمام من خلال إنشاء برنامج للرسم ، وهو برنامج يمكن للطلاب المستقبليين البناء عليه أيضًا.
مشكلة:
كانت المشكلة التي اكتشفناها أنه لا توجد وحدة ماوس واضحة جاهزة للتنزيل والاستخدام للوحة Basys3. لحل هذه المشكلة ، حاولنا إنشاء واحدة بأنفسنا. من خلال القيام بذلك ، كنا نسعى جاهدين لإنشاء وحدة ماوس تسمح للطلاب المستقبليين بتنفيذ مدخلات الماوس بسهولة أكبر في مشاريعهم.
الخطوة 2: الحصول على معلومات Raw Bit من Basys USB
- جاء الكثير مما فعلناه للماوس في هذا المشروع من وثائق Basys3. من الدليل الصغير على منفذ Basys USB في ملف pdf هذا ، وجدنا أن لوحة Basys بها ساعة مدمجة لقراءة البتات بالسرعة المناسبة من أجهزة USB.
- بشكل أساسي ، يرسل الماوس وحدات بت إلى USB بدءًا من حالة الخمول ، ويقرأ 32 بتًا تمثل حالة الفئران ، وموضع x ، وموضع y ، وينتهي أخيرًا بتة أخرى خاملة. للقيام بذلك ، يستخدم مكون إدخال الماوس سجل إزاحة وعداد 32 بت حيث يتم استخدام سجل الإزاحة لتخزين 32 بت من البيانات الواردة من الماوس ويتم استخدام عداد 32 بت لحساب عدد البتات التي يتم تخزينها مما يسمح بالحالة قم بالتسجيل لإعادة تعيين وتخزين المجموعة التالية المكونة من 32 بت واردة.
- يمكن تنزيل رمز سجل الإزاحة وعداد 32 بت وقارئ البيانات أدناه ، بالإضافة إلى ملف القيود الذي تم تكييفه مع استخدامنا لمنفذ USB كمدخل
الخطوة 3: تحليل معلومات Usb
- بعد إنشاء إدخال الماوس إلى مكون USB ، كانت الخطوة التالية هي إنشاء مكون معلومات بتات USB إلى متجه مما يجعل البيانات التي يتلقاها الماوس قابلة للقراءة من أجل vga.
- يستخدم هذا المكون آلة حالة تأخذ مجموعة البتات الناتجة عن طريق إدخال الماوس إلى USB وتتحرك عبر الحالات بناءً على ما إذا كانت وحدات البت الجديدة التي تغير حالة الماوس وموضعه قد تم إدخالها.
- يظهر هنا مخطط الكتلة لأول خطوتين من المشروع ، وملفي vhdl مخصصان لاختبار تنفيذ الماوس باستخدام مصابيح LED الأساسية (اختبار لم يتم تمريره للأسف مطلقًا) ولإرسال دفق البت من USB منفذ للسرعة وتحديد المتجهات التي يمكن لـ VGA استخدامها.
- الصورة بجوار مخطط الكتلة أعلاه هي لقطة صغيرة (لا تسمح لنا Instructables بعرض الصورة العريضة الكاملة) لمعلومات البت التي وجدناها في وثائق basys لإكمال هذه الخطوة.
الخطوة 4: عرض الصورة المرسومة عبر VGA وتحرير ما يتم رسمه
- يحتوي كبل VGA على 14 بت من الخرج ، و 4 بت لكل من الألوان الثلاثة وقليل للمزامنة الأفقية والمزامنة الرأسية.
-
OtherVGA هي وحدة VGA المتوفرة وتعمل على النحو التالي:
- يتم تقسيم الشاشة إلى كتل 40 × 30 من 16 × 16 بكسل لشاشة بدقة 640 × 480 كما هو موضح في الصورة أعلاه. تحدد الوحدة عنوان كتلة لتمثيل واحدة من 1200 كتلة على الشاشة. يتم تحديد عنوان الكتلة من خلال المعادلة التالية: العنوان = 40y + x
- يتم تمثيل اللون بإشارة 12 بت ترتبط بقيمة RRRRGGGGBBBB التي تلون الكتلة المحددة.
-
يعمل كود التحكم الخاص بنا ، VGAtest و VGAtestconst ، على النحو التالي:
- يقوم أولاً بتعيين الكتلة المحددة في مركز الشاشة.
- يتم تحديد لون الكتلة من خلال 12 مفتاح تبديل على اللوحة ، مع ضبط قيمة RRRRGGGGBBBB.
- تعمل أزرار الاتجاهات الأربعة الموجودة على اللوحة على تغيير العنوان المحدد. على سبيل المثال ، سيؤدي الضغط على الزر الأيمن إلى إضافة 1 إلى العنوان ، واختيار كتلة واحدة على يمين الكتلة السابقة. سيؤدي الضغط على الزر السفلي إلى إضافة 40 إلى العنوان ، واختيار الكتلة واحدة أسفل الكتلة السابقة.
- يستخدم زر الوسط لضبط كل قيم اللون على 0 عند الضغط عليه. من المفترض أن يتصرف هذا كزر محو يسهل على المستخدم استخدامه ، لذلك لا يتعين على المستخدم قلب كل مفتاح إلى 0 للمسح.
- الصورة الأخيرة هي مخطط الكتلة لوحدة التحكم. إنه عريض إلى حد ما لأنه يتضمن مكونات الوحدة وقد لا يتم عرضه بالكامل.
الخطوة 5: استمتع بإبداعك
مرتبط هنا عبارة عن لقطة زمنية سريعة للمتعة التي يمكنك الاستمتاع بها مع المشروع النهائي ، حتى باستخدام المفاتيح والأزرار الموجودة على لوحة الأساسيات كمدخلات.
شكرا للقراءة!
موصى به:
طريقتان لإنشاء تطبيق الرسم: 10 خطوات
طريقتان لإنشاء تطبيق الرسم: أعلم أن تطبيق الرسم هذا يحتوي فقط على شاشة 5 × 5 بكسل ، لذا لا يمكنك فعلاً تحقيق الكثير لكنها لا تزال ممتعة
برنامج الرسم Arduino TFT: 4 خطوات
برنامج Arduino TFT Drawing: يوضح هذا التعليمات الكود الذي يدخل في إنشاء برنامج رسم لشاشة Arduino TFT. هذا البرنامج فريد من نوعه ، لأنه يسمح بحفظ الرسم على بطاقة SD وتحميله لاحقًا لإجراء المزيد من التعديلات
برنامج Arduino Hang Guardian - برنامج Arduino Watchdog Timer التعليمي: 6 خطوات
برنامج Arduino Hang Guardian - برنامج Arduino Watchdog Timer التعليمي: مرحبًا بالجميع ، هذا يحدث لنا جميعًا. تقوم ببناء مشروع ، وتوصيل جميع المستشعرات بحماس ، وفجأة ، يتوقف Arduino ولا تتم معالجة أي مدخلات. "ما الذي يحدث؟" ، ستسأل وتبدأ في البحث في الكود الخاص بك ، فقط لإعادة
كيفية تحويل الحيوانات باستخدام برنامج جيمب (برنامج مجاني): 5 خطوات
كيفية تحويل الحيوانات باستخدام برنامج GIMP (برنامج مجاني): سوف أعلمك كيفية تحويل حيوانين خلال هذا التدريب. يمكنك استخدام طريقة التحويل هذه لأي حيوانات ، أو أي إبداع يمكنك التوصل إليه. أرني إبداعاتك ، باستخدام هذا الدليل السهل المتابعة! الأشياء المطلوبة: الكمبيوتر ، الإبداع
الغش في الرسم باستخدام برنامج جيمب: 6 خطوات
الغش في الرسم باستخدام GIMP: يخبر هذا Instructable الأشخاص الذين يعانون من الرديء في الرسم (مثل نفسي) كيفية صنع فن الخط ليتم استخدامه / تحريره في الوسائط الرقمية