INHOUDSOPGAWE:
- Stap 1: Maak die adapterkabel
- Stap 2: Verander die baudsnelheid op die CMUCam
- Stap 3: Koppel die standaard programmeerkabel en laai kode op
- Stap 4: Ontkoppel die programmeerkonnekteerder
- Stap 5: Druk die knoppie om seriële kommunikasie te begin
Video: Koppel 'n CMUCam2 aan 'n OOPIC: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:28
Deur arsinio Volg meer deur die skrywer:
Oorsig van hoe u 'n CMUCam2 met en OOPIC kan koppel.
Stap 1: Maak die adapterkabel
1. Gaan na radioshack en koop 2 hiervan: Mannelike DB-9 soldeerbeker-aansluiting2. soldeerspeld 5 op aansluiting A tot pen 5 op aansluiting B (as u mooi na die aansluiting kyk, is dit gemerk) 3. soldeerspeld 2 op aansluiting A tot pen 3 op aansluiting B (as u mooi na die aansluiting kyk, is dit gemerk) 4. soldeerspeld 3 op aansluiting A tot pen 2 op aansluiting B (as u mooi na die aansluiting kyk, is dit gemerk)
Stap 2: Verander die baudsnelheid op die CMUCam
Verander die baud -tempo van die CMUCamera na 9600 baud (voeg 'n jumper by posisie 0).
Stap 3: Koppel die standaard programmeerkabel en laai kode op
Koppel die standaard programmeerkabel en laai u kode op. Hier is 'n voorbeeld van 'n kode om aan die gang te kom. Hierdie kode volg beweging met behulp van die LF- en FD -opdragte. Dit skakel IOLine 7 (gekoppel aan 'n LED) en weerspieël die volgstatus -LED op die CMUCam.
& apos ******** seriële poortverwante voorwerpe ******** Dim seriële poort as nuut oSerialPortDim txBuff as nuut oBuffer27 & verander die 27 om die buffer groter/kleiner te maak Dim rxBuff as nuwe oBuffer10Dim serialActive_LED as nuwe oDIO1Dim toggleSerial_Button As Nuwe oDIO1Dim toggleSerial_Event As New oEventDim toggleSerial_Wire As New oWireDim serialReceive_Event As New oEventDim serialReceive_Wire As New oWire & apos ******** ontfout -verwante voorwerpe ******** Dim statLED as nuwe oDIO1****** ************************************* en apos*Generiese subroutines*en apos ****** *********************************************************************************************************** >>> volg slegs die massamiddelpunt CMUCAM_setOutputMask (2, 3) en laai ons aanvanklike verskilraam af) Einde Su b & aposprosesse ontvang pakkies Subproses Pakket () Dim mx As Byte Dim my As Byte & aposcheck vir beide Mx en My om 0 te wees & as hulle nie 0 is nie, sal die ligging af wees (dws & aposT 12 34) & apos but then they won & apost meet the 0 criteria rxBuff. Location = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe led moet eenstemmig knip met die opsporings -LED op die kamera As (mx = "0") En (my = "0") statLED = 0 Anders statLED = 1 Beëindig IfEnd Sub & apos ***************************************** **** & apos*CMU Cam Functions*& apos *************************************** ******* & apossets die gegewe gelei tot aan, af, outomaties en aposparam gelei Aantal led (0, 1) en aposparam val af, aan, outomaties (0, 1, 2) Funksie CMUCAM_ledSet (ledNum As Byte, val As Byte) Aangesien Byte & aposVString nie in die nuwe samesteller werk nie & apostos … & nie seker is oor die ou nie & apostxBuff. VString = "L0 0" & apossetup ons opdragstring handmatig txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe s tr $ -funksie suig … so nou gebeur dit txBuff. Value = serial_toChar (ledNum) txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 txBuff. Value = serial_toChar (val) txBuff. Location = 4 txBuff. Value = 13 & stuur die opdrag serial_SendBufferEnd Sub en laai die aanvanklike verskil frameSub CMUCAM_loadDiffFrame () op en stel ons opdragstring handmatig txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "F" txBuff.uff. Value = 13 & stuur die opdrag serial_SendBufferEnd Sub & aposstarts om raamverskille en aposparam-drempeldrempel te bereken (0-9) Sub CMUCAM_startDiffCalc (dors as byte) Dim tens as Byte en stel ons opdragstring handmatig txBuff. Location = 0 txBuff. Value = "F" txBuff in 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 tiene = dors/10 txBuff. Value = serial_toChar (tiene) txBuff. Location = 4 tiene = dors/10 txBuff. Value = serial_toChar (dors-tiene) txBuff. Location = 5 txBuff. Value = 1 3 en stuur die opdrag serial_SendBufferEnd Sub af As Byte Dim tens As Byte & apossetup ons command string handmatig txBuff. Location = 0 txBuff. Value = "O" txBuff. Location = 1 txBuff. Value = "M" txBuff. Location = 2 txBuff. Value = "" & apospacket tipe txBuff. Location = 3 txBuff. Value = serial_toChar (packetType) txBuff. Location = 4 txBuff. Value = "" & aposmasker om txBuff. Location = 5 honderde = masker/100 txBuff. Value = serial_toChar (honderde) txBuff. Location = 6 tiene = toe te pas (masker-honderde)/10 txBuff. Value = serial_toChar (tens) txBuff. Location = 7 txBuff. Value = serial_toChar (masker-honderde-tiene) en apocheeropgawe txBuff. Location = 8 txBuff. Value = 13 & plaas die opdrag serial_SendBufferEind Sub & aposend* ********************************************* en apos*Algemene reeksprogramme *& apo s ***** ***** portSub serial_init () en aposinitialiseer 'n knoppie om die seriële poort aan en uit te skakel (skakel aan om uit te voer, skakel af om te programmeer) toggleSerial_Button. IOLine = 5 toggleSerial_Button. Direction = cvInput toggleSerial_Wire. Input. Link (toggleSerial_Button_). Koppel (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue en aposinitialiseer 'n gebeurtenis om ons data serialReceive_Wire. Input. Link (serialPort. Received) serialReceive_Wire. Output. Link (serialReceive_Event. Operate) op te buffer. = 0 & aposinitialiseer ons seriële poort serialPort. Baud = cv9600 & aposinitialiseer ons seriële status LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & aposwait hier totdat ons seriële poort geaktiveer word terwyl serialPort. Operate = cvFalse WendEnd Sub in ons ontvanger en ontvang pakkie voltooiing Sub -reeks Re ceive_Event_Code () & apos.received word onwaar as 4byte buffer leeg is Terwyl (serialPort. Received = cvTrue) & aposkopie die byte na ons buffer rxBuff. Value = serialPort. Value & aposcheck vir einde van pakkie As rxBuff. Value = 13 & aposacket packet & stel die buffer terug na die begin rxBuff. Location = 0 Anders rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns aan en af van die seriële poort vir programmeringSub toggleSerial_Event_Code () If serialPort. Operate = cvFalse serialPort. Type = cvFalse serialPort. Type serialPort. Operate = cvFalse serialActive_LED = 0 End IfEnd Sub & apos omskep 'n enkelsyfergetal in 'n characterFunction serial_toChar (inVal As Byte) As Byte Dim retVal As Byte Kies 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" Einde Kies serial_toChar = retValEnd Funksie & apos sen ds die data in txBuff & apos Let wel: maak seker dat buffer aan die einde 'n koetsopgawe (13) bevat! Sub serial_SendBuffer () & apositerate deur, stuur elke greep, eindig op koetsopgawe txBuff. Location = 0 Terwyl 1 serialPort. Value = txBuff. Waarde ooPIC. Delay = 1 & mag dit moontlik nie nodig hê nie & apossee as dit 'n koetsopgawe was As txBuff. Value = 13 & aposbreak uit ons lus terugkeer End If & aposgo na die volgende karakter txBuff. Location = txBuff. Location + 1 WendEnd Sub
Stap 4: Ontkoppel die programmeerkonnekteerder
Sodra die programmeringskoppelstuk ontkoppel is, bevestig die nuwe kabelsamestelling soos hieronder getoon. Die adapter wat in stap 1 gemaak is, moet toelaat dat die CMUCam direk in die OOPIC aangesluit word
Stap 5: Druk die knoppie om seriële kommunikasie te begin
Die knoppie op IOLine 5 sal die seriële kommunikasie tussen die CMUCam en die OOPIC begin. Aangesien die seriële poort vir beide programmeerder en CMUCam gebruik word, moet daar waarskynlik 'n beheerde manier wees om tussen die twee te wissel.
Die program sal eers loop as hierdie knoppie ingedruk word. As u weer op die knoppie druk, word die seriële poort onaktief, sodat u dit kan programmeer. Die LED op IOLine 6 vertoon die huidige seriële poortstatus (aan beteken aktief, af beteken gereed vir programmering).
Aanbeveel:
Hoe om NodeMCU ESP8266 aan MySQL -databasis te koppel: 7 stappe
Hoe om NodeMCU ESP8266 aan MySQL -databasis te koppel: MySQL is 'n wyd gebruikte verhoudingsdatabasisbestuurstelsel (RDBMS) wat 'n gestruktureerde navraagtaal (SQL) gebruik. Op 'n stadium wil u dalk Arduino/NodeMCU sensordata na die MySQL -databasis laai. In hierdie instruksies sal ons sien hoe om aan te sluit
Koppel jou Magicbit aan Thingsboard: 3 stappe
Koppel u Magicbit aan Thingsboard: in hierdie projek stuur ons data van sensors wat aan magicbit gekoppel is, wat ons visueel op die bord kan vertoon
Koppel Google -kalenders aan Google Sites: 5 stappe
Koppel Google -kalenders aan Google Sites: dit is 'n instruksie om u te leer hoe om Google -kalenders te skep, te gebruik en te wysig en dit dan aan 'n Google -webwerf te koppel met behulp van die deelvermoëns. Dit kan vir baie mense voordelig wees, aangesien Google Sites gebruik kan word om te koördineer en te versprei
IoT ESP8266-reeks: 1- Koppel aan WIFI-router: 4 stappe
IoT ESP8266-reeks: 1- Koppel aan WIFI-router: dit is deel 1 van 'n 'Instructables' " reeks wat toegewy is om te verduidelik hoe u 'n Internet of Things -projek kan maak met behulp van ESP8266 NodeMCU wat daarop gemik is om data na 'n webwerf te lees en te stuur en 'n aksie te doen met behulp van dieselfde webwerf.ESP8266 ESP
Koppel en koppel u gekoppelde oplossings aan met Hologram Nova en Ubidots: 9 stappe
Koppel en koppel u gekoppelde oplossings aan met Hologram Nova en Ubidots: Gebruik u Hologram Nova om infrastruktuur op te stel. Stel die Hologram Nova op met 'n Raspberry Pi om (temperatuur) data na Ubidots te stuur. In die volgende gids sal Ubidots demonstreer hoe u 'n Hologram Nova met 'n Raspberry Pi kan opstel en 'n