Obsah:
- Krok 1: Výroba adaptérového kábla
- Krok 2: Zmeňte prenosovú rýchlosť na CMUCam
- Krok 3: Pripojte štandardný programovací kábel a nahrajte kód
- Krok 4: Odpojte konektor programovania
- Krok 5: Stlačením tlačidla inicializujete sériovú komunikáciu
Video: Prepojenie CMUCam2 s OOPIC: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:01
Od arsinioSledovať viac od autora:
Prehľad toho, ako prepojiť CMUCam2 a OOPIC.
Krok 1: Výroba adaptérového kábla
1. Choďte na rádioshack a kúpte si 2 z nich: Male DB-9 Solder Cup Connector2. spájkujte kolík 5 na konektore A s kolíkom 5 na konektore B (ak sa pozriete pozorne na konektor, sú označené) 3. spájkovací kolík 2 na konektore A na kolík 3 na konektore B (ak sa na konektor dobre pozriete, sú označené) 4. spájkovací kolík 3 na konektore A s kolíkom 2 na konektore B (ak sa pozriete pozorne na konektor, sú označené)
Krok 2: Zmeňte prenosovú rýchlosť na CMUCam
Zmeňte prenosovú rýchlosť CMUCamery na 9600 baudov (pridajte prepojku do polohy 0).
Krok 3: Pripojte štandardný programovací kábel a nahrajte kód
Pripojte štandardný programovací kábel a nahrajte kód. Tu je príklad kódu, ktorý vám pomôže začať. Tento kód bude sledovať pohyb pomocou príkazov LF a FD. Prepne IOLine 7 (pripojený k LED dióde) a zrkadlí stavovú kontrolku LED na CMUCam.
& apos ******** objekty súvisiace so sériovým portom ******** Dim serialPort as New oSerialPortDim txBuff As New oBuffer27 & aposchange the 27 to make the buffer greater/smallerDim rxBuff As New oBuffer10Dim serialActive_LED As New oDIO1Dim toggleSerial_Button As Nový prepínač oDIO1DimSerial_Event ako nový oEventDim toggleSerial_Wire ako nový oWireDim serialReceive_Event ako nový oEventDim serialReceive_Wire ako nový oWire & apos ******** ladiť súvisiace objekty ******** Dim statLED ako nový o*** ****************************************************************************** **************************************************************************** len nasledovať ťažisko CMUCAM_setOutputMask (2, 3) & aposload our initial difference frame CMUCAM_loadDiffFrame () & aposstart the Difference Calculation CMUCAM_startDiffCalc (10) End SubSub main_init & aposinitialize a status LED statLED. IOLine = 7 statLED. Direction = cvO) Koniec Su b & aposproceses prijaté paketySub processPacket () Dim mx As Byte Dim my As Byte & aposcheck for Mx and My to be 0 & aposgranted if they are 0, the location will off (tj & aposT 12 34) & aposbut then they win & apost meet the 0 criteria rxBuff. Poloha = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe LED by mala blikať súčasne s LED diódou na kamere If (mx = "0") And (my = "0") statLED = 0 Ostatné statLED = 1 Koniec IfEnd Sub & apos ********************************** **** & apos*CMU Cam Functions*& apos ************************************** ******* & apossets the LED led on on, off, automatic & aposparam led Led number of led led (0, 1) & aposparam val off, on, auto (0, 1, 2) Function CMUCAM_ledSet (ledNum As Byte, val As Byte) Pretože Byte & aposVString nepracoval priamo v novom kompilátore … & nie je si istý starým & apostxBuff. VString = "L0 0" & apossetup náš príkazový reťazec ručne txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe s tr $ funkcia je nanič … takže teraz sa to deje txBuff. Value = serial_toChar (ledNum) txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 txBuff. Value = serial_toChar (val) txBuff. Location = 4 txBuff. Value = 13 & aposend the command serial_SendBufferEnd Sub & aposloads the initial difference frameSub CMUCAM_loadDiffFrame () & apossetup our command string manually txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "F" txBuff. Hodnota = 13 & povoliť príkaz serial_SendBufferEnd Sub & aposstarts výpočty rozdielov rámcov & prahová hodnota prahu aposparamu (0-9) Sub CMUCAM_startDiffCalc (thresh As Byte) Dim desiatky ako Byte & apossetup náš príkazový reťazec ručne txBuff. Location = 0 txBuff. Value = "F" tx 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 desiatky = mlátiť/10 txBuff. Value = serial_toChar (desiatky) txBuff. Location = 4 desiatky = mlátiť/10 txBuff. Value = serial_toChar (thresh-desiatky) txBuff. Location = 5 txBuff. Value = 1 3 & apossend the command serial_SendBufferEnd Sub & apossets the output mask & aposparam packetType type of packet to mask (0, 1, 2, etc.) see page 46 & aposparam mask mask value use (0-255) Sub CMUCAM_setOutputMask (packetType As Byte, mask As Byte) Dim stovky As Byte Dim desiatky As Byte & apossetup our command string manually txBuff. Location = 0 txBuff. Value = "O" txBuff. Location = 1 txBuff. Value = "M" txBuff. Location = 2 txBuff. Value = "" & apospacket type txBuff. Poloha = 3 txBuff. Value = serial_toChar (packetType) txBuff. Location = 4 txBuff. Value = "" & aposmask na použitie txBuff. Location = 5 stoviek = maska/100 txBuff. Value = serial_toChar (stovky) txBuff. Location = 6 desiatok = (masky-stovky)/10 txBuff. Value = serial_toChar (desiatky) txBuff. Location = 7 txBuff. Value = serial_toChar (masky-stovky-desiatky) & aposcarriage vrátiť txBuff. Location = 8 txBuff. Value = 13 & apossend the command serial_SendBufferEnd Sub & **************************************************************************************** *& apo s ************************************************ portSub serial_init () & aposinitialize tlačidlo na zapnutie a vypnutie sériového portu (zapnutie spustenia, vypnutie programu) toggleSerial_Button. IOLine = 5 toggleSerial_Button. Direction = cvInput toggleSerial_Wire. Input. Link (toggleSerial_ButtonVal Odkaz (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinitialize an event to buffer our data serialReceive_Wire. Input. Link (serialPort. Received) serialReceive_Wire. Output. Link (serialReceive_Event. Office) = 0 & aposinitialize our serial port serialPort. Baud = cv9600 & aposinitialize our serial status LED LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & apos vyčkajte tu, kým sa náš sériový port neaktivuje Kým serialPort. Operate = cvFalse WendEnd Sub & aposcopies dokončenie paketuSub serialRe ceive_Event_Code () & apos.received sa stane falošným, keď je 4byte medzipamäť prázdna While (serialPort. Received = cvTrue) & aposkopia bajt do nášho buffera rxBuff. Value = serialPort. Value & aposcheck pre koniec paketu If rxBuff. Value = 13 & aposprocess packet process & aposreset buffer na začiatok rxBuff. Location = 0 Else rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns on and off the serial port for programmingSub toggleSerial_Event_Code () If serialPort. Operate = cvFalse serialPort. O serialPort. Operate = cvFalse serialActive_LED = 0 End IfEnd Sub & aposkonvertuje jednociferné číslo na 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 retVal = "2" Prípad 3 retVal = "3" Prípad 4 retVal = "4" Prípad 5 retVal = "5" Prípad 6 retVal = "6" Prípad 7 retVal = "7" Prípad 8 retVal = "8" Prípad 9 retVal = Koniec „9“Vyberte serial_toChar = retValEnd Funkcia & apos sen ds údaje obsiahnuté v txBuff & apos Poznámka: uistite sa, že vyrovnávacia pamäť obsahuje na konci návrat vozíka (13) !! Sub serial_SendBuffer () & apositerate cez, odoslanie každého bajtu, koniec na návrat vozíka txBuff. Location = 0 Kým 1 serialPort. Value = txBuff. Hodnota ooPIC. Delay = 1 & nemusí to potrebovať & apossee, ak to bol návrat vozíka If txBuff. Value = 13 & aposbreak out of our loop Return End If & aposgo to the next character txBuff. Location = txBuff. Location + 1 WendEnd Sub
Krok 4: Odpojte konektor programovania
Po odpojení programovacieho konektora pripojte novú zostavu káblov podľa nižšie uvedeného obrázku. Adaptér vyrobený v kroku 1 by mal umožniť priame zapojenie CMUCamu do OOPIC
Krok 5: Stlačením tlačidla inicializujete sériovú komunikáciu
Tlačidlo na IOLine 5 spustí sériovú komunikáciu medzi CMUCam a OOPIC. Pretože sériový port slúži na programovanie aj na CMUCam, pravdepodobne by mal existovať kontrolovaný spôsob prepínania medzi týmito dvoma.
Program sa nespustí, kým nestlačíte toto tlačidlo. Ak znova stlačíte tlačidlo, sériový port sa deaktivuje, čo vám umožní ho naprogramovať. LED na IOLine 6 zobrazuje aktuálny stav sériového portu (zapnutý znamená aktívny, vypnutý znamená pripravený na programovanie).
Odporúča:
Prepojenie zobrazovacieho modulu TM1637 s Arduino: 3 kroky
Prepojenie zobrazovacieho modulu TM1637 s Arduino: As-Salam-O-Aleykum! Môj tento návod je o prepojení zobrazovacieho modulu TM1637 s Arduino. Toto je štvormiestny sedemsegmentový zobrazovací modul. Dodáva sa v rôznych farbách. Moja je červená farba. Používa Tm1637 Ic
Odblokovací adaptér ovládača PS2 pre prepojenie Arduino: 10 krokov
Odblokovací adaptér ovládača PS2 pre prepojenie Arduino: Ovládač PlayStation 2 je skutočne užitočný gamepad pre robotické projekty. Je to lacné, hojne dostupné (z druhej ruky), má veľa tlačidiel a je kompatibilné s Arduino! Na to, aby ste ho mohli používať, potrebujete špeciálny konektor na zapojenie
Prepojenie senzora Infineon DPS422 s Infineon XMC4700 a odosielanie údajov na NodeMCU: 13 krokov
Rozhranie Infineon DPS422 senzor s Infineon XMC4700 a odosielanie dát na NodeMCU: V tomto návode sa naučíme používať DPS422 na meranie teploty a barometrického tlaku pomocou XMC4700. DPS422DPS422 je miniaturizovaný digitálny barometrický snímač tlaku a teploty vzduchu s vysokou presnosťou a nízkym prúdom. spotreba
Prepojenie servomotora s NodeMCU: 6 krokov (s obrázkami)
Prepojenie servomotora s NodeMCU: Ahoj všetci, toto je môj prvý projekt s pokynmi. Chcete začať s NodeMCU? No, som tu, aby som sa s vami podelil. Dnes vám ukážem, ako začať s NodeMCU. Poďme! NodeMCU má na palube ESP8266-12E
Ahoj Blynk! Prepojenie SPEEEduino s aplikáciou Blynk: 5 krokov
Ahoj Blynk! Rozhranie SPEEEduino s aplikáciou Blynk: Čo je to SPEEEduino? SPEEEduino je doska mikrokontroléra s podporou Wi-Fi založená na ekosystéme Arduino postavená pre pedagógov. SPEEEduino kombinuje tvarový faktor a mikrokontrolér Arduino s Wi-Fi SoC ESP8266, čím