Isi kandungan:
- Langkah 1: Menyambungkan TFmini ke Teensy 3.5 (serupa dengan Arduino Mega)
- Langkah 2: Kod untuk Menjalankannya
- Langkah 3: Menggunakan Arduino IDE Lihat Hasil dalam Serial Plotter
Video: Benewake TFmini - LiDAR Murah Dengan Langkah-langkah Teensy 3.5: 3
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Unit Benewake TFmini LiDAR adalah sensor LiDAR kecil dan sangat ringan dengan harga sekitar $ 50 Kanada. Dokumentasi bagus, tetapi tidak lengkap. Ini memberikan perincian tentang penerimaan data dari sensor, tetapi lupa menyebutkan sinyal yang diperlukan untuk memasukkan sensor ke mode lalai sehingga benar-benar mengirimkan data. Nasib baik itu ada dalam dokumen debugging.
Jadi inilah yang sesuai untuk saya, dan ini adalah alat yang mudah digunakan.
Saya memilih untuk menggunakan Teensy 3.5 kerana mempunyai beberapa port Serial HW, lebih pantas daripada menerima data dan memprosesnya tanpa membiarkan data menumpuk. Hanya untuk bersenang-senang, saya menggunakan perpustakaan Teensy Threading untuk memisahkan mendapatkan data dari kod yang lain.
Langkah 1: Menyambungkan TFmini ke Teensy 3.5 (serupa dengan Arduino Mega)
Contoh ini memerlukan dua sambungan bersiri: satu ke TFmini, dan satu untuk memaparkan hasil pada komputer anda. Atas sebab ini, dan sejauh yang saya tahu, alasan ini sahaja, contoh khusus ini tidak akan berfungsi pada apa-apa di bawah Arduino Mega atau Teensy 3.x.
Yang dikatakan, untuk aplikasi yang tidak memerlukan output bersiri untuk dicetak ke skrin komputer, projek yang sama harus disesuaikan.
Menggunakan harness wayar yang disertakan:
1) sambungkan wayar hitam ke Teensy GND (jika menggunakan sumber VDC yang berbeza, pastikan tanah juga menuju ke GND pada Teensy)
2) sambungkan wayar merah ke Teensy Vin (atau sumber 5VDC)
3) sambungkan wayar putih (TFmini RX) ke pin 1 pada Teensy (Serial1 TX)
4) sambungkan wayar hijau (TFmini TX) ke pin 0 pada Teensy (Serial RX)
Harness wayar yang disertakan terlalu kecil untuk saya bekerjasama dengan papan roti, jadi saya memotong hujungnya bertentangan dengan TFmini, dan memateri wayar ke papan roti, menambah penyambung JST ke papan pemisah, dan membuat JST ke jumper lelaki abah-abah wayar.
Langkah 2: Kod untuk Menjalankannya
Gunakan kod berikut (untuk Teensy 3.5) atau muat turun fail yang dilampirkan:
Untuk Arduino Mega, threading kemungkinan tidak akan berjaya. Pindahkan kod dari fungsi readLiDAR ke gelung utama, dan alih keluar apa sahaja yang berkaitan dengan utas.
#include #include "TeensyThreads.h"
// Menggunakan kabel yang dibekalkan:
// - Hitam = GND (disambungkan ke GND) // - Merah = 5V (4.5 - 6.0V) (disambungkan ke Vin pada Teensy 3.5, atau 5V pada Arduino) // - Putih = TFmini RX (aka. Sambungkan ke mikrokontroler TX, pin1 pada Teensy 3.5) // - Hijau = TFmini TX (aka. sambungkan ke mikrokontroler RX, pin0 pada Teensy 3.5) // CATATAN: untuk lakaran ini, anda memerlukan mikrokontroler dengan port bersiri tambahan di luar yang disambungkan ke kabel USB / / Ini termasuk Arduino MEGA (gunakan Serial1), Teensy (3.x) (gunakan salah satu sambungan HW Serial yang tersedia)
int liDARval yang tidak menentu = 0;
batal bacaLiDAR () {
// Format Data untuk Benewake TFmini // =============================== // Jumlah 9 bait setiap mesej: // 1) 0x59 // 2) 0x59 // 3) Dist_L (rendah 8bit) // 4) Dist_H (tinggi 8bit) // 5) Kekuatan_L (rendah 8bit) // 6) Kekuatan_H (tinggi 8bit) // 7) Bait simpanan // 8) Tahap kualiti isyarat asal // 9) Bit paritas Checksum (8bit rendah), Checksum = Byte1 + Byte2 +… + Byte8. Ini hanya 8bit rendah walaupun (1) {// Terus buat selama-lamanya (Serial1.available ()> = 9) // Apabila sekurang-kurangnya 9 bait data tersedia (jangkaan bilangan bait untuk 1 isyarat), maka baca {if ((0x59 == Serial1.read ()) && (0x59 == Serial1.read ())) // bait 1 dan bait 2 {unsigned int t1 = Serial1.read (); // byte 3 = Dist_L unsigned int t2 = Serial1.read (); // bait 4 = Dist_H t2 << = 8; t2 + = t1; liDARval = t2; t1 = Serial1.read (); // byte 5 = Kekuatan_L t2 = Serial1.read (); // byte 6 = Kekuatan_H t2 << = 8; t2 + = t1; untuk (int i = 0; i <3; i ++) Serial1.read (); // byte 7, 8, 9 diabaikan}}}}
persediaan tidak sah ()
{Serial1.begin (115200); // HW Serial untuk TFmini Serial.begin (115200); // Keluaran bersiri melalui penundaan USB ke komputer (100); // Beri sedikit masa untuk memulakannya // Tetapkan ke mod Output Standard Serial1.write (0x42); Serial1.write (0x57); Serial1.write (0x02); Serial1.write (0x00); Serial1.write (0x00); Serial1.write (0x00); Serial1.write (0x01); Serial1.write (0x06); // Siapkan utas untuk membaca input bersiri dari TFmini threads.addThread (readLiDAR); }
gelung kosong ()
{kelewatan (10); // Jangan terlalu kerap membaca sebagai contoh TFmini pada 100Hz Serial.println (liDARval); }
Langkah 3: Menggunakan Arduino IDE Lihat Hasil dalam Serial Plotter
Anda boleh menggunakan kaedah apa sahaja yang anda mahukan, tetapi Arduino's IDE akan memaparkan hasilnya dengan baik.
Sambung ke Teensy, dan buka Serial Monitor. Pastikan Baudrate ditetapkan ke 115200.
Disyorkan:
Berhati-hati dengan ATLAS - STAR WARS - Death Star II: 7 Steps (with Pictures)
Berhati-hati dengan ATLAS - STAR WARS - Death Star II: Bangun dari model plastik Bandai Death Star II. Ciri utama merangkumi: ✅Kesan cahaya dan suara bintang kematian
Menggunakan Kit Pencipta Kitronik Dengan Adafruit CLUE: 4 Steps (with Pictures)
Menggunakan Kit Penemu Kitronik Dengan Adafruit CLUE: Kit Penemu Kitronik untuk mikro BBC: bit adalah pengenalan yang baik untuk mikrokontroler dengan elektronik menggunakan papan roti. Versi kit ini direka untuk digunakan dengan BBC micro: bit yang murah. Buku tutorial terperinci yang datang
Pooh Bear & Friends Night Light: 5 Steps (dengan Gambar)
Pooh Bear & Friends Night Light: Lampu malam berikut dibuat menggunakan ATTiny85 yang dipasang di permukaan. Ia mempunyai dua butang, satu untuk menghidupkan dan mematikannya dan satu untuk menghentikannya pada urutan pencahayaan yang dipilih. Jeda bukanlah jeda yang benar tetapi hanya memutuskan sambungan ke
Fire Pit With Sound Reactive Flame, Bluetooth Speaker, dan Animated LEDs: 7 Steps (dengan Gambar)
Fire Pit With Sound Reactive Flame, Bluetooth Speaker, dan Animated LED: Tidak ada yang mengatakan waktu musim panas seperti bersantai di luar api. Tetapi adakah anda tahu apa yang lebih baik daripada api? Api DAN Muzik! Tetapi kita dapat melangkah selangkah, tidak, dua langkah lebih jauh … Api, Muzik, lampu LED, Suara Reaktif Api! Mungkin terdengar ambisius, tetapi ini
Sega Genesis Controller to USB Adapter dengan harga $ 2: 4
Sega Genesis Controller to USB Adapter seharga $ 2: Penyesuai ini membolehkan pengawal Sega Genesis / Mega Drive meniru dual XBox 360 gamepad untuk digunakan dengan retroarch atau perisian lain. Ia menggunakan pil biru stm32f103c8t6 yang serasi dengan Arduino untuk elektronik. Bahan: stm32f103c8t6 pil biru dua DB9 m