সুচিপত্র:

ভিজিএ পেইন্টিং প্রোগ্রাম: 5 টি ধাপ
ভিজিএ পেইন্টিং প্রোগ্রাম: 5 টি ধাপ

ভিডিও: ভিজিএ পেইন্টিং প্রোগ্রাম: 5 টি ধাপ

ভিডিও: ভিজিএ পেইন্টিং প্রোগ্রাম: 5 টি ধাপ
ভিডিও: How to Share a Printer with Multiple Computers - একটি প্রিন্টারে সবগুলো কম্পিউটার থেকে প্রিন্ট !! 2024, জুলাই
Anonim
ভিজিএ পেইন্টিং প্রোগ্রাম
ভিজিএ পেইন্টিং প্রোগ্রাম

প্রকল্প দ্বারা: অ্যাডাম ক্লেইন, ইয়ান স্ট্রাচান, ব্র্যান্ডন স্লেটার

আমরা যে প্রকল্পটি সম্পূর্ণ করতে শুরু করেছি তা হল একটি USB মাউস থেকে একটি পেইন্টিং প্রোগ্রামের আকারে তথ্য সংরক্ষণ, বিশ্লেষণ এবং প্রদর্শন করা। প্রকল্পের পিছনে ধারণাটি হল মাউস এবং ভিজিএ কেবলগুলি তার অন্তর্নির্মিত পোর্টে বেসিস বোর্ডে প্লাগ করতে সক্ষম হওয়া, এবং মাউসটিকে মনিটরে একটি চলমান পেইন্টিং স্কোয়ার হিসাবে প্রদর্শন করা, বাম এবং ডান ক্লিকের সময় বিভিন্ন রং পরিবর্তন করা ব্যবহৃত মোটকথা, আমরা বেসিস বোর্ডের সাথে মাউস ব্যবহারের জন্য এবং মনিটরকে আমাদের কার্যকারিতা যাচাই করার জন্য একটি ড্রাইভার তৈরি করতে চাই। প্রকৃতপক্ষে যা ঘটছে তা হল একটি ইনপুট সিস্টেম হিসাবে বেসিস বোর্ডের সাথে একটি অঙ্কন প্রোগ্রাম তৈরি করা এবং মাউসের জন্য একটি আধা-কার্যকরী ডেটা ক্যাপচারিং সিস্টেম।

এই নির্দেশে, আমরা মাউস ইনপুট থেকে vga আউটপুট পর্যন্ত ধাপগুলি ভেঙে ফেলব।

ধাপ 1: প্রেরণা এবং সমস্যা

প্রেরণা এবং সমস্যা
প্রেরণা এবং সমস্যা

প্রেরণা:

আমাদের প্রকল্পের মূল প্রেরণা ছিল Basys3 বোর্ডের জন্য একটি মাউস ড্রাইভার তৈরি করা যা ভবিষ্যতে CPE 133 শিক্ষার্থীরা ভবিষ্যতে তাদের চূড়ান্ত প্রকল্পের জন্য ব্যবহার করতে পারবে। যাইহোক, আমরা একটি পেইন্টিং প্রোগ্রাম তৈরি করে এই ধারণাটি আরও এক ধাপ এগিয়ে নিয়েছি, যা ভবিষ্যতের শিক্ষার্থীরাও তৈরি করতে পারে।

সমস্যা:

আমরা যে সমস্যাটি আবিষ্কার করেছি তা হল Basys3 বোর্ডের জন্য ডাউনলোড এবং ব্যবহারের জন্য কোন স্পষ্ট মাউস মডিউল প্রস্তুত নেই। এই সমস্যা সমাধানের জন্য, আমরা নিজেরাই একটি তৈরি করার চেষ্টা করেছি। এটি করার মাধ্যমে, আমরা একটি মাউস মডিউল তৈরি করার চেষ্টা করছিলাম যা ভবিষ্যতের শিক্ষার্থীদের তাদের প্রকল্পগুলিতে মাউস ইনপুট আরও সহজে প্রয়োগ করতে দেবে।

ধাপ 2: বেসিস ইউএসবি থেকে কাঁচা বিট তথ্য পাওয়া

বেসিস ইউএসবি থেকে কাঁচা বিট তথ্য পাওয়া
বেসিস ইউএসবি থেকে কাঁচা বিট তথ্য পাওয়া
  • এই প্রকল্পে আমরা মাউসের জন্য যা করেছি তার বেশিরভাগই এসেছে Basys3 ডকুমেন্টেশন থেকে। সেই পিডিএফ -এ বেসিস ইউএসবি পোর্টের ছোট গাইড থেকে, আমরা দেখেছি যে ইউএসবি ডিভাইস থেকে সঠিক গতিতে বিট পড়ার জন্য বেসিস বোর্ডের একটি বিল্ট ইন ক্লক আছে।
  • মূলত, মাউস একটি নিষ্ক্রিয় অবস্থা থেকে শুরু করে ইউএসবিতে বিট পাঠায়, মাউসের স্থিতি, এক্স পজিশন এবং ওয়াই পজিশনের প্রতিনিধিত্বকারী 32 বিট পড়ে এবং শেষ পর্যন্ত অন্য একটি নিষ্ক্রিয় বিট দিয়ে শেষ হয়। এটি করার জন্য, মাউস ইনপুট উপাদানটি একটি শিফট রেজিস্টার এবং bit২ বিট কাউন্টার ব্যবহার করে যেখানে শিফট রেজিস্টারটি মাউস থেকে b২ বিট ইনকামিং ডেটা সংরক্ষণ করতে ব্যবহৃত হয় এবং bit২ বিট কাউন্টার ব্যবহার করে রাজ্যের অনুমতি দেওয়া বিট সংখ্যা গণনা করা হয়। পুনরায় সেট করার জন্য নিবন্ধন করুন এবং 32 টি ইনকামিং বিটের পরবর্তী সেট সংরক্ষণ করুন।
  • শিফট রেজিস্টারের কোড, bit২ বিট কাউন্টার এবং ডাটা রিডার নীচে ডাউনলোড করা যায়, সেইসাথে আমাদের ইউএসবি পোর্টের ইনপুট হিসেবে ব্যবহারের সীমাবদ্ধতা ফাইল

ধাপ 3: ইউএসবি তথ্য বিশ্লেষণ

ইউএসবি তথ্য বিশ্লেষণ
ইউএসবি তথ্য বিশ্লেষণ
ইউএসবি তথ্য বিশ্লেষণ
ইউএসবি তথ্য বিশ্লেষণ
  • ইউএসবি কম্পোনেন্টে মাউস ইনপুট তৈরির পর, পরবর্তী ধাপটি ছিল ভেক্টর ইনফরমেশন কম্পোনেন্টে ইউএসবি বিট তৈরি করা যা ভিজিএর জন্য মাউস দ্বারা প্রাপ্ত ডেটা পাঠযোগ্য করে তুলবে।
  • এই উপাদানটি একটি স্টেট মেশিন ব্যবহার করে যা মাউস ইনপুট দ্বারা ইউএসবিতে আউটপুট করা বিটের সেট নেয় এবং মাউসের অবস্থা এবং অবস্থান পরিবর্তনকারী নতুন বিটগুলি ইনপুট করা হয়েছিল কিনা তার উপর ভিত্তি করে রাজ্যের মধ্য দিয়ে যায়।
  • প্রকল্পের প্রথম দুই ধাপের জন্য ব্লক ডায়াগ্রামটি এখানে দেখানো হয়েছে, এবং দুটি vhdl ফাইলগুলি বেসিস এলইডি (একটি পরীক্ষা যা দুর্ভাগ্যক্রমে কখনো পাস হয়নি) এবং ইউএসবি থেকে বিট স্ট্রিম কাস্টিং ব্যবহার করে মাউস বাস্তবায়ন পরীক্ষা করার জন্য। ভিজিএ ব্যবহার করতে পারে এমন গতি এবং অবস্থানের জন্য পোর্ট।
  • এই ধাপটি সম্পন্ন করার জন্য বেসিস ডকুমেন্টেশনে আমরা যে বিট তথ্য পেয়েছি তার উপরের একটি ছোট স্ন্যাপশট (Instructables আমাদের সম্পূর্ণ বিস্তৃত ছবি প্রদর্শন করার অনুমতি দিচ্ছে না) উপরের চিত্রটি।

ধাপ 4: ভিজিএর উপর আঁকা ছবি প্রদর্শন করা এবং কী আঁকা হচ্ছে তা সম্পাদনা করা

VGA এর উপর আঁকা ছবি প্রদর্শন করা এবং কী আঁকা হচ্ছে তা সম্পাদনা করা
VGA এর উপর আঁকা ছবি প্রদর্শন করা এবং কী আঁকা হচ্ছে তা সম্পাদনা করা
VGA এর উপর আঁকা ছবি প্রদর্শন করা এবং কী আঁকা হচ্ছে তা সম্পাদনা করা
VGA এর উপর আঁকা ছবি প্রদর্শন করা এবং কী আঁকা হচ্ছে তা সম্পাদনা করা
VGA এর উপর আঁকা ছবি প্রদর্শন করা এবং কী আঁকা হচ্ছে তা সম্পাদনা করা
VGA এর উপর আঁকা ছবি প্রদর্শন করা এবং কী আঁকা হচ্ছে তা সম্পাদনা করা
  • ভিজিএ কেবলটিতে 14 বিট আউটপুট, তিনটি রঙের প্রত্যেকটির জন্য 4 বিট এবং অনুভূমিক সিঙ্ক এবং উল্লম্ব সিঙ্কের জন্য একটি বিট রয়েছে।
  • অন্যান্যভিজিএ প্রদত্ত ভিজিএ মডিউল এবং এটি নিম্নলিখিত হিসাবে কাজ করে:

    • উপরের ছবিতে দেখানো মনিটরটি 640x480 রেজোলিউশনের স্ক্রিনের জন্য 16x16 পিক্সেলের 40x30 ব্লকে বিভক্ত। মডিউলটি মনিটরের 1200 টি ব্লকের একটিকে প্রতিনিধিত্ব করার জন্য একটি ব্লক ঠিকানা নির্বাচন করে। নিম্নলিখিত সমীকরণের মাধ্যমে ব্লক ঠিকানা নির্বাচন করা হয়: ঠিকানা = 40y + x
    • রঙটি একটি 12 বিট সংকেত দ্বারা প্রতিনিধিত্ব করা হয় যা একটি RRRRGGGGBBBB মানের সাথে সম্পর্কযুক্ত যা নির্বাচিত ব্লককে রঙ করে।
  • আমাদের নিয়ন্ত্রণ কোড, VGAtest এবং VGAtestconst, নিম্নলিখিত হিসাবে কাজ করে:

    • এটি প্রথমে নির্বাচিত ব্লকটিকে মনিটরের কেন্দ্রে সেট করে।
    • ব্লকের রঙ RRRRGGGGBBBB মান নির্ধারণ করে বোর্ডে 12 টি সুইচ দ্বারা নির্ধারিত হয়।
    • বোর্ডে চারটি নির্দেশমূলক বোতাম নির্বাচিত ঠিকানা পরিবর্তন করে। উদাহরণস্বরূপ, ডান বোতাম টিপলে ঠিকানায় 1 যুক্ত হবে, আগের ব্লকের ডানদিকে ব্লক এক নির্বাচন করুন। ডাউন বাটনে চাপ দিলে ঠিকানায় 40 যোগ হবে, আগের ব্লকের নিচে একটি ব্লক নির্বাচন করা হবে।
    • সেন্টার বোতাম টিপলে সমস্ত রঙের মান 0 এ সেট করতে ব্যবহৃত হয়। এটি একটি মুছে ফেলার বোতাম হিসাবে ব্যবহার করার জন্য বোঝানো হয়েছে যা ব্যবহারকারীর পক্ষে ব্যবহার করা সহজ, তাই ব্যবহারকারীকে মুছে ফেলার জন্য প্রতিটি সুইচ 0 এ ফ্লিপ করতে হবে না।
  • শেষ চিত্রটি নিয়ামকের জন্য ব্লক ডায়াগ্রাম। এটি মোটামুটি বিস্তৃত কারণ এতে মডিউলের উপাদানগুলি অন্তর্ভুক্ত রয়েছে এবং পুরোপুরি প্রদর্শিত নাও হতে পারে।

ধাপ 5: আপনার সৃষ্টি উপভোগ করুন

এখানে সংযুক্ত করা হল চূড়ান্ত প্রকল্পের সাথে আপনি যে মজা পেতে পারেন তার একটি দ্রুত টাইমল্যাপ, এমনকি ইনপুট হিসাবে বেসিস বোর্ডে সুইচ এবং বোতামগুলি ব্যবহার করেও।

পড়ার জন্য ধন্যবাদ!

প্রস্তাবিত: