فهرست مطالب:
- مرحله 1: ساخت کابل آداپتور
- مرحله 2: نرخ Baud را در CMUCam تغییر دهید
- مرحله 3: کابل برنامه نویسی استاندارد و کد بارگذاری را وصل کنید
- مرحله 4: اتصال برنامه نویسی را قطع کنید
- مرحله 5: دکمه را برای شروع ارتباط سریال فشار دهید
تصویری: رابط CMUCam2 با OOPIC: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:58
بیشتر توسط نویسنده دنبال کنید:
مروری بر نحوه اتصال CMUCam2 به و OOPIC.
مرحله 1: ساخت کابل آداپتور
1. به radioshack بروید و 2 مورد از این موارد را خریداری کنید: Male DB-9 Solder Cup Connector2. پین 5 را روی کانکتور A تا پین 5 را روی کانکتور B لحیم کنید (اگر با دقت به کانکتور نگاه کنید ، آنها مشخص شده اند) 3. پین 2 را روی کانکتور A تا پین 3 را روی کانکتور B لحیم کنید (اگر با دقت به کانکتور نگاه کنید ، آنها مشخص شده اند) 4. پین 3 را روی کانکتور A تا پین 2 را روی کانکتور B لحیم کنید (اگر با دقت به کانکتور نگاه کنید ، آنها مشخص شده اند)
مرحله 2: نرخ Baud را در CMUCam تغییر دهید
نرخ باود CMUCamera را به 9600 باود تغییر دهید (یک بلوز به موقعیت 0 اضافه کنید).
مرحله 3: کابل برنامه نویسی استاندارد و کد بارگذاری را وصل کنید
کابل برنامه نویسی استاندارد را متصل کرده و کد خود را بارگذاری کنید. در اینجا چند کد نمونه برای شروع کار وجود دارد. این کد با استفاده از دستورات LF و FD حرکت را ردیابی می کند. IOLine 7 (متصل به LED) را تغییر می دهد و LED وضعیت ردیابی را در CMUCam آینه می کند.
& apos ** جدید oDIO1Dim toggleSerial_Event As New oEventDim toggleSerial_Wire As New oWireDim serialReceive_Event As New oEventDim serialReceive_Wire As New oWire & apos ******** اشکال زدایی اشکالات مرتبط ******** Dim statLED به عنوان جدید oDI* **** * فقط مرکز جرم را دنبال کنید CMUCAM_setOutputMask (2 ، 3) & آپلود مجدد فریم اولیه CMUCAM_loadDiffFrame () و شروع محاسبه تفاوت CMUCAM_startDiffCalc (10) پایان SubSub main_init & aposinitialize یک وضعیت LED statileDialTialTial) End Su b & aposprocesses بسته های دریافت شده فرایند زیر بسته () Dim mx As Byte Dim my As Byte & aposcheck برای هر دو Mx و My 0 و اگر آنها 0 نباشند ، مکان خاموش خواهد بود (یعنی & aposT 12 34) & aposbut سپس آنها برآورده می شوند و 0 معیار rxBuff را برآورده می کنند. Location = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe led باید همزمان با LED ردیابی دوربین (If mx = "0") And (my = "0") statLED = 0 دیگر STLED = 1 پایان IfEnd Sub & apos *************************************** **** & apos*عملکردهای CMU Cam*& apos ************************************ **) همانطور که Byte & aposVString در کامپایلر جدید درست کار نمی کرد … و در مورد نسخه قبلی مطمئن نیست & apostxBuff. VString = "L0 0" و رشته فرمان ما را به صورت دستی 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 & دستور را ارسال کنید Value = 13 و دستور را ارسال کنید 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 دهها = thresh/10 txBuff. Value = serial_toChar (دهها) txBuff. Location = 4 دهها = thresh/10 txBuff. Value = serial_toChar (thresh-tenens) txBuff. Location = 5 txBuff. Value = 1 3 & apossend command serial_SendBufferEnd Sub & apsoets the output mask & aposparam packet type of packet to mask (0، 1، 2، etc.) see page 46 & aposparam mask mask mask to apply (0-255) Sub CMUCAM_setOutputMask (packetType As Byte، mask As Byte) Dimension As Byte Dim tens 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 sedan = mask/100 txBuff. Value = serial_toChar (صدها) txBuff. Location = 6 tens = (mask-sedan)/10 txBuff. Value = serial_toChar (دهها) txBuff. Location = 7 txBuff. Value = serial_toChar (mask-sedan-deh) & aposcarriage return txBuff. Location = 8 txBuff. Value = 13 & apossend دستور & ارسال ***************************************** و & amp *& apo s ***************************************** و سریال را به حالت اولیه آماده می کند portSub serial_init () & aposinitialize یک دکمه برای روشن و خاموش کردن پورت سریال (روشن کردن برای اجرا ، خاموش کردن برنامه) toggleSerial_Button. IOLine = 5 toggleSerial_Button. Direction = cvInput toggleSerial_Wire. Input. Link (toggleSerial_Button. Link (toggleSerial_Button. Link) پیوند (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinitialize an event to buffer your data serialReceive_Wire. Input. Link (serialPort. Received) serialReceive_Wire. Output. Link (serialReceive_Eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_eceive_Eive = 0 & aposinitialize serial port serialPort. Baud = cv9600 & aposinitialize our serial status LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOputput & aposwait در اینجا تا پورت سریال ما فعال شود در حالی که serialPort. دریافت کنید تکمیل بسته ceive_Event_Code () & apos.received زمانی خالی می شود که بافر 4 بایتی خالی باشد در حالی که (serialPort. Received = cvTrue) و بایت را در بافر ما rxBuff. Value = serialPort. Value & aposcheck برای پایان بسته If rxBuff. Value = 13 و apospet (بسته) & aposreset بافر به ابتدا rxBuff. Location = 0 در غیر این صورت rxBuff. Location = rxBuff. Location + 1 EndIf اگر WendEnd Sub & پورت سریال را برای برنامه نویسی روشن یا خاموش کند (subial toggleSerial_Event_Code () If serialPort. Operate = cvFalseeial = 1 serialPort. Operate = cvFalse serialActive_LED = 0 پایان IfEnd Sub & aposconconvert one number number to a characterFunction serial_toChar (inVal As Byte) As Byte Dim retVal As Byte Select Case inVal Case 0 retVal = "0" Case 1 retVal = "1" Case 2 = "2" مورد 3 retVal = "3" مورد 4 retVal = "4" مورد 5 retVal = "5" مورد 6 retVal = "6" مورد 7 retVal = "7" مورد 8 retVal = "8" مورد 9 retVal = "9" پایان انتخاب serial_toChar = retValEnd Function & apos sen ds داده های موجود در txBuff & apos توجه: مطمئن شوید که بافر حاوی یک واگن بازگشتی (13) در پایان است !! زیر serial_SendBuffer () & apositerate از طریق ، ارسال هر بایت ، پایان در بازگشت txBuff. Location = 0 در حالی که 1 serialPort. Value = txBuff. Value ooPIC. Delay = 1 & aposmight نیازی به این & apossee ندارد اگر یک کالسکه برگشت اگر txBuff. Value = 13 & aposbreak out of the loop Return End If & aposgo به کاراکتر بعدی txBuff. Location = txBuff. Location + 1 WendEnd Sub
مرحله 4: اتصال برنامه نویسی را قطع کنید
هنگامی که اتصال برنامه نویسی قطع شد ، مجموعه جدید کابل را مانند تصویر زیر وصل کنید. آداپتور ساخته شده در مرحله 1 باید اجازه دهد CMUCam مستقیماً به OOPIC متصل شود
مرحله 5: دکمه را برای شروع ارتباط سریال فشار دهید
دکمه روی IOLine 5 ارتباط سریال بین CMUCam و OOPIC را آغاز می کند. از آنجا که پورت سریال هم برای برنامه نویسی و هم برای CMUCam استفاده می شود ، احتمالاً باید روش کنترل شده ای برای جابجایی بین این دو وجود داشته باشد.
تا زمانی که این دکمه را فشار ندهید ، برنامه اجرا نمی شود. اگر دوباره دکمه را فشار دهید ، پورت سریال غیرفعال می شود و به شما امکان می دهد آن را برنامه ریزی کنید. LED در IOLine 6 وضعیت پورت سریال فعلی را نشان می دهد (روشن به معنی فعال ، خاموش به معنی آماده برای برنامه نویسی).
توصیه شده:
رابط سنسور اثر انگشت خازنی با Arduino UNO: 7 مرحله
رابط سنسور اثر انگشت خازنی با Arduino UNO: سلام ، بچه ها چه خبر! Akarsh در اینجا از CETech. امروز ما قصد داریم یک لایه محافظ به پروژه های خود اضافه کنیم. نگران نباشید ما هیچ محافظی برای این کار تعیین نمی کنیم. این یک حسگر اثر انگشت زیبا و زیبا از DFRobot خواهد بود. بنابراین
سنسور گاز رابط با آردوینو: 4 مرحله
سنسور گاز رابط با آردوینو: سنسور دود MQ-2 به دود و گازهای قابل اشتعال زیر حساس است: LPG ، بوتان ، پروپان ، متان ، الکل ، هیدروژن. مقاومت سنسور بسته به نوع گاز متفاوت است. سنسور دود دارای پتانسیومتر داخلی است
شروع به کار با رابط سنسور I2C ؟؟ - رابط MMA8451 خود را با استفاده از ESP32s انجام دهید: 8 مرحله
شروع به کار با رابط سنسور I2C ؟؟ - رابط MMA8451 خود را با استفاده از ESP32s: در این آموزش ، با نحوه راه اندازی ، اتصال و دریافت دستگاه I2C (شتاب سنج) کار با کنترلر (Arduino ، ESP32 ، ESP8266 ، ESP12 NodeMCU) آشنا خواهید شد
دکمه رابط رابط - مبانی آردوینو: 3 مرحله
دکمه رابط - مفاهیم اولیه آردوینو: دکمه فشاری قطعه ای است که هنگام فشار دادن آن دو نقطه را در یک مدار متصل می کند. هنگامی که دکمه فشاری باز است (بدون فشار) هیچ ارتباطی بین دو پایه دکمه فشاری وجود ندارد ، بنابراین پین به 5 متصل می شود. ولت (از طریق رسپی کشش
رابط ADXL335 سنسور روی رزبری پای 4B در 4 مرحله: 4 مرحله
رابط ADXL335 سنسور روی رزبری پای 4B در 4 مرحله: در این دستورالعمل قصد داریم یک سنسور ADXL335 (شتاب سنج) در رزبری پای 4 با Shunya O/S رابط کاربری را انجام دهیم