Satura rādītājs:
- 1. darbība. Adaptera kabeļa izgatavošana
- 2. solis: mainiet CMCam Baud ātrumu
- 3. darbība: pievienojiet standarta programmēšanas kabeli un augšupielādes kodu
- 4. darbība: atvienojiet programmēšanas savienotāju
- 5. solis: nospiediet pogu, lai inicializētu seriālo komunikāciju
Video: CMUCam2 sasaiste ar OOPIC: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:58
Seko vairāk autoram:
Pārskats par to, kā saslēgt CMUCam2 ar un OOPIC.
1. darbība. Adaptera kabeļa izgatavošana
1. Iet uz radioshack un iegādājieties 2 no šiem: vīriešu DB-9 lodēšanas kausa savienotājs2. lodēšanas tapa 5 uz savienotāja A līdz tapai 5 uz savienotāja B (ja uzmanīgi skatāties uz savienotāju, tie ir atzīmēti) 3. lodēšanas tapa 2 uz savienotāja A līdz savienotāja B tapa 3 (ja uzmanīgi paskatās uz savienotāju, tie ir atzīmēti) 4. lodēšanas tapa 3 uz savienotāja A līdz savienotāja B tapa 2 (ja uzmanīgi paskatās uz savienotāju, tie ir atzīmēti)
2. solis: mainiet CMCam Baud ātrumu
Mainiet CMUCamera pārraides ātrumu uz 9600 bodu (pievienojiet džemperi 0 pozīcijai).
3. darbība: pievienojiet standarta programmēšanas kabeli un augšupielādes kodu
Pievienojiet standarta programmēšanas kabeli un augšupielādējiet savu kodu. Šeit ir daži koda piemēri, lai sāktu darbu. Šis kods izsekos kustībai, izmantojot LF un FD komandas. Tas pārslēgs IOLine 7 (pievienots LED) un atspoguļos izsekošanas statusa LED uz CMUCam.
& apos ******** saistītie objekti ar sērijveida portu Jauns oDIO1Dim pārslēdzējsSerial_Event kā jauns oEventDim pārslēdzas ************************************** un apos*Vispārīgās apakšprogrammas*un apos ****** **************************************** Apakšmaģistrs & aposinitialize all main_init & aposset tikai sekojiet masas centram CMUCAM_setOutputMask (2, 3) un ielādējiet mūsu sākotnējo atšķirību rāmi CMUCAM_loadDiffFrame () & aposstart starpības aprēķinu CMUCAM_startDiffCalc (10) Beidziet SubSub main_init & aposinitialize a status LED statLED. IOLine = 7 statLED. Direction = portu sērija) Beigas Su b & aproproceses saņēma paketesSub processPacket () Dim mx As Byte Dim my As Byte & aposcheck, lai gan Mx, gan My būtu 0 un apoGranted, ja tie nav 0, atrašanās vieta būs izslēgta (ti, & aposT 12 34) & aposbut tad viņi uzvarēja & apost atbilst 0 kritērijiem rxBuff. Location = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe led vajadzētu mirgot vienlaicīgi ar izsekošanas gaismas diodi uz kameras If (mx = "0") And (my = "0") statLED = 0 Cits statLED = 1 Beigt IfEnd Sub & apos ****************************************** **** & apos*CMU Cam Functions*& apos *************************************** ******* & apossets dots noveda pie ieslēgšanas, izslēgšanas, automātiskā & aposparam led) Tā kā baits & aposVString nedarbojās tieši jaunajā kompilatorā… un neesmu pārliecināts par veco & apostxBuff. VString = "L0 0" & manuāli iestatiet mūsu komandrindu txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe s tr $ funkcija iesūc… tāpēc tagad tas notiek = 13 & atsaukt komandu serial_SendBufferEnd Sub & ielādē sākotnējo atšķirību frameSub CMUCAM_loadDiffFrame () & manuāli atiestatīt mūsu komandu virkni txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "f" txBuff. Vērtība = 13 un atlaidiet komandu serial_SendBufferEnd Sub & aposstarts, lai aprēķinātu kadru atšķirības un aposparam sliekšņa slieksni (0-9) Sub CMUCAM_startDiffCalc (thresh As Byte) Dim desmitiem As Byte & apossetup mūsu komandu virkne manuāli txBuff. Location = 0 txBuff. Vex =uf " 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 tens = thresh/10 txBuff. Value = serial_toChar (desmitiem) txBuff. Location = 4 tens = thresh/10 txBuff. Vertums = serial_toChar (threes-tens) txBuff. Location = 5 txBuff. Value = 1 3 & atteikties no komandas serial_SendBufferEnd Sub & apossets the output mask & aposparam packetTip type of masque to mask (0, 1, 2, etc.) skatīt 46. lpp. Kā baits Dim desmitiem Kā baits & apossetup mūsu komandu virkne manuāli 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 piemērot txBuff. Location = 5 simti = maska/100 txBuff. Value = serial_toChar (simtiem) txBuff. Location = 6 (maska-simtiem)/10 txBuff. Value = serial_toChar (desmitiem) txBuff. Location = 7 txBuff. Value = serial_toChar (maska-simtiem desmitu) un aposcarriage return txBuff. Location = 8 txBuff. Value = 13 & atlaidiet komandu serial_SendBuff ******************************************** un apos*Vispārējās sērijas apakšprogrammas *& apo s ******************************************** & aposinitializē sēriju portSub serial_init () & aposinitialize pogu, lai ieslēgtu un izslēgtu seriālo portu (ieslēdziet, lai palaistu, izslēdziet programmu) toggleSerial_Button. IOLine = 5 toggleSerial_Button. Direction = cvInput toggleSerial_Wire. Input. Link (toggleSerial_Button. Value) toggle Saite (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinitialize notikums, lai buferizētu mūsu datus serialReceived_Wire. Input. Link (serialPort. Received) serialReceived_Wire. Output. Link (serialRecept_Event. OperateRuReReReRePeReRePeReReRePeReReRePeReReReReReRePeReReReReReReReReReReReReReReReReReRePeReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReReRe] = 0 & aposinitializējiet mūsu seriālā porta serialPort. Baud = cv9600 & aposinitializējiet mūsu seriālā statusa LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & aposwait šeit, līdz tiek aktivizēts mūsu seriālais ports Kamēr serialPort. Operate = cvFalse WendEnd Sub & aposcoperies pārbaude pakešu pabeigšanaSub serialRe ceive_Event_Code () & apos.received kļūst nepatiess, ja 4 baitu buferis ir tukšs. Kamēr (serialPort. Received = cvTrue) & aposcopy baitu uz mūsu buferi rxBuff. Value = serialPort. Value & aposcheck par paketes beigām If rxBuff. Value = 13 & apaprocess packet & atiestatīt buferi uz sākumu rxBuff. Location = 0 Else rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns ieslēdz un izslēdz programmēšanas seriālo portu serialPort. Operate = cvFalse serialActive_LED = 0 Beigt IfEnd Sub & pārvērš viencipara skaitli par rakstzīmi = "2" 3. gadījums retVal = "3" 4. gadījums retVal = "4" 5. gadījums retVal = "5" 6. gadījums retVal = "6" 7. gadījums retVal = "7" 8. gadījums retVal = "8" 9. gadījums retVal = "9" beigas Izvēlieties serial_toChar = retValEnd Funkcija & apos sen ds dati, kas ietverti txBuff & apos. Value ooPIC. Delay = 1 & tas, iespējams, nav vajadzīgs
4. darbība: atvienojiet programmēšanas savienotāju
Kad programmēšanas savienotājs ir atvienots, pievienojiet jauno kabeļu komplektu, kā parādīts zemāk. Adapterim, kas izgatavots 1. darbībā, vajadzētu ļaut CMUCam tieši pievienot OOPIC
5. solis: nospiediet pogu, lai inicializētu seriālo komunikāciju
IOLine 5 poga sāks sērijveida saziņu starp CMUCam un OOPIC. Tā kā seriālais ports tiek izmantots gan programmēšanai, gan CMUCam, iespējams, vajadzētu būt kontrolētam pārslēgšanās veidam starp abiem.
Programma nedarbosies, kamēr netiks nospiesta šī poga. Ja vēlreiz nospiežat pogu, seriālais ports paliks neaktīvs, ļaujot to ieprogrammēt. IOLine 6 gaismas diode parāda pašreizējo seriālā porta statusu (ieslēgts nozīmē aktīvu, izslēgts - gatavs programmēšanai).
Ieteicams:
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: 4 soļi
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: Šajā projektā es izveidošu vienkāršu Arduino automašīnas atpakaļgaitas stāvvietas sensora shēmu, izmantojot Arduino UNO un ultraskaņas sensoru HC-SR04. Šo uz Arduino bāzēto automašīnas reverso brīdinājuma sistēmu var izmantot autonomai navigācijai, robotu diapazonam un citiem diapazoniem
Soli pa solim datora veidošana: 9 soļi
Soli pa solim datora veidošana: Piegādes: Aparatūra: mātesplateCPU & CPU dzesētājs PSU (barošanas bloks) Krātuve (HDD/SSD) RAMGPU (nav nepieciešams) Korpuss Instrumenti: skrūvgriezis ESD rokassprādze/matermālā pasta ar aplikatoru
Trīs skaļruņu shēmas -- Soli pa solim apmācība: 3 soļi
Trīs skaļruņu shēmas || Soli pa solim apmācība: Skaļruņu ķēde pastiprina no vides saņemtos audio signālus uz MIC un nosūta to skaļrunim, no kura tiek radīts pastiprināts audio. Šeit es parādīšu trīs dažādus veidus, kā izveidot šo skaļruņu shēmu, izmantojot:
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)