Orodha ya maudhui:

Kuingiza CMUCam2 kwa OOPIC: Hatua 5
Kuingiza CMUCam2 kwa OOPIC: Hatua 5

Video: Kuingiza CMUCam2 kwa OOPIC: Hatua 5

Video: Kuingiza CMUCam2 kwa OOPIC: Hatua 5
Video: ХАБИБ - Ягода малинка (Премьера клипа) 2024, Julai
Anonim

Fuata zaidi na mwandishi:

Kuunganisha OOBoards mbili pamoja kwa kutumia I2C
Kuunganisha OOBoards mbili pamoja kwa kutumia I2C
Kuunganisha OOBoards mbili pamoja kwa kutumia I2C
Kuunganisha OOBoards mbili pamoja kwa kutumia I2C

Muhtasari wa jinsi ya kuunganisha CMUCam2 hadi na OOPIC.

Hatua ya 1: Kufanya Cable ya Adapter

Kufanya Cable ya Adapter
Kufanya Cable ya Adapter

1. Goto radioshack na ununue 2 kati ya hizi: Kiunganishi cha Kombe la Solder la Kiume2. siri ya solder 5 kwenye kontakt A kubandika 5 kwenye kontakt B (ikiwa unatazama kwa uangalifu kwenye kontakt, zimewekwa alama) 3. siri ya solder 2 kwenye kontakt A kubandika 3 kwenye kontakt B (ikiwa ukiangalia kwa uangalifu kwenye kontakt, zimewekwa alama) 4. siri ya solder 3 kwenye kontakt A kubandika 2 kwenye kontakt B (ikiwa unatazama kwa uangalifu kwenye kontakt, zimewekwa alama)

Hatua ya 2: Badilisha Kiwango cha Baud kwenye CMUCam

Badilisha Kiwango cha Baud kwenye CMUCam
Badilisha Kiwango cha Baud kwenye CMUCam

Badilisha kiwango cha baud cha CMUCamera kuwa baud 9600 (ongeza jumper kwenye nafasi 0).

Hatua ya 3: Unganisha Cable Standard Programming na Nambari ya Kupakia

Unganisha Cable ya kawaida ya Programu na Nambari ya Kupakia
Unganisha Cable ya kawaida ya Programu na Nambari ya Kupakia

Unganisha kebo ya kawaida ya programu na upakie nambari yako. Hapa kuna nambari ya mfano kukuanza. Nambari hii itafuatilia mwendo ukitumia amri za LF na FD. Itabadilisha IOLine 7 (iliyounganishwa na LED) na kuangazia hali ya ufuatiliaji wa LED kwenye CMUCam.

& apos. New oDIO1Dim toggleSerial_Event As new oEventDim toggleSerial_Wire As new oWireDim serialReceive_Event As New oEventDim serialReceive_Wire As New oWire & apos ******** vitu vinavyohusiana na utatuzi ******** Punguza alama kama New ODIO1 & apos ******** ************************************** & apos * Subroutines za Generic * & apos ****** ******************************** fuata tu kituo cha misa CMUCAM_setOutputMask (2, 3) na upakue sura yetu ya tofauti ya kwanza CMUCAM_loadDiffFrame () & apos anza hesabu tofauti CMUCAM_startDiffCalc (10) End SubSub main_init & aposinize hadhi ya LED statLED. IOLine = 7 statLED. Mwisho Su b & aposprocesses walipokea pakiti Mchakato wa Sub-Packet () Punguza mx Kama Byte Punguza kama Byte yangu & aposcheck kwa wote Mx na Wangu kuwa 0 & aposki ikiwa sio 0, eneo litakuwa mbali (yaani & aposT 12 34) & aposLakini basi walishinda & apost kufikia vigezo 0 rxBuff Mahali = 2 mx = rxBuff. Thamini rxBuff. Location = 4 my = rxBuff. Uthamini na uongozi wa aposthe inapaswa kupepesa pamoja na mwangaza wa LED kwenye kamera Ikiwa (mx = "0") Na (my = "0") statLED = 0 Else statLED = 1 Mwisho IfEnd Sub & apos ***************************************** **** & apos * CMU Cam Functions * & apos ***************************************. Kama Byte & aposVString wasn & apost inayofanya kazi katika mkusanyaji mpya… & aposnot uhakika kuhusu ile ya zamani & apostxBuff. VString = "L0 0" & apossetup our string string manually txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe s kazi ya tr $ inachukua … kwa hivyo sasa hii inafanyika txBuff. Value = serial_toChar (ledNum) txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 txBuff. Value = serial_toChar (val) txBuff. Location = 4 txBuff. Value = 13 & tumia amri serial_SendBufferEnd Sub & aposload fremu ya awali ya tofautiSub CMUCAM_loadDiffFrame () & apossetup our string string manually txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "F" txBuff. Thamani = 13 & apossend the command serial_SendBufferEnd Sub & aposstarts kuhesabu tofauti za fremu na kizingiti cha aposparam (0-9) Sub CMUCAM_startDiffCalc (thresh As Byte) Punguza makumi ya Byte & apossetup kamba yetu ya amri manually txBuff. Location = 0 txBuff. Value = "F" 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 makumi = thresh / 10 txBuff. Value = serial_toChar (makumi) txBuff. Location = 4 makumi = thresh / 10 txBuff. Value = serial_toChar (thresh-makumi) txBuff. Location = 5 txBuff. Thamani = 1 3 & tumia amri serial_SendBufferEnd Sub & apossets mask ya pato & pakiti ya aposparam Aina ya pakiti ili kuficha (0, 1, 2, nk) angalia ukurasa wa 46 & aposparam mask mask value to apply (0-255) Sub CMUCAM_setOutputMask (packetType As Byte, mask As Byte) Dim Dim Kama Byte Dim makumi kama Byte & apossetup kamba yetu ya amri txBuff. Location = 0 txBuff. Value = "O" txBuff. Location = 1 txBuff. Value = "M" txBuff. Location = 2 txBuff. Value = "" & apospacket type txBuff. Eneo = 3 txBuff. Value = serial_toChar (packetType) txBuff. Location = 4 txBuff. Value = "" & aposmask kuomba txBuff. Location = mamia 5 = mask / 100 txBuff. Value = serial_toChar (mamia) txBuff. Location = 6 makumi = [mask-mamia] / 10 txBuff. Thamani = serial_toChar (makumi) txBuff. Location = 7 txBuff. Thamani = serial_toChar (mask-mamia-makumi) na aposcarriage kurudi txBuff. ********************************************* na apos * Subroutines General Serial * & apo s ********************************************** & aposinizes serial portSub serial_init () na uanzishe kitufe cha kuwasha na kuzima bandari ya serial (washa ili kukimbia, kuzima kwa programu) toggleSerial_Button. IOLine = 5 toggleSerial_Button. Direction = cvInput toggleSerial_Wire. Input. Link (toggleSerial_Butgg. Value. Kiungo (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinize tukio la kugusa data yetu serialReceive_Wire. Input. Link (serialPort. Receive) serialReceive_Wire. Output. Link (serialReceive_Event. Operate). = 0 & tuma mwanzilishi wa bandari yetu ya serial serialPort. Baud = cv9600 & aposinize hali yetu ya serial ya serial ya serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & aposwait hapa mpaka bandari yetu ya serial itakapoamilishwa Wakati serialPort. Operate = cvFalse WendEnd Sub & data za aposcoper katika data zetu kukamilisha pakitiSub serialRe ceive_Event_Code () & apos.kupokea inakuwa ya uwongo wakati bafa ya 4byte iko tupu Wakati (serialPort. Inapokelewa = cvTrue) & aposcopy byte kwa bafa yetu rxBuff. Value = serialPort. Value & aposcheck for end of packet If rxBuff. Value = 13 & aposprocetess packet & aposreset the buffer to the beginning rxBuff. Location = 0 Else rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns on and off the serial port for programmingSub toggleSerial_Event_Code () Ikiwa serialPort. Operate = cvFalseAsePort. serialPort. = "2" Kesi 3 retVal = "3" Kesi 4 retVal = "4" Kesi 5 retVal = "5" Kesi 6 retVal = "6" Kesi 7 retVal = "7" Kesi 8 retVal = "8" Kesi 9 retVal = "9" Mwisho Chagua serial_toChar = retValEnd Function & apos sen ds data iliyomo kwenye txBuff & apos Kumbuka: hakikisha bafa ina kumbukumbu ya kurudi kwa gari (13) mwishowe! Thamini ooPIC. Ucheleweshaji = 1 na hauwezi kuhitaji hii & apossee ikiwa ni kurudi kwa gari Kama txBuff. Value = 13 & aposbreak out of our loop Return End If & aposgo to the next character txBuff. Location = txBuff. Location + 1 WendEnd Sub

Hatua ya 4: Futa Kontakt ya Programu

Futa Kontakt ya Programu
Futa Kontakt ya Programu
Futa Kontakt ya Programu
Futa Kontakt ya Programu

Mara tu kiunganishi cha programu kimekatiwa, ambatisha mkutano mpya wa kebo kama inavyoonyeshwa hapa chini. Adapta iliyotengenezwa kwa hatua ya 1 inapaswa kuruhusu CMUCam kuingiliwa moja kwa moja kwenye OOPIC

Hatua ya 5: Bonyeza kitufe ili uanzishe Mawasiliano ya Siri

Kitufe kwenye IOLine 5 kitaanza mawasiliano ya serial kati ya CMUCam na OOPIC. Kwa kuwa bandari ya serial hutumiwa kwa programu zote na CMUCam, pengine inapaswa kuwa na njia inayodhibitiwa ya kugeuza kati ya hizo mbili.

Programu haitaendelea hadi kitufe hiki kitakapobanwa. Ukibonyeza kitufe tena, bandari ya serial haitatumika, ikiruhusu kuipanga. LED kwenye IOLine 6 inaonyesha hali ya sasa ya bandari ya serial (kwa maana inafanya kazi, njia mbali iko tayari kwa programu).

Ilipendekeza: