সুচিপত্র:

মাইক্রো: বিট এমইউ ভিশন সেন্সর - ট্র্যাকিং অবজেক্টস: 6 ধাপ
মাইক্রো: বিট এমইউ ভিশন সেন্সর - ট্র্যাকিং অবজেক্টস: 6 ধাপ

ভিডিও: মাইক্রো: বিট এমইউ ভিশন সেন্সর - ট্র্যাকিং অবজেক্টস: 6 ধাপ

ভিডিও: মাইক্রো: বিট এমইউ ভিশন সেন্সর - ট্র্যাকিং অবজেক্টস: 6 ধাপ
ভিডিও: BBC Micro:bit V2 Introduction And Features - From Kitronik 2024, নভেম্বর
Anonim
মাইক্রো: বিট এমইউ ভিশন সেন্সর - ট্র্যাকিং অবজেক্টস
মাইক্রো: বিট এমইউ ভিশন সেন্সর - ট্র্যাকিং অবজেক্টস

মাইক্রো: বিটের জন্য এমইউ ভিশন সেন্সরের জন্য এটি আমার চতুর্থ নির্দেশিকা। এখানে আমি মাইক্রো: বিট দিয়ে বস্তুগুলি কীভাবে ট্র্যাক করব তা জানব এবং একটি OLED স্ক্রিনে স্থানাঙ্কগুলি লিখব। আমি মাইক্রো: বিটকে এমইউ ভিশন সেন্সর এবং ওএলইডি -তে কীভাবে সংযুক্ত করতে হয় এবং কীভাবে সঠিক এক্সটেনশন পেতে হয়, এটি প্রোগ্রাম করার জন্য আমি আমার অন্যান্য গাইডে গিয়েছি। আমি এখনও এই গাইডে এটি ব্যাখ্যা করব, তবে কিছুটা দ্রুত।

সরবরাহ

1 x বিবিসি মাইক্রো: বিট

1 x Morpx Mu Vision Sensor 3

1 x মাইক্রো: বিট ব্রেকআউট বোর্ড - এটি 19 এবং 20 পিন অ্যাক্সেস করতে হবে, যা সব ব্রেকআউট বোর্ডের নেই। আমি ইলেকফ্রিক্স মোটরবিট ব্যবহার করি, কারণ আমি সেই বোর্ডটি পছন্দ করি।

8 x জাম্পার তার (মহিলা-মহিলা)

1 x OLED স্ক্রিন

ধাপ 1: ধাপ 1: সেন্সর সেট আপ

ধাপ 1: সেন্সর সেট আপ
ধাপ 1: সেন্সর সেট আপ

আমরা কিছু সংযোগ শুরু করার আগে আমরা সেন্সর সঠিকভাবে সেটআপ করতে চাই।

মু ভিশন সেন্সরটিতে 4 টি সুইচ রয়েছে। বাম দিকের দুজন তার আউটপুট মোড এবং ডান দুটি তার ঠিকানা নির্ধারণ করে। যেহেতু আমরা ঠিকানাটি 00 হতে চাই, তাই ডান দিকের দুটি সুইচ বন্ধ করা উচিত। বিভিন্ন আউটপুট মোড হল:

00 UART

01 I2C

10 ওয়াইফাই ডেটা ট্রান্সমিশন

11 ওয়াইফাই পিকচার ট্রান্সমিশন

আমরা একটি সিরিয়াল সংযোগ ব্যবহার করতে চাই, কারণ OLED স্ক্রিনকে মাইক্রো: বিটস শুধুমাত্র I2C পিনের প্রয়োজন, তাই আমরা UART মোডে কাজ করতে যাচ্ছি। এর মানে হল যে দুটি সুইচ 00 এ থাকা উচিত, তাই উভয়ই বন্ধ থাকা উচিত।

ধাপ 2: ধাপ 2: তারের

ধাপ 2: তারের
ধাপ 2: তারের

ওয়্যারিং বেশ সহজ, আমাদের ব্রেকআউট বোর্ডের সাথে মু সেন্সর সংযোগ করতে চারটি জাম্পার তার ব্যবহার করুন। সাহায্যের জন্য ধাপ 1 এ ছবিটি দেখুন।

মু সেন্সর -> ব্রেকআউট বোর্ড

RX-> পিন 13

TX -> পিন 14

জি -> গ্রাউন্ড

V -> 3.3-5V

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

OLED -> ব্রেকআউট বোর্ড

ভিন -> 3.3 ভি

GND -> GND

এসসিএল -> পিন 19

এসসিডি -> পিন 20

ধাপ 3: এক্সটেনশনগুলি পাওয়া

এক্সটেনশন পাওয়া
এক্সটেনশন পাওয়া
এক্সটেনশন পাওয়া
এক্সটেনশন পাওয়া
এক্সটেনশন পাওয়া
এক্সটেনশন পাওয়া
এক্সটেনশন পাওয়া
এক্সটেনশন পাওয়া

প্রথমে আমরা মেককোড এডিটরে যাই এবং একটি নতুন প্রকল্প শুরু করি। আমরা তারপর "উন্নত" এ যান এবং "এক্সটেনশন" নির্বাচন করি। সচেতন থাকুন যেহেতু আমি ড্যানিশ, এই বোতামগুলির ছবিগুলিতে কিছুটা আলাদা নাম রয়েছে। এক্সটেনশনে আমরা "মুভিশন" অনুসন্ধান করি এবং শুধুমাত্র প্রাপ্ত ফলাফল নির্বাচন করি। আমরা তারপর এক্সটেনশনে ফিরে যাই এবং oled12864 অনুসন্ধান করি এবং OLED12864_I2C এক্সটেনশন নির্বাচন করি।

ধাপ 4: শুরুতে কোডিং

কোডিং- শুরুতে
কোডিং- শুরুতে

এই প্রোগ্রামের প্রথম ব্লকটি মাইক্রোকে বলে: বিট কোন সিরিজের সংযোগের জন্য এটি ব্যবহার করা উচিত। MU ভিশন সেন্সর সংযুক্ত করার সময় যদি আপনি আমার মত একই পিন ব্যবহার করেন, তাহলে আপনি TX কে 13 পিন এবং RX 14 পিনে সেট করতে চান। 9600 সেট করা উচিত।

পরবর্তী ব্লকটি OLED স্ক্রিন এবং মাইক্রো: বিট এর মধ্যে I2C সংযোগ শুরু করে। ঠিকানাটি OLED হার্ডওয়্যারের উপর নির্ভর করে। এটি প্রায়শই 60, তবে কিছু OLED স্ক্রিনের জন্য এটি 61 বা অন্যান্য সংখ্যা হতে পারে।

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

পরবর্তী ব্লক, প্রথম কমলা ব্লক, MU ভিশন সেন্সর এবং মাইক্রো: বিট এর মধ্যে সিরিয়াল সংযোগ শুরু করে।

পরবর্তী ব্লক সমস্যা সমাধানের জন্য একটি শো নম্বর ব্লক।

পরবর্তী ব্লক, যা দ্বিতীয় কমলা ব্লক হওয়া উচিত, এমইউ সেন্সরকে শেপ কার্ড অ্যালগরিদম সক্ষম করতে বলে।

শেষ ব্লকটি সমস্যা সমাধানের জন্য একটি শো নম্বর ব্লক।

ধাপ 5: কোডিং - চিরকালের লুপ

কোডিং - চিরকালের লুপ
কোডিং - চিরকালের লুপ
কোডিং - চিরকালের লুপ
কোডিং - চিরকালের লুপ

আমরা একটি if-else ব্লক, একটি deteck আকৃতি কার্ড ব্লক দিয়ে প্রোগ্রাম শুরু করি।

শনাক্তকরণ কার্ডটি 0 বা 1 দেয়। যদি একটি আকৃতি কার্ড সনাক্ত করা হয় তবে আমরা একটি 1 (সত্য) এবং 0 (মিথ্যা) পাই যদি একটি নম্বর কার্ড সনাক্ত না হয়। আমাদের এটি অন্তর্ভুক্ত করতে হবে, কারণ আমাদের আকৃতি কার্ডের অ্যালগরিদম সর্বদা সর্বশেষ সনাক্তকৃত আকৃতি কার্ডগুলিতে চলবে। সুতরাং আমরা যদি কখনও কোন শেপকার্ড সনাক্ত না করি, তাহলে আমরা সত্যিই অ্যালগরিদমগুলি চালাতে পারি না।

সত্য বিবৃতিতে প্রথম ব্লকটি OLED স্ক্রিনকে স্ক্রিনের উপরের বাম কোণে একটি W (প্রস্থের জন্য) লিখতে বলে। অবস্থান (0, 0)।

পরবর্তী ব্লক ওএলইডি স্ক্রিনকে শেপ কার্ড উইথডথ অ্যালগরিদম থেকে ডব্লিউ পজিশনের (2, 0) ডানদিকে নম্বরটি লিখতে বলে। এই সংখ্যাটি আমাদের বলে যে আকৃতি কার্ডটি কত প্রস্থ।

কর্মসূচি এভাবেই চলতে থাকে।

প্রথমে একটি ব্লক যা OLED স্ক্রিনকে একটি চিঠি লিখতে বলে। উচ্চতার জন্য H (5, 0)। (0, 2) এ X- অবস্থানের মান জন্য X। Y- পজিশন ভ্যালুর জন্য Y (5, 2)

তারপরে একটি দ্বিতীয় ব্লক যা OLED স্ক্রিনকে শেপ কার্ড অ্যালগরিদম থেকে প্রাপ্ত একটি নম্বর লিখতে বলে। কার্ডের উচ্চতা (7, 0)। কার্ড এক্স-পজিশনে (2, 2)। কার্ড Y- অবস্থান (7, 2)।

সুতরাং যখন আমরা প্রোগ্রামটি চালাই এবং এমইউ ভিশন সেন্সর একটি শেপকার্ড সনাক্ত করে তখন এটি আমাদের কার্ডের প্রস্থ, উচ্চতা এবং অবস্থান দেবে।

সম্পূর্ণ প্রোগ্রাম এখানে পাওয়া যাবে।

ধাপ 6: পরীক্ষা

ভিডিওটি দেখতে কিছুটা কঠিন হতে পারে, কিন্তু যখন আমি কার্ডটি পাশ থেকে অন্য দিকে সরাই তখন X- মান পরিবর্তন হয়। কার্ডটি উপরে এবং নিচে সরানো Y- মান পরিবর্তন করে। কার্ডটি এমইউ ভিশন সেন্সরের কাছাকাছি এবং দূরে সরানো উচ্চতা এবং প্রস্থের মান পরিবর্তন করে।

অন্যান্য জিনিসগুলি সনাক্ত করতে এই প্রোগ্রামটি ব্যবহার করা বেশ সহজ। আপনি যা সনাক্ত করতে চান তাতে কেবল "আকৃতি কার্ড" পরিবর্তন করুন। এটি রঙিন ব্লক, বল, বডি, নম্বর কার্ড এবং ট্রাফিক কার্ড দিয়ে কাজ করা উচিত।

প্রস্তাবিত: