Talaan ng mga Nilalaman:
- Hakbang 1: Paggawa ng Adapter Cable
- Hakbang 2: Baguhin ang Baud Rate sa CMUCam
- Hakbang 3: Ikonekta ang Standard Programming Cable at Mag-upload ng Code
- Hakbang 4: Idiskonekta ang Konektor ng Programming
- Hakbang 5: Pindutin ang Button upang Pasimulan ang Serial Communication
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:15
Sundin ang Higit Pa ng may-akda:
Pangkalahatang ideya ng kung paano i-interface ang isang CMUCam2 sa at OOPIC.
Hakbang 1: Paggawa ng Adapter Cable
1. Goto radioshack at bumili ng 2 sa mga ito: Male DB-9 Solder Cup Connector2. solder pin 5 sa konektor A hanggang sa pin 5 sa konektor B (kung titingnan mong mabuti ang konektor, minarkahan ang mga ito) 3. solder pin 2 sa konektor A hanggang sa pin 3 sa konektor B (kung titingnan mong mabuti ang konektor, minarkahan ang mga ito) 4. solder pin 3 sa konektor A hanggang sa pin 2 sa konektor B (kung titingnan mong mabuti ang konektor, minarkahan ang mga ito)
Hakbang 2: Baguhin ang Baud Rate sa CMUCam
Baguhin ang rate ng baud ng CMUCamera sa 9600 baud (magdagdag ng isang lumulukso sa posisyon na 0).
Hakbang 3: Ikonekta ang Standard Programming Cable at Mag-upload ng Code
Ikonekta ang karaniwang programming cable at i-upload ang iyong code. Narito ang ilang halimbawang code upang makapagsimula ka. Susubaybayan ng code na ito ang paggalaw gamit ang mga utos ng LF at FD. I-toggle nito ang IOLine 7 (naka-hook sa isang LED) at i-mirror ang status ng pagsubaybay na LED sa CMUCam.
& apos ******** mga kaugnay na bagay sa pantalan **** **** Madilim na serialPort Bilang Bagong oSerialPortDim txBuff Bilang Bago oBuffer27 & aposchange ang 27 upang gawing mas malaki / mas maliit ang bufferDim rxBuff Bilang Bagong oBuffer10Dim serialActive_LED Bilang Bagong oDIO1Dim toggleSerial_button As Bagong oDIO1Dim toggleSerial_Event Bilang Bagong oEventDim toggleSerial_Wire Bilang Bagong oWireDim serialReceive_Event Bilang Bagong oEventDim serialReceive_Wire Bilang Bagong oWire at apos ******** debug na kaugnay na mga bagay ******** Dim statLED As New oDIO1 & apos ******** ***** ***** sundin lamang ang gitna ng masa CMUCAM_setOutputMask (2, 3) at aposload ang aming paunang pagkakaiba-iba ng frame CMUCAM_loadDiffFrame () & aposstart ang pagkalkula ng pagkakaiba CMUCAM_startDiffCalc (10) End SubSub main_init & aposinitialize a status LED statLED. IOLine = 7 statLED.) Wakas Su b & aposprocesses natanggap packetSub processPacket () Dim mx Bilang Byte Dim my As Byte & aposcheck para sa parehong Mx at My na maging 0 & aposgranted kung hindi sila 0, ang lokasyon ay mawawala (ie & aposT 12 34) & aposbut pagkatapos ay nanalo sila at natutugunan ng 0 na pamantayan rxBuff. Location = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe led ay dapat magpikit nang magkakasabay sa pagsubaybay na LED sa camera Kung (mx = "0") At (my = "0") na statLED = 0 Iba pang statLED = 1 Wakas Kung Magwawakas ng Sub at mga apos ***** **** & apos * Mga Pag-andar ng CMU Cam * at mga apos ***** ***** & aposset na ibinigay na humantong sa, off, awtomatikong at aposparam na humantongNum na bilang ng led (0, 1) & aposparam val off, on, auto (0, 1, 2) Function CMUCAM_ledSet (ledNum As Byte, val As Byte) Tulad ng Byte & aposVString wasn & apost na gumagana mismo sa bagong tagatala… at hindi sigurado tungkol sa luma at apostxBuff. VString = "L0 0" & apossetup ang aming command string nang manu-mano txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe s tr $ function sucks … kaya ngayon nangyayari ito txBuff. Value = serial_toChar (ledNum) txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 txBuff. Value = serial_toChar (val) txBuff. Location = 4 txBuff. Value = 13 & apossend ang command serial_SendBufferEnd Sub & aposloads ang paunang pagkakaiba frameSub CMUCAM_loadDiffFrame () at i-apossetup ang aming command string nang manu-mano txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "F" txBuff. Location = 2 txBuff. Value = "F" txBuff. Location = Halaga = 13 at ilagay ang utos na serial_SendBufferEnd Sub at mga aposstart na kinakalkula ang mga pagkakaiba ng frame at aposparam threshold (0-9) Sub CMUCAM_startDiffCalc (thresh As Byte) Madilim na sampu Bilang Byte & apossetup ang aming command string nang manu-mano txBuff. Location = 0 txBuff. Value = "F" txBuff. 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 sampu = thresh / 10 txBuff. Value = serial_toChar (sampu) txBuff. Location = 4 sampu = thresh / 10 txBuff. Value = serial_toChar (thresh-ten) txBuff. Location = 5 txBuff. Value = 1 3 & apossend ang command serial_SendBufferEnd Sub & apossets ang output mask & aposparam packetType na uri ng packet upang mask (0, 1, 2, atbp) tingnan ang pahina 46 at halaga ng mask ng aposparam mask upang mailapat (0-255) Sub CMUCAM_setOutputMask (packetType Bilang Byte, mask As Byte) Madilim na daan-daang Bilang Byte Dim sampu Bilang Byte & apossetup ang aming command string nang manu-mano txBuff. Location = 0 txBuff. Value = "O" txBuff. Location = 1 txBuff. Value = "M" txBuff. Location = 2 txBuff. Value = "" & apospacket type txBuff. Lokasyon = 3 txBuff. Value = serial_toChar (packetType) txBuff. Location = 4 txBuff. Value = "" & aposmask upang mailapat ang txBuff. Location = 5 daan = mask / 100 txBuff. Value = serial_toChar (daan-daang) txBuff. Location = 6 sampu = (mask-daan-daan) / 10 txBuff. Value = serial_toChar (sampu) txBuff. Location = 7 txBuff. Value = serial_toChar (mask-gatus-sampung) at pagbalik ng aposcarriage txBuff. Location = 8 txBuff. Value = 13 at i-apossend ang utos serial_SendBufferEnd Sub & apos * ***** * & apo s ***** portSub serial_init () & aposinitialize ng isang pindutan upang i-on at i-off ang serial port (i-on upang patakbuhin, i-off sa programa) Mag-link (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinitialize ng isang kaganapan upang buffer ang aming data serialReceive_Wire Input. Link (serialPort. Received) serialReceive_Wire. Output. Link (serialReceive_Event. Operate) = 0 & aposinitialize ang aming serial port serialPort. Baud = cv9600 & aposinitialize ang aming serial status LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & aposwait dito hanggang sa ma-aktibo ang aming serial port Habang serialPort. Operate = cvFalse WendEnd Sub para sa mga datos at tatanggapin pagkumpleto ng packSub serialRe ceive_Event_Code () & apos.received nagiging maling kapag ang 4byte buffer ay walang laman Habang (serialPort. Received = cvTrue) & aposcopy ang byte sa aming buffer rxBuff. Value = serialPort. Value & aposcheck para sa pagtatapos ng packet Kung rxBuff. Value = 13 & aposprocess packet processPacket & aposreset ang buffer sa simula rxBuff. Location = 0 Else rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns on and off the serial port for programmingSub toggleSerial_Event_Code () Kung serialPort. Operate = cvFalse serialPort. Operate = cseFalse serialPort. serialPort. Operate = cvFalse serialActive_LED = 0 End IfEnd Sub & aposconverts a single digit 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 retVal = "2" Case 3 retVal = "3" Case 4 retVal = "4" Case 5 retVal = "5" Case 6 retVal = "6" Case 7 retVal = "7" Case 8 retVal = "8" Case 9 retVal = "9" End Select serial_toChar = retValEnd Function at apos sen ds ang data na nilalaman sa txBuff & apos Tandaan: siguraduhin na ang buffer ay naglalaman ng isang pagbalik ng karwahe (13) sa dulo !! Sub serial serial_endBuffer () & apositerate sa pamamagitan ng, pagpapadala ng bawat byte, magtatapos sa cartery return txBuff. Location = 0 Habang 1 serialPort. Value = txBuff. Value ooPIC. Delay = 1 & aposmight hindi kailangan ito at apossee kung ito ay isang pagbalik sa karwahe Kung txBuff. Value = 13 & aposbreak palabas ng aming loop Return End Kung & aposgo sa susunod na character txBuff. Location = txBuff. Location + 1 WendEnd Sub
Hakbang 4: Idiskonekta ang Konektor ng Programming
Kapag na-disconnect ang konektor ng programa, ikabit ang bagong pagpupulong ng cable tulad ng ipinakita sa ibaba. Ang adapter na ginawa sa hakbang 1 ay dapat payagan ang CMUCam na direktang mai-plug sa OOPIC
Hakbang 5: Pindutin ang Button upang Pasimulan ang Serial Communication
Ang pindutan sa IOLine 5 ay magsisimula ng serial na komunikasyon sa pagitan ng CMUCam at ng OOPIC. Dahil ang serial port ay ginagamit para sa parehong programa at CMUCam, marahil ay dapat na may isang kontroladong paraan ng pag-toggling sa pagitan ng dalawa.
Ang programa ay hindi tatakbo hanggang sa ang pindutang ito ay pinindot. Kung pinindot mo muli ang pindutan, ang serial port ay hindi gagana, pinapayagan kang i-program ito. Ipinapakita ng LED sa IOLine 6 ang kasalukuyang katayuan ng serial port (sa ibig sabihin ay aktibo, off nangangahulugang handa na para sa pag-program).
Inirerekumendang:
Ang Pagkakaiba sa Pagitan (Alternatibong Kasalukuyan at Direktang Kasalukuyang): 13 Mga Hakbang
Ang Pagkakaiba sa Pagitan (Alternatibong Kasalukuyan at Direktang Kasalukuyang): Alam ng lahat na ang kuryente ay halos Dc, ngunit paano ang isa pang uri ng kuryente? Kilala mo Ac? Ano ang paninindigan ng AC? Magagamit ba pagkatapos DC? Sa pag-aaral na ito malalaman natin ang pagkakaiba sa pagitan ng mga uri ng kuryente, mapagkukunan, applicatio
Isang Halloween Scare Machine Gamit ang isang PIR, isang 3D Printed Pumpkin at ang Troll Arduino Compatible Audio Pranker / practical Joke Board .: 5 Mga Hakbang
Isang Halloween Scare Machine Gamit ang isang PIR, isang 3D Printed Pumpkin at ang Troll Arduino Compatible Audio Pranker / practical Joke Board .: Ang Troll board na nilikha ni Patrick Thomas Mitchell ng EngineeringShock Electronics, at buong pinondohan sa Kickstarter hindi pa masyadong nakakaraan. Nakuha ko ang aking gantimpala ng ilang linggo maaga upang makatulong na sumulat ng ilang mga halimbawa ng paggamit at bumuo ng isang library ng Arduino sa isang pagtatangka
Pagitan ng isang Elektronikong Organ: 6 Mga Hakbang
Pagpatuloy sa isang Elektronikong Organ: Ituturo sa iyo ang gabay na ito sa pagkuha ng matandang hindi mahal na elektronikong organ na mayroon ka sa iyong garahe o basement, at nagko-convert sa isang modernong instrumentong pangmusika. Hindi kami masyadong magtutuon sa mga detalye ng partikular na organ na mayroon ka, iba pang
Accesspoint - Istasyon ng Komunikasyon sa Pagitan ng Dalawang mga ESP8266 MCU: 3 Mga Hakbang
Accesspoint - Istasyon ng Komunikasyon sa Pagitan ng Dalawang Mga MC8 ng ESP8266: Kamusta Mga Gumagawa! Sa aking nakaraang itinuro gumawa ako ng isang komunikasyon sa WiFi sa pagitan ng dalawang mga ESP8266 MCU sa pamamagitan ng isang router ng WiFi sa bahay. Tulad ng nakita ko mula sa mga komento may mga Gumagawa na nais na gumamit ng ESP8266 MCUs na malayo sa saklaw ng isang router. Kaya narito ang isang bar
Kopyahin at I-paste at I-access ang Mga File Sa Pagitan ng Maramihang Mga Computer: 3 Hakbang
Kopyahin at I-paste at I-access ang Mga File Sa Pagitan ng Maramihang Mga Computer: Natagpuan ko lang ang isang website na nagbibigay-daan sa mga tao na kopyahin at i-paste ang anumang teksto, larawan, video, atbp sa pagitan ng maraming mga computer. Pinapayagan ka ring lumikha ng isang board ng mensahe, mag-upload ng mga file, at mai-print ang iyong webpage. At ang pinakamagandang bahagi ay, wala kang