Tartalomjegyzék:

CMUCam2 illesztése OOPIC -hez: 5 lépés
CMUCam2 illesztése OOPIC -hez: 5 lépés

Videó: CMUCam2 illesztése OOPIC -hez: 5 lépés

Videó: CMUCam2 illesztése OOPIC -hez: 5 lépés
Videó: CMUCam2 2024, Július
Anonim

Kövesse a szerző további információit:

Két OOBoard összekapcsolása I2C használatával
Két OOBoard összekapcsolása I2C használatával
Két OOBoard összekapcsolása I2C használatával
Két OOBoard összekapcsolása I2C használatával

A CMUCam2 és az OOPIC összekapcsolásának áttekintése.

1. lépés: Az adapterkábel elkészítése

Az adapterkábel elkészítése
Az adapterkábel elkészítése

1. Goto radioshack, és vásároljon ebből kettőt: Férfi DB-9 Forrasztócsatlakozó2. forrasztócsap 5 az A csatlakozón és 5 csatlakozó a B csatlakozón (ha alaposan megnézi a csatlakozót, akkor meg vannak jelölve) 3. 2. forrasztócsap az A csatlakozón a 3. csatlakozóra a B csatlakozón (ha alaposan megnézi a csatlakozót, akkor meg vannak jelölve) 4. forrasztócsap 3. az A csatlakozón a 2. csatlakozóra a B csatlakozón (ha alaposan megnézi a csatlakozót, akkor meg vannak jelölve)

2. lépés: Változtassa meg a CMCam Baud sebességét

Módosítsa a Baud Rate értéket a CMUCam -on
Módosítsa a Baud Rate értéket a CMUCam -on

Módosítsa a CMUCamera átviteli sebességét 9600 baudra (adjon hozzá egy jumpert a 0 pozícióhoz).

3. lépés: Csatlakoztassa a szabványos programozókábelt és a feltöltőkódot

Csatlakoztassa a szabványos programozókábelt és a feltöltőkódot
Csatlakoztassa a szabványos programozókábelt és a feltöltőkódot

Csatlakoztassa a szabványos programozókábelt, és töltse fel a kódot. Íme néhány példa a kezdéshez. Ez a kód az LF és FD parancsok segítségével követi a mozgást. Átkapcsolja az IOLine 7 -et (LED -hez csatlakoztatva), és tükrözi a követési állapot LED -jét a CMUCam -on.

& apos ******** soros porthoz kapcsolódó objektumok ******** Dim serialPort mint új oSerialPortDim txBuff As new oBuffer27 & aposchange the 27 to make the buffer nagyobb/kisebb Új oDIO1Dim toggleSerial_Event újként ************************************** & apos*Generic Subroutines*& apos ****** ************************************************************************************************************ csak kövesse a tömegközéppontot CMUCAM_setOutputMask (2, 3) és töltse fel a kezdeti különbségkeretünket CMUCAM_loadDiffFrame () & indítsa el a különbségszámítást CMUCAM_startDiffCalc (10) End SubSub main_init & aposinitialize a status LED statLED. IOLine = 7 statLED. Direction = portialit) Vége Su b & aposprocesses kapott csomagokat. Location = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe lednek együtt kell villognia a kamera nyomkövető LED -jével If (mx = "0") And (my = "0") statLED = 0 Egyéb statLED = 1 End IfEnd Sub & apos ****************************************** **** & apos*CMU Cam Functions*& apos *************************************** ******* & az adott led be-, kikapcsolása, automatikus & aposparam led száma) Mivel a Byte & aposVString nem működött az új fordítóban … & nem biztos a régiben & apostxBuff. VString = "L0 0" & manuálisan állítsa be a parancssort txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe s tr $ függvény szar… szóval most ez történik = 13 & hagyja jóvá a serial_SendBufferEnd Sub parancsot és töltse be a kezdeti különbséget frameSub CMUCAM_loadDiffFrame () & állítsa be parancssorunkat kézzel txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "t" tx tx Value = 13 & apossend a serial_SendBufferEnd Sub & aposstarts kiszámítja a képkockák közötti különbségeket és az aposparam küszöbértéket (0-9) Sub CMUCAM_startDiffCalc (thresh As Byte) Dim tized As Byte & apossetup our command string manual txBuff. Location = 0 txBuff. Vex = "F = 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 tízes = küszöb/10 txBuff. Value = serial_toChar (tízes) txBuff. Location = 4 tens = thresh/10 txBuff.alue = serial_toChar (thresh-tens) txBuff. Location = 5 txBuff. Value = 1 3 & hagyja jóvá a serial_SendBufferEnd parancsot & a kimeneti maszkot és az aposparam packetet Bájtként Dim tízesek Bájtként & apossetup parancssorunk kézzel txBuff. Location = 0 txBuff. Value = "O" txBuff. Location = 1 txBuff. Value = "M" txBuff. Location = 2 txBuff. Value = "" & apospacket type txBuff. Location = 3 txBuff. Value = serial_toChar (packetType) txBuff. Location = 4 txBuff. Value = "" & aposmask to txBuff. Location = 5 száz = maszk/100 txBuff. Value = serial_toChar (száz) txBuff. Location = 6 (maszk-száz)/10 txBuff. Value = serial_toChar (tízes) txBuff. Location = 7 txBuff. Value = serial_toChar (maszk-száz-tízes) & aposcarriage return txBuff. Location = 8 txBuff. Value = 13 & hagyja el a serial_SendBuff parancsot ******************************************** & apos*Általános soros alprogramok *& apo s ********************************************* és aposinitializálja a sorozatot portSub serial_init () & aposinitialize gomb a soros port be- és kikapcsolásához (kapcsolja be a futáshoz, kapcsolja ki a programot) toggleSerial_Button. IOLine = 5 toggleSerial_Button. Direction = cvInput toggleSerial_Wire. Input. Link (toggleSerial_Button. Value) toggle Link (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinitialize esemény, hogy pufferelje adatainkat serialReceived_Wire. Input. Link (serialPort. Received) serialRecept_Wire. Output. Link (serialRecept_Event. OperateRuReReReReReReRePe = 0 & aposinitialize soros portunk serialPort. Baud = cv9600 & aposinitialize soros állapotunk LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & aposwait itt, amíg soros portunk aktiválódik, míg serialPort. Operate = cvFalse WendEnd Sub & aposcoper adatok beolvasás és ellenőrzés csomag befejezéseSub serialRe ceive_Event_Code () & apos.received hamis lesz, ha a 4 bájtos puffer üres. Míg (serialPort. Received = cvTrue) & aposcopy a bájt a mi pufferünkbe rxBuff. Value = serialPort. Value & aposcheck for the end end If rxBuff. Value = 13 & aposprocess packet & állítsa vissza a puffert az elejére rxBuff. Location = 0 Else rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns be- és kikapcsolja a programozási soros portot serialPort. Operate = cvFalse serialActive_LED = 0 End IfEnd Sub & aposkonvertálja az egyjegyű számot karakterréFunkció serial_toChar (inVal As Byte) Bájt Dim retVal Bájtként Válassza ki az esetet inVal esetben 0 retVal = "0" 1. eset retVal = "1" 2. eset retVal = "2" 3. eset retVal = "3" 4. eset retVal = "4" 5. eset retVal = "5" 6. eset retVal = "6" 7. eset retVal = "7" 8. eset retVal = "8" 9. eset retVal = "9" Vége Válassza a serial_toChar = retValEnd funkciót & apos sen ds a txBuff & apos fájlban található adatok Megjegyzés: győződjön meg arról, hogy a puffer egy kocsi visszatérést (13) tartalmaz a végén!. Value ooPIC. Delay = 1 & erre a & apossee -re nincs szükség, ha kocsi visszatérés volt Ha a txBuff. Value = 13 & aposbreak ki a ciklusunkból Return End If & aposgo a következő karakterhez txBuff. Location = txBuff. Location + 1 WendEnd Sub

4. lépés: Válassza le a programozó csatlakozót

Válassza le a programozó csatlakozót
Válassza le a programozó csatlakozót
Válassza le a programozó csatlakozót
Válassza le a programozó csatlakozót

A programozó csatlakozó leválasztása után csatlakoztassa az új kábelszerelvényt az alábbiak szerint. Az 1. lépésben készített adapter lehetővé teszi a CMUCam közvetlen csatlakoztatását az OOPIC -hez

5. lépés: Nyomja meg a gombot a soros kommunikáció inicializálásához

Az IOLine 5 gombja elindítja a soros kommunikációt a CMUCam és az OOPIC között. Mivel a soros portot mind a programozáshoz, mind a CMUCam -hoz használják, valószínűleg ellenőrizni kell a kettő közötti váltást.

A program addig nem fut, amíg meg nem nyomja ezt a gombot. Ha ismét megnyomja a gombot, a soros port inaktívvá válik, lehetővé téve a programozást. Az IOLine 6 LED -je mutatja a soros port aktuális állapotát (bekapcsolva aktív, kikapcsolt készen áll a programozásra).

Ajánlott: