Mündəricat:
- Addım 1: Adapter Kabelinin Hazırlanması
- Addım 2: CMUCam -da Baud dərəcəsini dəyişdirin
- Addım 3: Standart Proqramlaşdırma Kabelini qoşun və Kodu Yükləyin
- Addım 4: Proqramlaşdırma Konnektorunu ayırın
- Addım 5: Serial Əlaqəni Başlatmaq üçün Düyməni basın
Video: Bir CMUCam2 -ni bir OOPIC ilə əlaqələndirmək: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Müəllif tərəfindən daha çox:
Bir CMUCam2 ilə OOPIC -in necə əlaqələndirilməsinə ümumi baxış.
Addım 1: Adapter Kabelinin Hazırlanması
1. Radioshack-ə gedin və bunlardan 2-ni satın alın: Kişi DB-9 Lehim Kuboku Bağlayıcısı2. lehim pin 5 A konnektindəki B konnektindəki 5 pininə qədər (konnektora diqqətlə baxsanız, işarələnmişdir) 3. A konnektorundakı lehim pimi 2, B konnektindəki 3 pininə qədər (konnektora diqqətlə baxsanız, işarələnmişdir) 4. A konnektorundakı lehim pin 3, B konnektindəki 2 pininə qədər (konnektora diqqətlə baxsanız, işarələnmişdir)
Addım 2: CMUCam -da Baud dərəcəsini dəyişdirin
CMUCamera'nın baud sürətini 9600 baud olaraq dəyişdirin (0 mövqeyinə tullanan əlavə edin).
Addım 3: Standart Proqramlaşdırma Kabelini qoşun və Kodu Yükləyin
Standart proqramlaşdırma kabelini qoşun və kodunuzu yükləyin. Başlamaq üçün bir neçə nümunə kod var. Bu kod LF və FD əmrlərindən istifadə edərək hərəkəti izləyəcək. IOLine 7 -ni (bir LED -ə bağlandı) dəyişdirəcək və CMUCam -da izləmə statusu LEDini yansıtacaq.
& apos ******** serial portu ilə əlaqəli obyektlər ******** Yeni serialBortu Yeni OSerialPortDim olaraq txBuff Yeni OBuffer27 və buferin daha böyük/kiçik olması üçün 27 -ni dəyişdirinDim rxBuff Yeni OBuffer10Dim serialActive_LED Yeni ODIO1Dim keçidSerial_Button As olaraq Yeni oDIO1Dim yeni Serie_Event olaraq Yeni OEventDim olaraq Serial_Wire olaraq Yeni OWireDim serialReceive_Event Yeni OEventDim serialReceive_Wire olaraq Yeni OWire & apos ******** debug ilə əlaqəli obyektlər ******** Yeni statik olaraq Yeni oDIO1 & apos ******** ************************************ və apos*Ümumi alt proqramlar*& apos ****** ************************************* Alt əsas & hər şeyi aposinitialize main_init & çıxış maskamızı yalnız CMUCAM_setOutputMask (2, 3) kütləsinin mərkəzini izləyin və CMUCAM_loadDiffFrame () başlanğıc fərq çərçivəmizi yükləyin və fərq hesablamasını başlatın CMUCAM_startDiffCalc (10) SubSub main_init'i bitirin və bir status LED statLED. IOLine = 7 serialVOLED. Direct) Su b & aposprocesses alınan paketlərSub prosesPacket () Dim mx As Byte Dim My As Byte & apxcheck for Mx and My is 0 & aposgranted if not 0, the location will be off (ie & aposT 12 34). Məkan = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe led, kameranın izləmə LEDi ilə bir yerdə yanıb -sönməlidir Əgər (mx = "0") Və (mənim = "0") statLED = 0 Başqa statLED = 1 IfEnd Sub & Apos -u bitirin **************************************** **** & apos*CMU Cam Funksiyaları*& apos ************************************* ******* & apossets verilmiş ledin açılmasına, söndürülməsinə, avtomatik və aposparam açılmasına səbəb oldu LED (0, 1) & aposparam val off, on, auto (0, 1, 2) Function CMUCAM_ledSet (ledNum As Byte, val As Byte)) Byte & aposVString yeni kompilyatorda işləmədiyinə görə… və köhnəsi haqqında heç bir əminlik yoxdur & apostxBuff. VString = "L0 0" və əmr xəttimizi əl ilə txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe tr $ funksiyası pisdir … buna görə də indi bu baş verir txBuff. Value = serial_toChar (ledNum) txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 txBuff. Value = serial_toChar (val) txBuff. Location = 4 txBuff. Value = 13 & serial_SendBufferEnd Sub əmrini apossend edin & frameSub CMUCAM_loadDiffFrame () əmr satırını əl ilə aposseting txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "F" txx 2. Dəyər = 13 & serial_SendBufferEnd Sub əmrini apossend edin & çərçivə fərqləri və aposparam eşik eşiklərini hesablamağa başlayın (0-9) Alt CMUCAM_startDiffCalc (bayt olaraq xırda) Onlarla Byte olaraq & apossetup əmr xəttimizi əl ilə txBuff. Location = 0 txBuff. Value = 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 on = thresh/10 txBuff. Value = serial_toChar (onlar) txBuff. Location = 4 tens = thresh/10 txBuff. Value = serial_toChar (thres-tens) txBuff. Location = 5 txBuff. Value = 1 3 və serial_SendBufferEnd Sub əmrini çıxarın & Çıxış maskası və aposparam paketini apokset edin Maska üçün paket növü (0, 1, 2 və s.) Səhifəyə baxın 46 və tətbiq etmək üçün aposparam maskası dəyəri (0-255) Alt CMUCAM_setOutputMask (packetType As Byte, mask As Byte) Dim yüzlərlə As Byte Dim on By By & apossetup əmr sətirimizi manuel olaraq txBuff. Location = 0 txBuff. Value = "O" txBuff. Location = 1 txBuff. Value = "M" txBuff. Location = 2 txBuff. Value = "" və txBuff tipli apx. Yer = 3 txBuff. Value = serial_toChar (packetType) txBuff. Location = 4 txBuff. Value = "" və txBuff. Location = 5 yüzlər = maska/100 txBuff. Value = serial_toChar (yüzlərlə) txBuff. Location = 6 tens = (maska-yüzlər)/10 txBuff. Value = serial_toChar (onlarca) txBuff. Location = 7 txBuff. Value = serial_toChar (maska-yüzlərlə-on) və aposcarriage txBuff. Location = 8 txBuff. Value = 13 & serial_SendBufferE əmrini ləğv edir ******************************************* və ümumi*Ümumi Serial Alt Proqramlar *və apo s ******************************************** serialı aposinitallaşdırır portSub serial_init () & seriyalı portu açmaq və söndürmək üçün bir düyməni açmaq (işə salmaq üçün açmaq, proqramı söndürmək) toggleSerial_Button. IOLine = 5 toggleSerial_Button. Direction = cvInput toggleSerial_Wire. Input. Link (toggleSeral_Button. Link (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & verileri tamponlaşdırmaq üçün bir hadisəni aposinitialize edin = 0 & serial port portPort. Baud = cv9600 & serial vəziyyətimizi aposinitialize edin serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & aposwit serial portumuz aktiv olana qədər burada gözləyin serialPort. Operate = cvFalse WendEndləri qəbul edin və qəbul edin paketi tamamlamaSub serialRe ceive_Event_Code () & apos.received, 4 baytlıq tampon boş olduqda boş olur. tamponu rxBuff. Location = 0 Başqa bir yerə aposreset edin rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & aposturns for serial port for ProgramSub toggleSerial_Event_Code () If serialPort. Operate = cvForEle serialPort_PortExcel serialPort. Operate = cvFalse serialActive_LED = 0 Bitirsə Bitir & bir aylıq rəqəmi bir xarakterə çevirirFunksiya serial_toChar (inVal As Byte) Byte Dim retVal olaraq Byte olaraq 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" Sonu seçin serial_toChar = retValEnd Funksiyası və s ds txBuff & apos -da olan məlumatlar Qeyd: tamponun sonunda bir daşıyıcı qaytarma (13) olduğundan əmin olun !! Sub serial_SendBuffer () & hər bir baytı göndərməklə apositerasiya edin, txBuff. Location = 0 1 serialPort. Value = txBuff isə. Value ooPIC. Delay = 1 & aposm lazım ola bilməz, əgər bu bir vaqon dönüşüdürsə txBuff. Value = 13 & döngəmizdən çıxın Əgər Retx End Əgər & növbəti işarəyə txBuff. Location = txBuff. Location + 1 WendEnd Sub
Addım 4: Proqramlaşdırma Konnektorunu ayırın
Proqramlaşdırma konnektoru ayrıldıqdan sonra aşağıda göstərildiyi kimi yeni kabel qurğusunu bağlayın. Adım 1 -də hazırlanan adapter CMUCamın birbaşa OOPIC -ə qoşulmasına imkan verməlidir
Addım 5: Serial Əlaqəni Başlatmaq üçün Düyməni basın
IOLine 5 üzərindəki düymə, CMUCam və OOPIC arasındakı serial ünsiyyətə başlayacaq. Serial port həm proqramlaşdırma, həm də CMUCam üçün istifadə edildiyindən, ehtimal ki, ikisi arasında keçid üçün idarə olunan bir yol olmalıdır.
Bu düymə basılana qədər proqram işləməyəcək. Düyməni yenidən basarsanız, serial portu işləməyəcək və onu proqramlaşdırmağa imkan verəcəkdir. IOLine 6 -dakı LED, cari serial port vəziyyətini göstərir (yandırmaq aktiv, söndürmək proqramlaşdırmaya hazır deməkdir).
Tövsiyə:
Əl ilə və ya bir veb saytı vasitəsi ilə idarə edə biləcəyiniz Taxta RC Qayığı: 9 addım
Əllə və ya Veb Sayt vasitəsi ilə idarə edə biləcəyiniz Taxta RC Qayığı: Salam, mən Howest -in tələbəsiyəm və nəzarətçi vasitəsi ilə və ya veb sayt vasitəsilə idarə edə biləcəyiniz bir Taxta RC qayığı qurdum. və dənizdə yaşayanda zövq almaq üçün bir şey istədim
ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım
ESP32 ilə PWM | Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: Bu təlimatlarda Arduino IDE istifadə edərək ESP32 ilə PWM siqnallarının necə yaradılacağını görəcəyik. PWM əsasən hər hansı bir MCU -dan analoq çıxışı yaratmaq üçün istifadə olunur və bu analog çıxış 0V ilə 3.3V arasında ola bilər (esp32 vəziyyətində) & dan
Bir Raspberry Pi ilə birlikdə Alexa və Google köməkçisi ilə danışın: 4 addım
Bir Raspberry Pi ilə birlikdə Alexa və Google köməkçisi ilə söhbət edin: Amazon Alexa və Google köməkçisini eyni vaxtda bir Raspberry Pi ilə işləyin. Adlarından birini çağırsanız, cavab vermək üçün öz LEDlərini və zəng səslərini yandırarlar. Sonra bir xahiş edirsən və onlar da sənə cavab verir. Onların xarakterini öyrənə bilərsiniz
Arduino MEGA ilə RFID-RC522 ilə əlaqə qurmaq sadə bir eskiz: 4 addım
Arduino MEGA ilə sadə bir eskiz ilə RFID-RC522-nin qarşılıqlı əlaqəsi: Hai bu təlimatda RFID-ni oxumaq və məlumatları Serial Monitorda göstərmək üçün Arduino Mega 2560 ilə RFID-RC522-ni birləşdirməkdə sizə kömək edəcəyəm. Buna görə də bunu təkbaşına genişləndirə bilərsiniz: Arduino Mega və ya Arduino Uno
Batareya ilə işləyən hər hansı bir cihazı AC Gücü ilə işləyin: 4 addım
Batareya ilə işləyən hər hansı bir cihazı AC Gücü ilə işləyin. Heç bir obyekt üçün kifayət qədər batareyanız olmayıbmı? Yoxsa heç bir obyektin adapterini itirdiniz və yenidən istifadə etmək istədiniz? Yoxsa otağınızda sərin qığılcımlar yaratmaq istəyirsiniz?