সুচিপত্র:

CMUCam2 কে OOPIC- এ ইন্টারফেস করা: 5 টি ধাপ
CMUCam2 কে OOPIC- এ ইন্টারফেস করা: 5 টি ধাপ

ভিডিও: CMUCam2 কে OOPIC- এ ইন্টারফেস করা: 5 টি ধাপ

ভিডিও: CMUCam2 কে OOPIC- এ ইন্টারফেস করা: 5 টি ধাপ
ভিডিও: শায়েখ জসিম উদ্দিন (হাফিজাহুল্লাহ) কে নিয়ে মিশ্র মতামত 2024, জুলাই
Anonim

লেখক দ্বারা আরো অনুসরণ করুন:

I2C ব্যবহার করে দুটি OOBoards একসাথে সংযুক্ত করা
I2C ব্যবহার করে দুটি OOBoards একসাথে সংযুক্ত করা
I2C ব্যবহার করে দুটি OOBoards একসাথে সংযুক্ত করা
I2C ব্যবহার করে দুটি OOBoards একসাথে সংযুক্ত করা

কিভাবে একটি CMUCam2 এবং OOPIC কে ইন্টারফেস করবেন তার ওভারভিউ।

ধাপ 1: অ্যাডাপ্টার কেবল তৈরি করা

অ্যাডাপ্টার কেবল তৈরি করা
অ্যাডাপ্টার কেবল তৈরি করা

1. গোটো রেডিওশ্যাক করুন এবং এর মধ্যে 2 টি কিনুন: পুরুষ DB-9 সোল্ডার কাপ সংযোগকারী 2। সংযোজক এ সোল্ডার পিন 5 কানেক্টর বি তে 5 পিন (যদি আপনি কানেক্টরের দিকে সাবধানে তাকান, সেগুলি চিহ্নিত করা হয়) 3। সোল্ডার পিন 2 কানেক্টর এ -তে পিন 3 থেকে কানেক্টর বি (যদি আপনি কানেক্টরের দিকে মনোযোগ দিয়ে দেখেন, সেগুলো চিহ্নিত করা থাকে) 4। সংযোজক এ সোল্ডার পিন 3 সংযোগকারী বি তে 2 পিন করতে

ধাপ 2: CMUCam এ Baud Rate পরিবর্তন করুন

CMUCam এ Baud Rate পরিবর্তন করুন
CMUCam এ Baud Rate পরিবর্তন করুন

CMUCamera এর baud রেট 9600 baud এ পরিবর্তন করুন (0 অবস্থানে একটি জাম্পার যোগ করুন)।

ধাপ 3: স্ট্যান্ডার্ড প্রোগ্রামিং কেবল এবং আপলোড কোড সংযুক্ত করুন

স্ট্যান্ডার্ড প্রোগ্রামিং কেবল এবং আপলোড কোড সংযুক্ত করুন
স্ট্যান্ডার্ড প্রোগ্রামিং কেবল এবং আপলোড কোড সংযুক্ত করুন

স্ট্যান্ডার্ড প্রোগ্রামিং ক্যাবল সংযুক্ত করুন এবং আপনার কোড আপলোড করুন। আপনাকে শুরু করার জন্য এখানে কিছু উদাহরণ কোড আছে এই কোডটি LF এবং FD কমান্ড ব্যবহার করে গতি ট্র্যাক করবে। এটি আইওলাইন 7 (একটি এলইডি পর্যন্ত সংযুক্ত) টগল করবে এবং সিএমইউক্যামে এলইডি ট্র্যাকিং স্ট্যাটাস মিরর করবে।

& apos ******** সিরিয়াল পোর্ট সম্পর্কিত বস্তু ******** Dim serialPort New oSerialPortDim txBuff হিসাবে নতুন oBuffer27 এবং aposchange 27 বাফারকে বড়/ছোট করার জন্য dim rxBuff নতুন oBuffer10Dim serialActive_LED নতুন oDIO1Dim টগল হিসাবে Serial_Button As নতুন oDIO1Dim toggleSerial_Event হিসাবে নতুন oEventDim toggleSerial_Wire নতুন oWireDim সিরিয়াল হিসেবে Receive_Event নতুন oEventDim serialReceive_Wire হিসাবে নতুন oWire এবং apos ******** ডিবাগ সম্পর্কিত বস্তু ******** নতুন ODIO1 এবং apos ****** ****************************************** এবং apos*জেনেরিক সাবরুটিন*এবং apos ****** *********************************** শুধুমাত্র ভর কেন্দ্র CMUCAM_setOutputMask (2, 3) অনুসরণ করুন এবং aposload আমাদের প্রাথমিক পার্থক্য ফ্রেম CMUCAM_loadDiffFrame () এবং aposstart পার্থক্য গণনা CMUCAM_startDiffCalc (10) শেষ SubSub main_init এবং aposinitialize একটি স্থিতি LED statLED. IolinOtin সিরিয়াল = সিরিয়াল) শেষ সু b & aposprocesses প্যাকেট পেয়েছে Sub processPacket () Dim mx As Byte Dim my As Byte & aposcheck for Mx এবং My 0 এবং aposgranted যদি তারা 0 না হয়, লোকেশন বন্ধ থাকবে (অর্থাৎ & aposT 12 34) & aposbut তারপর তারা জিতবে এবং apost 0 মানদণ্ড rxBuff পূরণ করবে অবস্থান = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe led কে ক্যামেরায় ট্র্যাকিং LED এর সাথে মিলিত হওয়া উচিত যদি (mx = "0") এবং (my = "0") statLED = 0 অন্যথায় STLED = 1 শেষ হলে শেষ সাব এবং apos ******************************************** **** এবং apos*CMU ক্যাম ফাংশন*এবং apos ***************************************** ******* এবং apossets প্রদত্ত নেতৃত্বে চালু, বন্ধ, স্বয়ংক্রিয় এবং aposparam নেতৃত্বে নেতৃত্বের সংখ্যা (0, 1) এবং aposparam ভ্যাল অফ, অন, অটো (0, 1, 2) ফাংশন CMUCAM_ledSet (ledNum As Byte, val as Byte যেহেতু বাইট এবং aposVString নতুন কম্পাইলারে কাজ করছিল না এবং apost … পুরোনো ও apostxBuff. VString = "L0 0" এবং apossetup আমাদের কমান্ড স্ট্রিং ম্যানুয়ালি txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe tr $ ফাংশন sucks … তাই এখন এটি হচ্ছে = 13 & apossend কমান্ড serial_SendBufferEnd Sub & aposloads প্রাথমিক পার্থক্য ফ্রেম সাব CMUCAM_loadDiffFrame () এবং apossetup আমাদের কমান্ড স্ট্রিং ম্যানুয়ালি txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = TuffLub 2 মান = 13 & apossend কমান্ড serial_SendBufferEnd উপ এবং aposstarts হিসাব করে ফ্রেম পার্থক্য এবং aposparam থ্রেশহোল্ড (0-9) সাব CMUCAM_startDiffCalc (ব্রেট হিসাবে থ্রেশ) ডিম টেনস বাইট হিসাবে স্থান = serial_toChar (thresh-tens) txBuff. Location = 5 txBuff. Value = 1 3 & apossend কমান্ড serial_SendBufferEnd সাব & apossets আউটপুট মাস্ক এবং aposparam প্যাকেট টাইপ করুন প্যাকেটের ধরন মাস্ক (0, 1, 2, ইত্যাদি) পৃষ্ঠা 46 দেখুন এবং aposparam মাস্ক মাস্ক প্রয়োগ করার জন্য মান (0-255) সাব CMUCAM_setOutputMask (প্যাকেট টাইপ As Byte, মাস্ক বাইট) যেহেতু বাইট ডিম দশ বাইট এবং apossetup আমাদের কমান্ড স্ট্রিং ম্যানুয়ালি txBuff. Location = 0 txBuff. Value = "O" txBuff. Location = 1 txBuff. Value = "M" txBuff. Location = 2 txBuff. Value = "" & apospacket type txBuff। অবস্থান = 3 txBuff. Value = serial_toChar (packetType) txBuff. Location = 4 txBuff. Value = "" & aposmask প্রয়োগ করতে txBuff. Location = 5 শত = মাস্ক/100 txBuff. Value = serial_toChar (শত) txBuff. Location = 6 tens (মুখোশ-শত)/10 txBuff. Value = serial_toChar (tens) txBuff. Location = 7 txBuff. Value = serial_toChar (মুখোশ-শত-দশ) এবং aposcarriage রিটার্ন txBuff. Location = 8 txBuff. Value = 13 & apossend কমান্ড serial_Sender পাঠান *********************************************** & apos*সাধারণ সিরিয়াল সাবরুটিন *এবং অপো গুলি ************************************************** portSub serial_init () এবং সিরিয়াল পোর্ট চালু এবং বন্ধ করার জন্য একটি বোতাম aposinitialize (চালানোর জন্য চালু করুন, প্রোগ্রামে বন্ধ করুন) লিঙ্ক (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinitialize একটি ইভেন্ট বাফার করে আমাদের ডাটা সিরিয়াল রিসিভ_ওয়াইর।ইনপুট। লিঙ্ক (serialPort. Received) serialReceive_Wire। = 0 & aposinitialize আমাদের সিরিয়াল পোর্ট serialPort. Baud = cv9600 এবং aposinitialize আমাদের সিরিয়াল স্ট্যাটাস LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & aposwait এখানে আমাদের সিরিয়াল পোর্ট সক্রিয় না হওয়া পর্যন্ত সিরিয়ালপোর্ট। অপারেট = cvFalse অ্যাপস এন্ড ওপেনস ডেপস প্যাকেট সমাপ্তি সাব সিরিয়াল ceive_Event_Code () এবং apos.received মিথ্যা হয়ে যায় যখন 4byte বাফার খালি থাকে (সিরিয়ালপোর্ট। শুরুতে বাফারকে বাজে করে দিন। serialPort. Operate = cvFalse serialActive_LED = 0 End ifEnd Sub & aposconverts to a single digit number in a characterFunction serial_toChar (inVal as Byte) As Byte Dim retVal As Byte Select Case inVal Case 0 retVal = "0" কেস 1 retVal = "1" কেস 2 retal = "2" কেস 3 retVal = "3" কেস 4 retVal = "4" কেস 5 retVal = "5" কেস 6 retVal = "6" কেস 7 retVal = "7" কেস 8 retVal = "8" কেস 9 retVal = "9" End serial_toChar = retValEnd Function & apos sen ds txBuff & apos- এর মধ্যে থাকা তথ্য নোট করুন: নিশ্চিত করুন যে বাফারের শেষে একটি ক্যারিজ রিটার্ন (13) আছে মূল্য ooPIC. Delay = 1 এবং aposmight এর দরকার নেই এবং এটি apossee যদি এটি একটি ক্যারিজ রিটার্ন ছিল যদি txBuff. Value = 13 & aposbreak আমাদের লুপ থেকে বেরিয়ে আসে রিটার্ন এন্ড যদি এবং aposgo পরবর্তী অক্ষর txBuff. Location = txBuff. Location + 1 WendEnd Sub

ধাপ 4: প্রোগ্রামিং সংযোগকারী সংযোগ বিচ্ছিন্ন করুন

প্রোগ্রামিং সংযোগকারী সংযোগ বিচ্ছিন্ন করুন
প্রোগ্রামিং সংযোগকারী সংযোগ বিচ্ছিন্ন করুন
প্রোগ্রামিং সংযোগকারী সংযোগ বিচ্ছিন্ন করুন
প্রোগ্রামিং সংযোগকারী সংযোগ বিচ্ছিন্ন করুন

একবার প্রোগ্রামিং সংযোগকারী সংযোগ বিচ্ছিন্ন হয়ে গেলে, নীচে দেখানো হিসাবে নতুন তারের সমাবেশ সংযুক্ত করুন। ধাপ 1 এ তৈরি অ্যাডাপ্টারটি CMUCam কে সরাসরি OOPIC এ প্লাগ করার অনুমতি দিতে হবে

ধাপ 5: সিরিয়াল যোগাযোগ শুরু করতে বোতাম টিপুন

IOLine 5 এর বোতামটি CMUCam এবং OOPIC এর মধ্যে সিরিয়াল যোগাযোগ শুরু করবে। যেহেতু সিরিয়াল পোর্টটি প্রোগ্রামিং এবং সিএমইউক্যাম উভয়ের জন্যই ব্যবহৃত হয়, তাই সম্ভবত উভয়ের মধ্যে টগল করার একটি নিয়ন্ত্রিত উপায় থাকা উচিত।

এই বোতাম টিপে না হওয়া পর্যন্ত প্রোগ্রাম চলবে না। আপনি যদি আবার বোতাম টিপেন, সিরিয়াল পোর্ট নিষ্ক্রিয় হয়ে যাবে, আপনাকে এটি প্রোগ্রাম করার অনুমতি দেবে। IOLine 6 এ LED বর্তমান সিরিয়াল পোর্ট অবস্থা প্রদর্শন করে (মানে সক্রিয়, অফ মানে প্রোগ্রামিং এর জন্য প্রস্তুত)।

প্রস্তাবিত: