Isi kandungan:
- Langkah 1: Membuat Kabel Adaptor
- Langkah 2: Tukar Baud Rate pada CMUCam
- Langkah 3: Sambungkan Kabel Pengaturcaraan Standard dan Kod Muat Naik
- Langkah 4: Putuskan sambungan Penyambung Pengaturcaraan
- Langkah 5: Tekan Butang untuk Memulakan Komunikasi Bersiri
Video: Memadan CMUCam2 dengan OOPIK: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Oleh arsinio Ikuti Lagi oleh pengarang:
Gambaran keseluruhan bagaimana untuk menghubungkan CMUCam2 ke dan OOPIC.
Langkah 1: Membuat Kabel Adaptor
1. Pergi rak radio dan beli 2 daripadanya: Penyambung Piala Solder Lelaki DB-92. pateri pin 5 pada penyambung A hingga pin 5 pada penyambung B (jika anda melihat dengan teliti pada penyambung, ia ditandakan) 3. pateri pin 2 pada penyambung A hingga pin 3 pada penyambung B (jika anda melihat dengan teliti pada penyambung, ia ditandakan) 4. pateri pin 3 pada penyambung A hingga pin 2 pada penyambung B (jika anda melihat dengan teliti pada penyambung, ia ditandakan)
Langkah 2: Tukar Baud Rate pada CMUCam
Tukar kadar baud CMUCamera menjadi 9600 baud (tambah pelompat ke kedudukan 0).
Langkah 3: Sambungkan Kabel Pengaturcaraan Standard dan Kod Muat Naik
Sambungkan kabel pengaturcaraan standard dan muat naik kod anda. Berikut adalah beberapa contoh kod untuk memulakan anda. Kod ini akan mengesan pergerakan menggunakan arahan LF dan FD. Ia akan menukar IOLine 7 (disambungkan ke LED) dan mencerminkan LED status penjejakan pada CMUCam.
& apos ******** objek berkaitan port bersiri ******** Dim serialPort As New oSerialPortDim txBuff As New oBuffer27 & ubah 27 untuk menjadikan buffer lebih besar / lebih kecilDim rxBuff Sebagai oBuffer10Dim serialActive_LED Sebagai Baru oDIO1Dim toggleSerial_Button As ODIO1Dim toggleSerial_Event Baru Sebagai oEventDim toggleSerial_Wire Baru Sebagai siri oWireDim BaruReceive_Event Sebagai New oEventDim serialReceive_Wire New oWire & apos Baru ******** debug objek yang berkaitan ******** Dim statLED Sebagai Baru ODIO1 & apos ******** ************************************** & apos * Subrutin Generik * & apos ****** **************************************** Sub utama & aposinisialisasi segalanya main_init & susun topeng keluaran kami untuk hanya ikuti pusat jisim CMUCAM_setOutputMask (2, 3) & muatkan kerangka perbezaan awal kami CMUCAM_loadDiffFrame () & mulakan pengiraan perbezaan CMUCAM_startDiffCalc (10) End SubSub main_init & aposinitialize status LED statLED. IOLine = 7 statLED. Direction = cv) Tamat Su b & aposesses menerima paketSub processPacket () Dim mx As Byte Dim my As Byte & aposcheck untuk kedua-dua Mx dan My menjadi 0 & aposgranted jika mereka tidak 0, lokasi akan dimatikan (iaitu & aposT 12 34) & aposbut kemudian mereka menang & murtad memenuhi 0 kriteria rxBuff. Lokasi = 2 mx = rxBuff. Value rxBuff. Location = 4 my = rxBuff. Value & aposthe led harus berkelip serentak dengan LED penjejakan pada kamera Jika (mx = "0") Dan (my = "0") statLED = 0 Lain statLED = 1 Sub End & apos Akhir ****************************************** **** & apos * Fungsi Cam CMU * & apos *************************************** ******* & aposset yang diberikan menyebabkan on, off, automatik & aposparam ledNum number of led (0, 1) & aposparam val off, on, auto (0, 1, 2) Function CMUCAM_ledSet (ledNum As Byte, val As Byte) Oleh kerana Byte & aposVString tidak berfungsi dengan baik dalam penyusun baru … & aposin tidak pasti mengenai yang lama & apostxBuff. VString = "L0 0" & susun rentetan arahan kami secara manual txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 & aposthe s fungsi tr $ menyedihkan… jadi sekarang ini berlaku txBuff. Value = serial_toChar (ledNum) txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 txBuff. Value = serial_toChar (val) txBuff. Location = 4 txBuff. Value = 13 & tambah perintah serial_SendBufferEnd Sub & aposload the difference difference frameSub CMUCAM_loadDiffFrame () & susun rentetan perintah kami secara manual txBuff. Location = 0 txBuff. Value = "L" txBuff. Location = 1 txBuff. Value = "F" txBuff. Lokasi Nilai = 13 & tambah perintah bersiri_SendBufferEnd Sub & aposstart mengira perbezaan bingkai & ambang ambang aposparam (0-9) Sub CMUCAM_startDiffCalc (thresh As Byte) Dim tens As As Byte & apossetup rentetan arahan kami secara manual txBuff. Location = 0 txBuff. Value = "F" = "F" 1 txBuff. Value = "D" txBuff. Location = 2 txBuff. Value = "" txBuff. Location = 3 tens = thresh / 10 txBuff. Value = serial_toChar (puluhan) txBuff. Location = 4 puluhan = ambang / 10 txBuff. Value = serial_toChar (thresh-tens) txBuff. Lokasi = 5 txBuff. Nilai = 1 3 & tambah perintah serial_SendBufferEnd Sub & aposets masker output & paket aposparam Jenis jenis paket untuk topeng (0, 1, 2, dan lain-lain) lihat halaman 46 & nilai topeng topeng aposparam untuk diterapkan (0-255) Sub CMUCAM_setOutputMask (packetType As Byte, mask As Byte) Dim ratusan Sebagai Byte Dim tens As Byte & apossetup rentetan arahan kami secara manual txBuff. Location = 0 txBuff. Value = "O" txBuff. Location = 1 txBuff. Value = "M" txBuff. Location = 2 txBuff. Value = "" & jenis apospacket txBuff. Lokasi = 3 txBuff. Value = serial_toChar (packetType) txBuff. Location = 4 txBuff. Value = "" & aposmask untuk menerapkan txBuff. Location = 5 ratusan = mask / 100 txBuff. Value = serial_toChar (beratus-ratus) txBuff. Lokasi = 6 puluhan = (topeng-ratusan) / 10 txBuff. Value = serial_toChar (puluhan) txBuff. Lokasi = 7 txBuff. Value = serial_toChar (mask-ratusan-puluhan) & aposkar balik txBuff. Lokasi = 8 txBuff. Value = 13 & dapatkan perintah bersiri_SendBufferEnd Sub & apos ********************************************* & apos * Subrutin Bersiri Am * & apo s ********************************************** & menginisialisasi siri ini portSub serial_init () & aposinisialisasi butang untuk menghidupkan dan mematikan port bersiri (hidupkan untuk berjalan, matikan ke program) toggleSerial_Button. IOLine = 5 toggleSerial_Button. Direction = cvInput toggleSerial_Wire. Input. Link (toggleSerial_Button. Value_Wire. Oput_Oput. Oput_Out. Oput_Value). Pautan (toggleSerial_Event. Operate) toggleSerial_Wire. Operate = cvTrue & aposinitialize a event to buffer our data serialReceive_Wire. Input. Link (serialPort. Received) serialReceive_Wire. Output. Link (serialReceive_Event. Operate_Ovate. Operate_Oveate = 0 & aposinitialize serial port serial kamiPort. Baud = cv9600 & aposinitialize status bersiri kami LED serialActive_LED. IOLine = 6 serialActive_LED. Direction = cvOutput & aposwait di sini sehingga port bersiri kami diaktifkan Sementara serialPort. Operate = cvFalse WendEnd Sub & terima data kami untuk memasukkan dan menerima data kami untuk memasukkan dan menerima data kami penyelesaian paketSub serialRe ceive_Event_Code () & apos.received menjadi palsu apabila buffer 4byte kosong Sementara (serialPort. Received = cvTrue) & aposkopi bait ke buffer kami rxBuff. Value = serialPort. Value & aposcheck untuk akhir paket Jika rxBuff. Value = 13 & proses proses packet & atur semula penyangga ke awal rxBuff. Location = 0 Lain rxBuff. Location = rxBuff. Location + 1 EndIf WendEnd Sub & Aposturns on dan off port bersiri untuk pengaturcaraanSub toggleSerial_Event_Code () Sekiranya serialPort. Operate = cvFalse serialPort. Operate = cvElseAct = LVE = serialPort. Operate = cvFalse serialActive_LED = 0 End IfEnd Sub & aposconvert one digit digit to aarakFungsi serial_toChar (inVal As Byte) As Byte Dim retVal As Byte Select Case inVal Case 0 retVal = "0" Case 1 retVal = "1" Case 2 retVal = "2" Kes 3 retVal = "3" Kes 4 retVal = "4" Kes 5 retVal = "5" Kes 6 retVal = "6" Kes 7 retVal = "7" Kes 8 retVal = "8" Kes 9 retVal = "9" Akhir Pilih serial_toChar = retValEnd Fungsi & apos sen ds data yang terkandung dalam txBuff & apos Catatan: pastikan buffer mengandungi kembalinya kereta (13) di akhir !! Sub serial_SendBuffer () & apositerate melalui, menghantar setiap bait, berakhir pada kembalinya txBuff. Lokasi = 0 Sementara 1 serialPort. Value = txBuff. Value ooPIC. Delay = 1 & aposmight tidak memerlukan ini & aposee jika ia adalah kereta balik Jika txBuff. Value = 13 & aposbreak keluar dari gelung kami Return End If & aposgo ke watak seterusnya txBuff. Location = txBuff. Location + 1 WendEnd Sub
Langkah 4: Putuskan sambungan Penyambung Pengaturcaraan
Setelah penyambung pengaturcaraan terputus, pasangkan unit kabel baru seperti gambar di bawah. Penyesuai yang dibuat pada langkah 1 harus membolehkan CMUCam dipasang terus ke OOPIC
Langkah 5: Tekan Butang untuk Memulakan Komunikasi Bersiri
Butang pada IOLine 5 akan memulakan komunikasi bersiri antara CMUCam dan OOPIC. Oleh kerana port bersiri digunakan untuk pengaturcaraan dan CMUCam, mungkin ada cara terkawal untuk menukar antara keduanya.
Program tidak akan berjalan sehingga butang ini ditekan. Sekiranya anda menekan butang sekali lagi, port bersiri akan menjadi tidak aktif, yang membolehkan anda memprogramnya. LED pada IOLine 6 memaparkan status port bersiri semasa (berarti aktif, mati bermaksud siap untuk diprogramkan).
Disyorkan:
Lensa Makro Diy Dengan AF (Berbeza dengan Semua Lensa Makro DIY Lain): 4 Langkah (dengan Gambar)
Lensa Makro Diy Dengan AF (Berbeza dengan Semua Lensa Makro DIY Lain): Saya telah melihat banyak orang membuat lensa makro dengan lensa kit standard (Biasanya 18-55mm). Sebilangan besar lensa hanya melekat pada kamera ke belakang atau elemen depan dikeluarkan. Terdapat kelemahan untuk kedua-dua pilihan ini. Untuk memasang lensa
Buat Osiloskop Sendiri (Mini DSO) Dengan STC MCU Dengan Mudah: 9 Langkah (dengan Gambar)
Buat Osiloskop Sendiri (Mini DSO) Dengan STC MCU Dengan Mudah: Ini adalah osiloskop sederhana yang dibuat dengan STC MCU. Anda boleh menggunakan DSO Mini ini untuk melihat bentuk gelombang. Selang Masa: Julat Voltan 100us-500ms: Mod Draw 0-30V: Vektor atau Titik
Penjana Fungsi DIY Dengan STC MCU dengan Mudah: 7 Langkah (dengan Gambar)
DIY Function Generator Dengan STC MCU Dengan Mudah: Ini adalah Function Generator yang dibuat dengan STC MCU. Hanya memerlukan beberapa komponen dan litarnya mudah. Keluaran Spesifikasi: Frekuensi Bentuk Gelombang Persegi Saluran Tunggal: 1Hz ~ 2MHz Frekuensi Bentuk Gelombang Sinus: 1Hz ~ 10kHz Amplitudo: VCC, kira-kira 5V Beban
Memadan TMP-112 Dengan Arduino Nano (I2C): 5 Langkah
Memadankan TMP-112 Dengan Arduino Nano (I2C): Halo, Salam sejahtera .. !! Saya (Somanshu Choudhary) bagi pihak usaha teknologi Dcube akan mengukur suhu menggunakan Arduino nano, ini adalah salah satu aplikasi protokol I2C untuk dibaca data analog Sensor suhu TMP-112
Helo Blynk! Memadan SPEEEduino Dengan Aplikasi Blynk: 5 Langkah
Helo Blynk! Memadankan SPEEEduino dengan Aplikasi Blynk: Apa itu SPEEEduino? SPEEEduino adalah papan mikrokontroler yang dilengkapi Wi-Fi yang berpusat di sekitar ekosistem Arduino, yang dibina untuk para pendidik. SPEEEduino menggabungkan faktor bentuk dan pengawal mikro Arduino dengan ESP8266 Wi-Fi SoC, menjadikan