Sisällysluettelo:

CMUCam2: n liittäminen OOPIC -järjestelmään: 5 vaihetta
CMUCam2: n liittäminen OOPIC -järjestelmään: 5 vaihetta

Video: CMUCam2: n liittäminen OOPIC -järjestelmään: 5 vaihetta

Video: CMUCam2: n liittäminen OOPIC -järjestelmään: 5 vaihetta
Video: How to Clean Your Pixy CMUCAM Sensor Camera for robotic 2024, Heinäkuu
Anonim

Seuraa lisää tekijältä:

Kahden OOBoard -levyn liittäminen yhteen I2C: n avulla
Kahden OOBoard -levyn liittäminen yhteen I2C: n avulla
Kahden OOBoard -levyn liittäminen yhteen I2C: n avulla
Kahden OOBoard -levyn liittäminen yhteen I2C: n avulla

Yleiskatsaus CMUCam2: n ja OOPIC: n liittämiseen.

Vaihe 1: Sovitinkaapelin valmistus

Adapterikaapelin valmistus
Adapterikaapelin valmistus

1. Siirry radioshackiin ja osta 2 näistä: Uros DB-9 Solder Cup Connector2. juotostappi 5 liittimessä A liittimeen B liittimeen 5 (jos katsot liitintä huolellisesti, ne on merkitty) 3. juotostappi 2 liittimessä A liittimeen B (nasta 3) (jos katsot liitintä huolellisesti, ne on merkitty) 4. juotostappi 3 liittimessä A liittimeen B (nasta 2) (jos katsot liitintä huolellisesti, ne on merkitty)

Vaihe 2: Muuta CMUD -kameran Baud -nopeutta

Muuta CMD -kameran Baud -taajuutta
Muuta CMD -kameran Baud -taajuutta

Muuta CMUCameran siirtonopeudeksi 9600 baudia (lisää hyppyjohdin kohtaan 0).

Vaihe 3: Liitä vakio -ohjelmointikaapeli ja lähetyskoodi

Liitä vakio -ohjelmointikaapeli ja lähetyskoodi
Liitä vakio -ohjelmointikaapeli ja lähetyskoodi

Liitä vakio -ohjelmointikaapeli ja lähetä koodi. Tässä on esimerkki koodista, jolla pääset alkuun. Tämä koodi seuraa liikettä LF- ja FD -komentojen avulla. Se vaihtaa IOLine 7: n (kytketty LEDiin) ja heijastaa CMUCam -kameran seurannan tilan LED -valoa.

& apos ******** sarjaporttiin liittyvät objektit ******** Dim serialPort kuten uusi oSerialPortDim txBuff As New oBuffer27 & aposchange the 27 to make the puskuri isompi/pienempi Dim rxBuff As New oBuffer10Dim serialActive_LED As New oDIO1Dim toggleSerial_Button Uusi oDIO1Dim -kytkinSerial_Event Uutena oEventDim toggleSerial_Wire Uutena oWireDim serialReceived_Event As New oEventDim serialRecept_Wire As new oWire & apos ******** debug related items ******** Dim statLED As new oDIO1 & apos ******* ************************************** & apos*Yleiset aliohjelmat*& apot ****** ***************************************************************************************************************************************************************************************************************************************************** seuraa vain massakeskipistettä CMUCAM_setOutputMask (2, 3) ja lataa alkuerokehyksemme CMUCAM_loadDiffFrame () & aloita erolaskenta CMUCAM_startDiffCalc (10) End SubSub main_init & aposinitialize a status LED statLED. IOLine = 7 statLED. Direput = apinohjaus) Loppu Su b & aposessit saivat paketteja. Location = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. 0 Else statLED = 1 End IfEnd Sub & apos ****************************************** **** & apos*CMU Cam Functions*& apos *************************************** ******* & annetut ledit johtavat päälle, pois päältä, automaattinen & aposparam led led -lukumäärä (0, 1) & aposparam val off, on, auto (0, 1, 2) Toiminto CMUCAM_ledSet (ledNum As Byte, val As Byte) Koska tavu & aposVString ei toiminut oikeassa uudessa kääntäjässä … & en ole varma vanhasta & apostxBuff. VString = "L0 0" & aseta komentorivimme manuaalisesti txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe s tr $ -funktio on perseestä… joten nyt tämä tapahtuu = 13 & lue komento serial_SendBufferEnd Sub & lataa alkuperäisen eron frameSub CMUCAM_loadDiffFrame () & lue komentojonomme manuaalisesti txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "t" tx tx Arvo = 13 & lupaa komento serial_SendBufferEnd Sub & aposstarts laskee kehyserot & aposparam threes -kynnys (0-9) Sub CMUCAM_startDiffCalc (thresh As Byte) Dim kymmeniä As Byte & apossetup komentojonomme manuaalisesti txBuff. Location = 0 txBuff. Value = " 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 tens = thresh/10 txBuff. Value = serial_toChar (kymmeniä) txBuff. Location = 4 tens = thresh/10 txBuff.alue = serial_toChar (thresh-tens) txBuff. Location = 5 txBuff. Value = 1 3 & lue komento serial_SendBufferEnd Sub & apossets the output mask & aposparam packetTyypin pakettityyppi maskiin (0, 1, 2 jne.) Katso sivu 46 & aposparam mask mask value to use (0-255) Sub CMUCAM_setOutputMask (packetType As Byte, mask By by) Dim Kuten tavu Dim kymmeniä Byte & apossetup komentojonomme manuaalisesti 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 use txBuff. Location = 5 sadat = maski/100 txBuff. Value = serial_toChar (satoja) txBuff. Location = 6 (maski-satoja)/10 txBuff. Value = serial_toChar (kymmeniä) txBuff. Location = 7 txBuff. Value = serial_toChar (maski-satoja-kymmeniä) & aposcarriage return txBuff. Location = 8 txBuff. Value = 13 & lupaa komento serial_SendBuff ********************************************* ja apot*Yleiset sarjasovellukset *& apo s ********************************************* & aposinitializes sarja portSub serial_init () & aposinitialize -painike sarjaportin kytkemiseksi päälle ja pois päältä (käynnistä käynnissä, sammuta ohjelma) Linkki (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinitialize tapahtuma puskuroimaan tietomme = 0 & aposinitialize sarjaporttimme serialPort. Baud = cv9600 & aposinitialize meidän serial status LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & aposwait täällä, kunnes sarjaporttimme aktivoituu, kun serialPort. Operate = cvFalse WendEnd Sub & aposcopes -tiedot pakettien valmistuminenSub serialRe ceive_Event_Code () & apos.received muuttuu vääräksi, kun 4 tavun puskuri on tyhjä. Vaikka (serialPort. Received = cvTrue) & aposcopy tavu puskurillemme rxBuff. Value = serialPort. Value & aposcheck for the end of paketti If rxBuff. Value = 13 & apoprocess packet & nollaa puskuri alkuun rxBuff. Location = 0 Muu rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns päälle ja pois ohjelmoinnin sarjaportista serialPort. Operate = cvFalse serialActive_LED = 0 Lopeta IfEnd Sub & muuntaa yksinumeroisen numeron merkiksi Toiminto serial_toChar (inVal As tavu) As Byte Dim retVal Byte Select Case inVal Case 0 retVal = "0" Case 1 retVal = "1" Case 2 retVal = "2" tapaus 3 retVal = "3" tapaus 4 retVal = "4" tapaus 5 retVal = "5" tapaus 6 retVal = "6" tapaus 7 retVal = "7" tapaus 8 retVal = "8" tapaus 9 retVal = "9" Loppu Valitse serial_toChar = retValEnd Toiminto & apos ds tiedot, jotka sisältyvät txBuff & apos -sovellukseen Huomautus: varmista, että puskurin lopussa on vaunun palautus (13)!. Value ooPIC. Delay = 1 & ei ehkä tarvitse tätä & apossee jos se oli vaunun palautus If txBuff. Value = 13 & aposbreak from our loop Return End End & aposgo to the next character txBuff. Location = txBuff. Location + 1 WendEnd Sub

Vaihe 4: Irrota ohjelmointiliitin

Irrota ohjelmointiliitin
Irrota ohjelmointiliitin
Irrota ohjelmointiliitin
Irrota ohjelmointiliitin

Kun ohjelmointiliitin on irrotettu, kiinnitä uusi kaapelikokoonpano alla olevan kuvan mukaisesti. Vaiheessa 1 valmistetun sovittimen pitäisi mahdollistaa CMUCam -laitteen liittäminen suoraan OOPIC -verkkoon

Vaihe 5: Alusta sarjaliikenne painamalla painiketta

IOLine 5: n painike käynnistää sarjaliikenteen CMUCamin ja OOPICin välillä. Koska sarjaporttia käytetään sekä ohjelmointiin että CMUCamiin, näiden kahden välillä pitäisi todennäköisesti olla hallittu tapa vaihtaa.

Ohjelma ei käynnisty ennen kuin tätä painiketta painetaan. Jos painat painiketta uudelleen, sarjaportti poistuu käytöstä, jolloin voit ohjelmoida sen. IOLine 6: n LED näyttää nykyisen sarjaportin tilan (päällä tarkoittaa aktiivista, pois päältä valmis ohjelmointia varten).

Suositeltava: