جدول المحتويات:
- الخطوة 1: عمل كابل المحول
- الخطوة 2: تغيير معدل الباود على CMUCam
- الخطوة 3: قم بتوصيل كابل البرمجة القياسي وكود التحميل
- الخطوة 4: افصل موصل البرمجة
- الخطوة 5: اضغط على الزر لبدء الاتصال التسلسلي
فيديو: الربط بين CMUCam2 و OOPIC: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
تابع المزيد بالمؤلف:
نظرة عامة حول كيفية ربط CMUCam2 بـ OOPIC.
الخطوة 1: عمل كابل المحول
1. اذهب إلى راديوشاك واشتري 2 من هذه: ذكر DB-9 Solder Cup Connector2. دبوس اللحام 5 على الموصل A إلى السن 5 على الموصل B (إذا نظرت بعناية إلى الموصل ، يتم تمييزها) 3. دبوس اللحام 2 في الموصل A إلى السن 3 في الموصل B (إذا نظرت بعناية إلى الموصل ، يتم تمييزها) 4. دبوس اللحام 3 على الموصل A إلى السن 2 على الموصل B (إذا نظرت بعناية إلى الموصل ، يتم تمييزها)
الخطوة 2: تغيير معدل الباود على CMUCam
قم بتغيير معدل الباود الخاص بـ CMUCamera إلى 9600 باود (أضف وصلة مرور إلى الموضع 0).
الخطوة 3: قم بتوصيل كابل البرمجة القياسي وكود التحميل
قم بتوصيل كابل البرمجة القياسي وقم بتحميل الكود الخاص بك. إليك بعض الأمثلة على الكود لتبدأ. هذا الرمز سوف يتتبع الحركة باستخدام الأمرين LF و FD. سيقوم بتبديل IOLine 7 (متصل بمصباح LED) ويعكس مؤشر حالة التتبع على CMUCam.
& apos ؛ ******** الكائنات ذات الصلة بالمنفذ التسلسلي ******** Dim serialPort as New oSerialPortDim txBuff as New oBuffer27 & aposchange 27 لجعل المخزن المؤقت أكبر / أصغر جديد oDIO1Dim toggleSerial_Event كجديد oEventDim toggleSerial_Wire كجديد oWireDim serialReceive_Event كجديد oEventDim serialReceive_Wire As New oWire & apos ******** تصحيح الكائنات ذات الصلة ******** Dim statLED as New ***DIO1 & a ************************************************************************************************************************************************************************************************************** ********************************************************** Sub main & aposinitialize all main_init & aposset our output mask to فقط اتبع مركز الكتلة CMUCAM_setOutputMask (2، 3) وقم بتحميل إطار الاختلاف الأولي الخاص بنا CMUCAM_loadDiffFrame () وابدأ حساب الفرق CMUCAM_startDiffCalc (10) End SubSub main_init & aposinitialize حالة LED statLED. IOLine = 7 statLposvitOutialize) نهاية سو استلمت العمليات حزمًا عملية فرعية حزمة () Dim mx As Byte Dim my As Byte & aposcheck لكل من Mx و My ليكونا 0 & aposgranted إذا لم تكن 0 ، فسيتم إيقاف الموقع (أي & aposT 12 34) ولكن بعد ذلك فازوا و apost يلبي 0 معايير rxBuff. Location = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe led يجب أن يومض بانسجام مع مؤشر LED للتتبع على الكاميرا إذا (mx = "0") و (my = "0") statLED = 0 عدا ذلك statLED = 1 End IfEnd Sub & apos ********************************************** **** & apos * وظائف كاميرا CMU * & apos *************************************** ******* & apossets يؤدي إلى تشغيل ، إيقاف ، تلقائي و aposparam عدد الصمامات (0 ، 1) و aposparam val off ، on ، auto (0 ، 1 ، 2) Function CMUCAM_ledSet (ledNum As Byte، val As Byte) نظرًا لأن Byte & aposVString لم يكن & apost يعملان بشكل صحيح في المترجم الجديد … & apos غير متأكد من القديم & apostxBuff. VString = "L0 0" & apossetup سلسلة أوامرنا يدويًا txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe s تمتص وظيفة tr $ … لذا يحدث هذا الآن txBuff. Value = serial_toChar (ledNum) txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 txBuff. Value = serial_toChar (val) txBuff. Location = 4 txBuff. Value = 13 & إلغاء الأمر serial_SendBufferEnd Sub & تحميل إطار الاختلاف الأولي Sub CMUCAM_loadDiffFrame () & إنشاء سلسلة أوامرنا يدويًا txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "Focation = 2 txBuff. Value =" Focation. القيمة = 13 & إلغاء الأمر serial_SendBufferEnd Sub & aposstarts حساب اختلافات الإطارات وعتبة aposparam (0-9) Sub CMUCAM_startDiffCalc (العتبة بالبايت) خافت العشرات على هيئة بايت وإنشاء سلسلة أوامرنا يدويًا txBuff. Location = 0 txBuff. Value = " 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 عشرات = العتبة / 10 txBuff. Value = serial_toChar (عشرات) txBuff. Location = 4 عشرات = العتبة / 10 txBuff. Value = serial_toChar (عتبة عشرات) txBuff. Location = 5 txBuff. Value = 1 3 & إلغاء الأمر serial_SendBufferEnd Sub & apossets the output mask & aposparam packetType of packet to mask (0، 1، 2، etc) راجع الصفحة 46 & قيمة قناع aposparam للتطبيق (0-255) Sub CMUCAM_setOutputMask (packetType As Byte ، Mask As Byte) باهت المئات كبايت دايم عشرات على هيئة بايت وفتح سلسلة أوامرنا يدويًا txBuff. Location = 0 txBuff. Value = "O" txBuff. Location = 1 txBuff. Value = "M" txBuff. Location = 2 txBuff. Value = "" & نوع apospacket txBuff. الموقع = 3 txBuff. Value = serial_toChar (packetType) txBuff. Location = 4 txBuff. Value = "" & aposmask لتطبيق txBuff. Location = 5 مئات = قناع / 100 txBuff. Value = serial_toChar (مئات) txBuff. Location = 6 عشرات = (قناع-مئات) / 10 txBuff. Value = serial_toChar (عشرات) txBuff. Location = 7 txBuff. Value = serial_toChar (mask-مئات-عشرات) & aposcarriage return txBuff. Location = 8 txBuff. Value = 13 & apossend الأمر serial_Send & aposer * *********************************************** & apos * التدريبات الفرعية التسلسلية العامة * & apo s ************************************************** & فتح المسلسل portSub serial_init () & aposinitialize زر لتشغيل وإيقاف تشغيل المنفذ التسلسلي (قم بتشغيله للتشغيل ، قم بإيقاف تشغيل البرنامج) رابط (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinitialize حدث لتخزين بياناتنا serialReceive_Wire. Input. Link (serialPort. Received) serialReceive_Wire. Output. Link (serialReceive_Event. ReceLink) 0 إكمال الحزمة ceive_Event_Code () & apos.received يصبح خاطئًا عندما يكون المخزن المؤقت 4 بايت فارغًا. & aposres اضبط المخزن المؤقت على البداية rxBuff. Location = 0 آخر rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns داخل وخارج المنفذ التسلسلي للبرمجة serialPort. Operate = cvFalse serialActive_LED = 0 End IfEnd Sub & apos تحويل رقم مكون من رقم واحد إلى حرف دالة serial_toChar (inVal As Byte) كـ Byte Dim retVal As Byte حدد الحالة inVal Case 0 retVal = "0" Case 1 retVal = "1" Case 2 retVal = "2" Case 3 retVal = "3" Case 4 retVal = "4" Case 5 retVal = "5" Case 6 retVal = "6" Case 7 retVal = "7" Case 8 retVal = "8" Case 9 retVal = "9" حدد إنهاء serial_toChar = وظيفة retValEnd & apos sen ds البيانات الموجودة في txBuff & apos ملاحظة: تأكد من احتواء المخزن المؤقت على حرف إرجاع (13) في النهاية !!. Value ooPIC. Delay = 1 & aposmight لا تحتاج إلى هذا & apossee إذا كان إرجاع سطر إذا كانت txBuff. Value = 13 & aposbreak الخروج من الحلقة الخاصة بنا عودة End If & aposgo إلى الحرف التالي txBuff. Location = txBuff. Location + 1 WendEnd Sub
الخطوة 4: افصل موصل البرمجة
بمجرد فصل موصل البرمجة ، قم بتوصيل مجموعة الكابلات الجديدة كما هو موضح أدناه. يجب أن يسمح المحول الذي تم إجراؤه في الخطوة 1 بتوصيل CMUCam مباشرة بـ OOPIC
الخطوة 5: اضغط على الزر لبدء الاتصال التسلسلي
سيبدأ الزر الموجود على IOLine 5 الاتصال التسلسلي بين CMUCam و OOPIC. نظرًا لاستخدام المنفذ التسلسلي لكل من البرمجة و CMUCam ، فمن المحتمل أن تكون هناك طريقة مسيطر عليها للتبديل بين الاثنين.
لن يعمل البرنامج حتى يتم الضغط على هذا الزر. إذا ضغطت على الزر مرة أخرى ، فسيصبح المنفذ التسلسلي غير نشط ، مما يتيح لك برمجته. يعرض مؤشر LED الموجود على IOLine 6 حالة المنفذ التسلسلي الحالي (يعني قيد التشغيل ، يعني إيقاف التشغيل جاهزًا للبرمجة).
موصى به:
SIM900A 2G Module + Hologram SIM Card = الجمع بين الفوز في فئة "dirt Cheap" ؟: 6 خطوات
SIM900A 2G Module + Hologram SIM Card = مزيج ناجح في فئة "dirt Cheap" ؟: IoT ، الكلمة الطنانة لهذا العقد ، أحيانًا ما يدخل في عقول الأشخاص الذين يعتبرون أنفسهم مقاومين للبدعة ، وأنا من بينهم. الإنترنت ورأيت شركة لم أسمع عنها من قبل (صورة ثلاثية الأبعاد) توزع بطاقات SIM
مؤشر LED للمسافة بين الكلاب: 5 خطوات (بالصور)
مؤشر LED عن بعد الكلب: عادة ما آخذ كلبي Rusio في نزهة عندما تغرب الشمس حتى يتمكن من اللعب دون أن يصبح شديد الحرارة. تكمن المشكلة في أنه عندما يكون خارج المقود أحيانًا يكون متحمسًا جدًا ويركض أبعد مما ينبغي ومع الإضاءة الخافتة والكلاب الأخرى
RS485 بين Arduino و Raspberry Pi: 7 خطوات
RS485 بين Arduino و Raspberry Pi: بالنسبة للمدرسة ، أحتاج إلى إنشاء مشروع. اخترت صنع جهاز تحكم ذكي في الدفيئة يتم التحكم فيه بالكامل بواسطة التوت باي. سيتم تشغيل المستشعرات بواسطة اردوينو أونو. خلال الأشهر التي تلي ذلك ، سوف أنشر طريقة صنع هذا المشروع خطوة بخطوة
التواصل بين مستشعر الجيروسكوب ثلاثي المحاور BMG160 مع Arduino Nano: 5 خطوات
واجهة مستشعر جيروسكوب ثلاثي المحاور BMG160 مع Arduino Nano: في عالم اليوم ، أكثر من نصف الشباب والأطفال مغرمون بالألعاب وكل من يعشقها ، مفتونًا بالجوانب التقنية للألعاب يعرف أهمية استشعار الحركة في هذا المجال. لقد اندهشنا أيضًا من نفس الشيء
زيادة الخلوص بين المستوى النحاسي وتتبع الإشارة: 3 خطوات
زيادة التخليص بين الطائرة النحاسية وتتبع الإشارة: أنا هاوي وأقوم بتصميم لوحات الدوائر المطبوعة (PCB) لمدونتي ومقاطع فيديو Youtube. لقد طلبت ثنائي الفينيل متعدد الكلور عبر الإنترنت من LionCircuits. إنها شركة هندية ولديهم منصة آلية للتصنيع. يقوم تلقائيًا بمراجعة بلدك