İçindekiler:
- Adım 1: TFmini'yi Teensy 3.5'e bağlama (Arduino Mega için benzer)
- Adım 2: Çalıştırmak için Kod
- Adım 3: Seri Çizicide Arduino IDE Görünüm Sonuçlarını Kullanma
Video: Benewake TFmini - Teensy 3.5 ile Ucuz LiDAR: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Benewake TFmini LiDAR ünitesi, yaklaşık 50 Kanada Doları için küçük, çok hafif bir LiDAR sensörüdür. Belgeler iyiydi, ancak eksikti. Sensörden veri almayla ilgili ayrıntılar sağladı, ancak verileri gerçekten göndermesi için sensörü varsayılan moda geçirmek için gereken sinyalden bahsetmeyi unuttu. Neyse ki bu hata ayıklama belgesindeydi.
Bu benim için işe yaradı ve çalışmak gerçekten kolay bir cihaz.
Birden fazla HW Seri bağlantı noktasına sahip olduğu için bir Teensy 3.5 kullanmayı seçtim, veri almak ve veri yığılmasına izin vermeden işlemek için yeterince hızlı. Sadece eğlence için, verileri almayı kodun geri kalanından ayırmak için Teensy Threading kitaplığını kullandım.
Adım 1: TFmini'yi Teensy 3.5'e bağlama (Arduino Mega için benzer)
Bu örnek iki seri bağlantı gerektirir: biri TFmini'ye, diğeri ise sonuçları bilgisayarınızda görüntülemek için. Bu nedenle ve anladığım kadarıyla sadece bu nedenle, bu özel örnek Arduino Mega veya Teensy 3.x'in altındaki hiçbir şeyde çalışmayacaktır.
Bununla birlikte, bilgisayar ekranına yazdırmak için seri çıktı gerektirmeyen uygulamalar için aynı proje uyarlanabilir olmalıdır.
Birlikte verilen kablo demetini kullanarak:
1) siyah kabloyu Teensy GND'ye bağlayın (farklı VDC kaynağı kullanıyorsanız, Teensy'de toprağın da GND'ye gittiğinden emin olun)
2) kırmızı kabloyu Teensy Vin'e (veya 5VDC kaynağına) bağlayın
3) beyaz kabloyu (TFmini RX) Teensy (Serial1 TX) üzerindeki pin 1'e bağlayın
4) yeşil kabloyu (TFmini TX) Teensy'deki (Seri RX) pin 0'a bağlayın
Dahil edilen kablo demeti ekmek tahtası üzerinde çalışmak için çok küçüktü, bu yüzden TFmini'nin karşısındaki ucu kestim ve kabloları bir devre tahtasına lehimledim, panoya bir JST konektörü ekledim ve bir JST'den erkek jumper'a yaptım kablo demeti.
Adım 2: Çalıştırmak için Kod
Aşağıdaki kodu kullanın (Teensy 3.5 için) veya ekli dosyayı indirin:
Arduino Mega için threading muhtemelen çalışmayacaktır. Kodu readLiDAR işlevinden ana döngüye taşıyın ve iş parçacığı ile ilgili her şeyi kaldırın.
#include #include "TeensyThreads.h"
// Birlikte verilen kabloyu kullanarak:
// - Siyah = GND (GND'ye bağlı) // - Kırmızı = 5V (4,5 - 6,0V) (Teensy 3.5'te Vin'e veya Arduino'da 5V'a bağlı) // - Beyaz = TFmini RX (diğer bir deyişle mikrodenetleyici TX'e bağlanın), Teensy 3.5'te pin1) // - Yeşil = TFmini TX (diğer adıyla mikrodenetleyici RX'e bağlan, Teensy 3.5'te pin0) // NOT: Bu çizim için USB kablosuna bağlı olanın ötesinde ek seri portlara sahip bir mikrodenetleyiciye ihtiyacınız var / / Bu, Arduino MEGA (Seri1 kullanın), Teensy (3.x) içerir (mevcut HW Seri bağlantılarından birini kullanın)
uçucu int liDARval = 0;
geçersiz readLiDAR(){
// Benewake TFmini için Veri Formatı // ============================= // Mesaj başına toplam 9 bayt: // 1) 0x59 // 2) 0x59 // 3) Dist_L (düşük 8bit) // 4) Dist_H (yüksek 8bit) // 5) Strength_L (düşük 8bit) // 6) Strength_H (yüksek 8bit) // 7) Ayrılmış baytlar // 8) Orijinal sinyal kalite derecesi // 9) Sağlama toplamı eşlik biti (düşük 8 bit), Sağlama Toplamı = Bayt1 + Bayt2 +…+Byte8. Bu sadece düşük bir 8 bittir while(1){ // Daima devam ederken while(Serial1.available()>=9) // En az 9 bayt veri mevcut olduğunda (1 sinyal için beklenen bayt sayısı), o zaman read { if((0x59 == Serial1.read()) && (0x59 == Serial1.read())) // bayt 1 ve bayt 2 { unsigned int t1 = Serial1.read(); // bayt 3 = Dist_L imzasız int t2 = Seri1.read(); // bayt 4 = Dist_H t2 <<= 8; t2 += t1; liDARval = t2; t1 = Seri1.read(); // bayt 5 = Güç_L t2 = Seri1.read(); // bayt 6 = Güç_H t2 <<= 8; t2 += t1; for(int i=0; i<3; i++)Serial1.read(); // bayt 7, 8, 9 yoksayılır } } } }
geçersiz kurulum()
{ Serial1.begin(115200); // TFmini Serial.begin için HW Seri (115200); // USB'den bilgisayara seri çıkış gecikmesi (100); // İşlerin başlaması için biraz zaman verin // Standart Çıkış moduna ayarlayın Serial1.write(0x42); Seri1.write(0x57); Seri1.write(0x02); Seri1.write(0x00); Seri1.write(0x00); Seri1.write(0x00); Seri1.write(0x01); Seri1.write(0x06); // TFmini threads.addThread(readLiDAR); }
boşluk döngüsü()
{ gecikme(10); // 100Hz Serial.println(liDARval); }
Adım 3: Seri Çizicide Arduino IDE Görünüm Sonuçlarını Kullanma
İstediğiniz yöntemi kullanabilirsiniz, ancak Arduino'nun IDE'si sonuçları güzel bir şekilde çizecektir.
Teensy'ye bağlanın ve Seri Monitör'ü açın. Baudrate'in 115200 olarak ayarlandığından emin olun.
Önerilen:
ESP32 ile PWM - Arduino IDE ile ESP 32'de PWM ile LED Karartma: 6 Adım
ESP32 ile PWM | Arduino IDE ile ESP 32'de PWM ile LED Karartma: Bu talimatta Arduino IDE & PWM temel olarak herhangi bir MCU'dan analog çıkış üretmek için kullanılır ve bu analog çıkış 0V ile 3.3V (esp32 durumunda) arasında herhangi bir şey olabilir & itibaren
Arduino İle Sabit Radar (LIDAR) Dizisi: 10 Adım (Resimli)
Arduino ile Sabit Radar (LIDAR) Dizisi: İki ayaklı bir robot inşa ederken, her zaman rakibimi izleyebilen ve onunla saldırı hareketleri yapabilen bir çeşit harika alete sahip olmayı düşünüyordum. Bir sürü radar/lidar projesi burada zaten var. Ancak, amacım için bazı sınırlamalar var
GiggleBot ile Lidar Güdümlü Robot Yapın: 8 Adım
GiggleBot ile Lidar Güdümlü Robot Yapın: Bu eğitimde, GiggleBot'un bir labirentin zorluklarını çözmesini sağlıyoruz. Mesafe sensörü taktığımız GiggleBot üzerine servo monte ediyoruz. Çalışırken servo ileri geri dönecek ve böylece mesafe sensörü
TFMini Lidar Ekran - Radar Gibi Sadece Işıkla!:-): 3 Adım
TFMini Lidar Display - Like Radar Only With Light!:-): Bu işi yapmak için bir araya gelen birçok şey var, ancak en büyüğü (ve bana bunu yapmam için ilham veren) "Arduino Radar Projesi"; Howtomechatronics.com'da Dejan Nedelkovski tarafından bulundu (tarih bilinmiyor). https://howtomekatronik
Benewake LiDAR TFmini (Tam Kılavuz): 5 Adım (Resimlerle)
Benewake LiDAR TFmini (Tam Kılavuz): AçıklamaBenewake TFMINI Mikro LIDAR Modülü, benzersiz optik, yapısal ve elektronik tasarımlara sahiptir. Ürünün üç ana avantajı vardır: düşük maliyet, küçük hacim ve düşük güç tüketimi. İç mekana uyarlanmış yerleşik algoritma ve