Სარჩევი:
- ნაბიჯი 1: ადაპტერის კაბელის დამზადება
- ნაბიჯი 2: შეცვალეთ Baud Rate CMUCam– ზე
- ნაბიჯი 3: შეაერთეთ სტანდარტული პროგრამირების კაბელი და ატვირთეთ კოდი
- ნაბიჯი 4: პროგრამირების კავშირის გათიშვა
- ნაბიჯი 5: დააჭირეთ ღილაკს სერიული კომუნიკაციის დასაწყებად
ვიდეო: CMUCam2– ის დაკავშირება OOPIC– თან: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
ავტორი: arsinio
მიმოხილვა, თუ როგორ უნდა მოხდეს CMUCam2 და OOPIC ინტერფეისი.
ნაბიჯი 1: ადაპტერის კაბელის დამზადება
1. გადადით რადიოშეტევაზე და იყიდეთ 2 მათგანი: მამრობითი DB-9 Solder Cup Connector2. შემაერთეთ პინ 5 კონექტორზე A დამაგრებით B კონექტორზე (თუ ყურადღებით დააკვირდებით კონექტორს, ისინი აღინიშნება) 3. solder pin 2 კონექტორი A to pin 3 კონექტორი B (თუ ყურადღებით დააკვირდებით კონექტორს, ისინი აღინიშნება) 4. solder pin 3 კონექტორი A to pin 2 კონექტორი B (თუ ყურადღებით დააკვირდებით კონექტორს, ისინი აღინიშნება)
ნაბიჯი 2: შეცვალეთ Baud Rate CMUCam– ზე
შეცვალეთ CMUCamera- ს ბადის სიჩქარე 9600 baud (დაამატეთ მხტუნავი 0 პოზიციას).
ნაბიჯი 3: შეაერთეთ სტანდარტული პროგრამირების კაბელი და ატვირთეთ კოდი
შეაერთეთ სტანდარტული პროგრამირების კაბელი და ატვირთეთ თქვენი კოდი. აქ არის რამოდენიმე მაგალითი კოდი დასაწყებად. ეს კოდი თვალყურს ადევნებს მოძრაობას LF და FD ბრძანებების გამოყენებით. ის გადართავს IOLine 7 -ს (ჩართულია LED- ზე) და ასახავს თვალთვალის სტატუსის LED CMUCam– ზე.
& apos ******** სერიულ პორტთან დაკავშირებული ობიექტები ******** Dim serialPort As New oSerialPortDim txBuff As New oBuffer27 & aposchange 27 რათა გახადოს ბუფერი უფრო დიდი/პატარაDim rxBuff როგორც ახალი oBuffer10Dim serialActive_LED როგორც ახალი oDIO1Dim გადართვაSerial_B ახალი oDIO1Dim გადართვაSerial_Event როგორც ახალი oEventDim გადართვაSerial_Wire როგორც ახალი oWireDim serialReceive_Event როგორც ახალი oEventDim serialReceive_Wire როგორც ახალი oWire & apos ******** გამართვის დაკავშირებული ობიექტები ******** Dim statLED როგორც ახალი oDI ** ************ ******** მიჰყევით მხოლოდ მასის ცენტრს CMUCAM_setOutputMask (2, 3) და ატვირთეთ ჩვენი საწყისი განსხვავების ჩარჩო CMUCAM_loadDiffFrame () და დაიწყეთ სხვაობის გამოთვლა CMUCAM_startDiffCalc (10) ბოლო SubSub მთავარ_შინა & aposinitialize სტატუსი LED statileDialinial = წილი) ბოლო სუ b & aposprocesses– მა მიიღო პაკეტები ქვეპროექტი პაკეტი () Dim mx As Byte Dim my As Byte & aposcheck როგორც Mx ასევე My 0 იქნება 0 & aposgranted თუ ისინი არ არიან 0, ადგილმდებარეობა გამორთული იქნება (ანუ & aposT 12 34) & aposbut მაშინ მოიგეს და აპოსტი აკმაყოფილებს 0 კრიტერიუმს rxBuff. მდებარეობა = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe led უნდა დახუჭოს ერთხმად თვალთვალის LED კამერით თუ (mx = "0") და (my = "0") statLED = 0 სხვა **** & apos*CMU კამერის ფუნქციები*& apos ************************************* ******* & apossets მოცემული გამოიწვია on, off, automat & aposparam led რაოდენობა led (0, 1) & aposparam val off, on, auto (0, 1, 2) CMUCAM_ledSet (ledNum As Byte, val As Byte) როგორც ბაიტი და aposVString არ იყო და მოციქული მუშაობდა ახალ შემდგენელში… tr $ ფუნქცია ცუდია … ასე რომ ახლა ეს ხდება txBuff. Value = serial_toChar (ledNum) txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 txBuff. Value = serial_toChar (val) txBuff. Location = 4 txBuff. Value = 13 & გაგზავნეთ ბრძანება მნიშვნელობა = 13 & გამოაქვეყნეთ ბრძანება 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 ათეული = thresh/10 txBuff. Value = serial_toChar (ათეული) txBuff. Location = 4 ათეული = thresh/10 txBuff. Value = serial_toChar (thresh-tens) txBuff.location = 5 txBuff.value = 1 3 და გაგზავნეთ ბრძანება როგორც Byte Dim ათობით როგორც Byte & apossetup ჩვენი ბრძანების სტრიქონი ხელით txBuff. Location = 0 txBuff. Value = "O" txBuff. Location = 1 txBuff. Value = "M" txBuff. Location = 2 txBuff. Value = "" & apospacket type txBuff. ადგილმდებარეობა = 3 txBuff. Value = serial_toChar (packetType) txBuff. Location = 4 txBuff. Value = "" & aposmask to use txBuff. Location = 5 ასეული = ნიღაბი/100 txBuff. Value = serial_toChar (ასობით) txBuff = მდებარეობა = 6 ათეული (ნიღაბი-ასობით)/10 txBuff. Value = serial_toChar (ათეული) txBuff. Location = 7 txBuff. Value = serial_toChar (mask-sedan-ათეული) & aposcarriage return txBuff. Location = 8 txBuff. Value = 13 & apossend ბრძანების სერიული_Send_Send **************** *& აპო s ****************************************** და ავრცელებს სერიალს portSub serial_init () & aposinitize ღილაკს სერიული პორტის ჩართვა და გამორთვა (ჩართვა გაშვება, პროგრამის გამორთვა) toggleSerial_Button. IOLine = 5 toggleSerial_Button. Direction = cvInput toggleSerial_Wire. Input. Link (toggleSerial_Button.ink ლინკი (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinitialize event to buffer our data serialReceive_Wire. Input. Link (serialPort. Received) serialReceive_Wire. Output. Link (serialRecece2) serialivece2. = 0 & aposinitialize ჩვენი სერიული პორტი serialPort. Baud = cv9600 & aposinitialize ჩვენი სერიული სტატუსი LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOputput & aposwait here სანამ ჩვენი სერიული პორტი არ გააქტიურდება სანამ serialPort. Opend პაკეტის დასრულება ქვე სერიული ceive_Event_Code () & apos.received ხდება false როდესაც 4 ბაიტიანი ბუფერი ცარიელია & aposreset ბუფერი დასაწყისში rxBuff. Location = 0 სხვა rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns on and off serial port for programmingSub toggleSerial_Event_Code () If serialPort. Operate = cvFalseseial = cvFalse serial serialPort. Operate = cvFalse serialActive_LED = 0 დასასრული IfEnd Sub & aposconverts one number 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 retase = = "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" დასრულება აირჩიეთ serial_toChar = retValEnd ფუნქცია & apos sen ds მონაცემები შეიცავს txBuff & apos შენიშვნა: დარწმუნდით, რომ ბუფერი შეიცავს ვაგონის დაბრუნებას (13) დასასრულს !! ქვე serial_SendBuffer () & apositerate მეშვეობით, თითოეული ბაიტის გაგზავნით, ვაგონის დაბრუნების ბოლოს txBuff. Location = 0 მიუხედავად იმისა, რომ 1 serialPort. Value = txBuff. ღირებულება ooPIC. Delay = 1 & aposmight არ სჭირდება ეს & apossee თუ ეს იყო ვაგონის დაბრუნება თუ txBuff. Value = 13 & aposbreak out of our loop Return End If & aposgo to the next character txBuff. Location = txBuff. Location + 1 WendEnd Sub
ნაბიჯი 4: პროგრამირების კავშირის გათიშვა
მას შემდეგ, რაც პროგრამირების კონექტორი გათიშულია, მიამაგრეთ ახალი საკაბელო ასამბლეა, როგორც ნაჩვენებია ქვემოთ. ნაბიჯი 1 გაკეთებული ადაპტერი უნდა აძლევდეს CMUCam- ს პირდაპირ ჩართვას OOPIC- ში
ნაბიჯი 5: დააჭირეთ ღილაკს სერიული კომუნიკაციის დასაწყებად
IOLine 5 – ის ღილაკი დაიწყებს სერიულ კომუნიკაციას CMUCam– სა და OOPIC– ს შორის. მას შემდეგ, რაც სერიული პორტი გამოიყენება როგორც პროგრამირებისათვის, ასევე CMUCam– ისთვის, ალბათ უნდა არსებობდეს ამ ორს შორის გადართვის კონტროლირებადი გზა.
პროგრამა არ იმუშავებს მანამ, სანამ არ დააჭერთ ამ ღილაკს. თუ კვლავ დააჭერთ ღილაკს, სერიული პორტი უმოქმედო გახდება, რაც მისი პროგრამირების საშუალებას მოგცემთ. LED IOLine 6 აჩვენებს სერიული პორტის ამჟამინდელ სტატუსს (ჩართულია ნიშნავს აქტიურს, გამორთული ნიშნავს მზადაა პროგრამირებისთვის).
გირჩევთ:
შეაერთეთ თქვენი Magicbit Thingsboard– თან: 3 ნაბიჯი
შეაერთეთ თქვენი Magicbit Thingsboard– თან: ამ პროექტში ჩვენ ვაგზავნით მონაცემებს magicbit– თან დაკავშირებული სენსორებისგან, რომელთა ვიზუალურად ჩვენება შეგვიძლია დაფაზე
IOT DMX კონტროლერი Arduino– სთან და Stage Monster– თან ერთად: 6 ნაბიჯი
IOT DMX კონტროლერი Arduino– ს და Stage Monster Live– ით: აკონტროლეთ სცენის განათება და სხვა DMX მოწყობილობები თქვენი ტელეფონიდან ან სხვა ვებ – ჩართული მოწყობილობიდან. მე გაჩვენებთ თუ როგორ სწრაფად და მარტივად ააშენოთ თქვენი საკუთარი DMX კონტროლერი, რომელიც მუშაობს Stage Monster Live პლატფორმაზე Arduino Mega– ს გამოყენებით
RC Plane Altimeter (თავსებადია Spektrum Telemetry– თან): 7 ნაბიჯი
RC თვითმფრინავის ალტიმეტრი (თავსებადია Spektrum Telemetry– სთან): მე გავაკეთე ეს სიმაღლე, რათა პილოტმა იცოდეს, რომ ისინი RC თვითმფრინავებზე აშშ – ში 400 ფუტი ლიმიტის ქვეშ არიან. ჩემი მეგობარი შეშფოთებულია, რადგან მას არ შეუძლია დარწმუნებით თქვას, რომ ის ყოველთვის 400 ფუტის ქვეშ იყო და სურდა დამატებითი გარანტია იმისა, რომ სენსორი
GPS მოდულის დაკავშირება Arduino Uno– თან: 7 ნაბიჯი
GPS მოდულის დაკავშირება Arduino Uno– თან: გამარჯობა! გსურთ დააკავშიროთ GPS მოდული თქვენს Arduino Uno დაფაზე, მაგრამ არ იცით როგორ გააკეთოთ ეს? მე აქ ვარ რომ დაგეხმარო! დასაწყებად დაგჭირდებათ შემდეგი ნაწილები
უსაფრთხოების სისტემის შერწყმა Phidges- თან და Twitter- თან გასაოცრად: 8 ნაბიჯი
უსაფრთხოების სისტემის შერწყმა Phidges- თან და Twitter- თან გასაოცრობისთვის: მე ვცხოვრობ ბინაში, რომელიც აღჭურვილია უსაფრთხოების სისტემისთვის. არ მინდა სახლის სატელეფონო ხაზის ყიდვა და ადგილობრივი მონიტორინგის სერვისები არ არის გასაოცარი. მინდა ვიცოდე, ვინმე შემოვა თუ არა ჩემს ბინაში სანამ მე წავალ. შემიძლია გამოვიყენო მოძრაობის სენსორი, მაგრამ