Sisukord:
- Samm: adapterkaabli valmistamine
- 2. samm: muutke CMUCami baudi kiirust
- Samm: ühendage standardprogrammeerimiskaabel ja üleslaadimiskood
- Samm: eemaldage programmeerimisühendus
- Samm: jadaühenduse initsialiseerimiseks vajutage nuppu
Video: CMUCam2 liidestamine OOPIC -iga: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
Jälgige rohkem autorit:
Ülevaade CMUCam2 ja OOPIC -i liidestamisest.
Samm: adapterkaabli valmistamine
1. Minge radioshacki ja ostke neist 2: isane DB-9 Solder Cup Connector2. jootetihvt 5 pistikul A kuni tihvt 5 pistikul B (kui vaatate hoolikalt pistikut, on need märgistatud) 3. jootetihvt 2 pistikul A kuni tihvt 3 pistikul B (kui vaatate hoolikalt pistikut, on need märgistatud) 4. jootetihvt 3 pistikul A kuni tihvt 2 pistikul B (kui vaatate pistikut hoolikalt, on need märgistatud)
2. samm: muutke CMUCami baudi kiirust
Muutke CMUCamera andmeedastuskiiruseks 9600 baud (lisage hüppaja asendisse 0).
Samm: ühendage standardprogrammeerimiskaabel ja üleslaadimiskood
Ühendage tavaline programmeerimiskaabel ja laadige oma kood üles. Siin on mõned näite koodid alustamiseks. See kood jälgib liikumist, kasutades käske LF ja FD. See lülitab IOLine 7 (ühendatud LED -iga) ja peegeldab CMUCami jälgimisoleku LED -i.
& apos ******** jadapordiga seotud objektid ******** Dim serialPort nagu uus oSerialPortDim txBuff As New oBuffer27 & aposchange 27, et muuta puhver suuremaks/väiksemaks Uus oDIO1Dim toggleSerial_Event Nagu uus oEventDim toggleSerial_Wire Nagu uus oWireDim serialReceived_Event Nagu uus oEventDim serialRecept_Wire nagu uus oWire & apos ******** silumisega seotud objektid ******** Dim statLED nagu uus oDIO1 & apos ******* ************************************** & apos*Üldised alamprogrammid*& apos ****** ************************************************************************************* järgige ainult massikeskust CMUCAM_setOutputMask (2, 3) ja laadige uuesti meie esialgne erinevuste raam CMUCAM_loadDiffFrame () & käivitage erinevuste arvutamine CMUCAM_startDiffCalc (10) Lõpp SubSub main_init & aposinitialize a status LED statLED. IOLine = 7 statLED. Direput = ciosin) Lõpp Su b & aproprotsessid said pakette AlamprotsessPacket () Dim mx As Byte Dim My As Byte & aposcheck nii Mx kui My jaoks 0 ja vabandatakse, kui need pole 0, on asukoht välja lülitatud (st & aposT 12 34) & aposbut siis nad võitsid & apost vastavad 0 kriteeriumile rxBuff. Location = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe led peaks vilguma koos kaamera jälgimisdioodiga If (mx = "0") And (my = "0") statLED = 0 Else statLED = 1 End IfEnd Sub & apos ****************************************** **** & apos*CMU Cam Functions*& apos *************************************** ******* & etteantud LED -ide sisse- ja väljalülitamine, automaatne & aposparam led) Kuna bait & aposVString ei töötanud uues kompilaatoris õigesti … & pole vana osas kindel & apostxBuff. VString = "L0 0" & lubab meie käsurida käsitsi seadistada txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe s Funktsioon tr $ imeb… nii et nüüd juhtub see = 13 & luba käsk serial_SendBufferEnd Sub & laadib algse erinevuse frameSub CMUCAM_loadDiffFrame () & kinnitab meie käsurida käsitsi txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "t" txBuff. Location = 1 txBuff. Value = "t" tx Väärtus = 13 & luba käsk serial_SendBufferEnd Sub & aposstarts hakkab arvutama kaadri erinevusi ja aprasparami künniskünnist (0-9) Sub CMUCAM_startDiffCalc (threes As Byte) Dim kümneid By By & apossetup meie käsustring käsitsi txBuff. Location = 0 txBuff. Value = " 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 tens = thresh/10 txBuff. Value = serial_toChar (kümned) txBuff. Location = 4 tens = thresh/10 txBuff.alue = serial_toChar (thresh-tens) txBuff. Location = 5 txBuff. Value = 1 3 & paluge käsk serial_SendBufferEnd Sub & apossets the output mask & aposparam packetTüüpi pakett-tüüpi maski (0, 1, 2 jne) vt lk 46 & aposparam mask mask value to use (0-255) Sub CMUCAM_setOutputMask (packetType As bait, mask kui bait) Dim Nagu bait Dim kümneid Byte & apossetup meie käsurida käsitsi 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, et rakendada txBuff. Location = 5 sadu = mask/100 txBuff. Value = serial_toChar (sadu) txBuff. Location = 6 (mask-sadu)/10 txBuff. Value = serial_toChar (kümneid) txBuff. Location = 7 txBuff. Value = serial_toChar (mask-sadu-kümneid) & aposcarriage return txBuff. Location = 8 txBuff. Value = 13 & käsu serial_SendBuff lubamine ******************************************** ja apos*General Serial Subroutines *& apo s ******************************************** & aposinitialiseerib sarja portSub serial_init () & aposinitialize nupp jadapordi sisse- ja väljalülitamiseks (lülitage käivitamiseks sisse, lülitage programm välja) 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 sündmus, et meie andmed puhverdada = 0 & aposinitialiseeri meie jadapordi serialPort. Baud = cv9600 & aposinitialize meie jadaseisundi LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & aposwait siin, kuni meie jadaport aktiveerub. pakettide lõpuleviimineSub serialRe ceive_Event_Code () & apos.received muutub valeks, kui 4 -baidine puhver on tühi Kuigi (serialPort. Received = cvTrue) & aposcopy bait meie puhvrisse rxBuff. Value = serialPort. Value & aposcheck paketi lõpu jaoks If rxBuff. Value = 13 & apaprocess & seadistage puhver algusesse rxBuff. Location = 0 Muu rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns sisse ja välja lülitamiseks programmeerimise jadapordi jaoks serialPort. Operate = cvFalse serialActive_LED = 0 End IfEnd Sub & konverteerib ühekohalise numbri tähemärgiksFunktsioon serial_toChar (inVal As bait) As Byte Dim retVal As Byte Valige Case inVal Case 0 retVal = "0" Case 1 retVal = "1" Case 2 retVal = "2" juhtum 3 retVal = "3" juhtum 4 retVal = "4" juhtum 5 retVal = "5" juhtum 6 retVal = "6" juhtum 7 retVal = "7" juhtum 8 retVal = "8" juhtum 9 retVal = "9" Lõpp Vali serial_toChar = retValEnd Funktsioon & apos sen ds txBuff & apos sisalduvad andmed Märkus: veenduge, et puhvri lõpus oleks käru tagastamine (13) !! Alamseeria_SendBuffer () & vabandage läbi, saates iga baidi, veo tagastamisel txBuff. Location = 0 Kuigi 1 serialPort. Value = txBuff. Value ooPIC. Delay = 1 & ei pruugi seda & apossee vaja, kui see oli vaguni tagasisaatmine
Samm: eemaldage programmeerimisühendus
Kui programmeerimispistik on lahti ühendatud, kinnitage uus kaablikomplekt, nagu allpool näidatud. Etapis 1 valmistatud adapter peaks võimaldama CMUCami otse OOPIC -i ühendada
Samm: jadaühenduse initsialiseerimiseks vajutage nuppu
IOLine 5 nupp käivitab CMUCami ja OOPICi vahelise jadaühenduse. Kuna jadapordi kasutatakse nii programmeerimiseks kui ka CMUCami jaoks, peaks nende vahel tõenäoliselt olema kontrollitud viis.
Programm ei tööta enne, kui seda nuppu vajutatakse. Kui vajutate nuppu uuesti, muutub jadaport passiivseks, võimaldades teil seda programmeerida. IOLine 6 valgusdiood kuvab jadaporti praeguse oleku (sisse lülitatud tähendab aktiivset, väljalülitatud tähendab programmeerimiseks valmisolekut).
Soovitan:
GPS -mooduli liidestamine Raspberry Pi -ga: Dashcam 2. osa: 3 sammu
GPS -mooduli liidestamine Raspberry Pi -ga: Dashcam 2. osa: See on dashcam -projekti 2. osa ja selles postituses õpime, kuidas ühendada GPS -moodul Raspberry Pi -ga. Seejärel kasutame GPS -andmeid ja lisame need videole teksti ülekattena. Palun lugege 1. osa, kasutades allolevat linki, enne kui
Arvutiklaviatuuri liidestamine 8051 mikrokontrolleriga: 6 sammu
Arvutiklaviatuuri liidesed 8051 mikrokontrolleriga: Selles projektis olen teile selgitanud, kuidas saame ühendada oma arvuti klaviatuuri 8051 mikrokontrolleriga
TMP-112 liidestamine Arduino Nanoga (I2C): 5 sammu
TMP-112 liides Arduino Nanoga (I2C): Tere, tervitused! temperatuurianduri TMP-112 analoogandmed
Infineon DPS422 anduri liidestamine Infineon XMC4700 -ga ja andmete saatmine sõlmeMCU -le: 13 sammu
Infineon DPS422 anduri liidestamine Infineon XMC4700 -ga ja andmete saatmine NodeMCU -sse: Selles õpetuses õpime, kuidas kasutada DPS422 temperatuuri ja õhurõhu mõõtmiseks XMC4700 -ga. DPS422 tarbimine
3-teljelise güroskoopianduri BMG160 liidestamine Raspberry Pi-ga: 5 sammu
3-teljelise güroskoopianduri BMG160 liides Raspberry Pi-ga: tänapäeva maailmas armastavad rohkem kui pooled noored ja lapsed mängimist ning kõik need, kellele see meeldib, on hasartmängude tehnilistest aspektidest lummatud, tunnevad liikumise tuvastamise tähtsust. selles domeenis. Ka meid hämmastas sama asi