Inhaltsverzeichnis:
- Schritt 1: Anschließen von TFmini an Teensy 3.5 (ähnlich für Arduino Mega)
- Schritt 2: Code zum Ausführen
- Schritt 3: Verwenden von Arduino IDE View Results in Serial Plotter
Video: Benewake TFmini - Günstiger LiDAR mit Teensy 3.5 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Die Benewake TFmini LiDAR-Einheit ist ein kleiner, sehr leichter LiDAR-Sensor für etwa 50 kanadische Dollar. Die Dokumentation war gut, aber unvollständig. Es enthielt Details zum Empfangen von Daten vom Sensor, vergaß jedoch, das Signal zu erwähnen, das erforderlich ist, um den Sensor in den Standardmodus zu versetzen, damit er die Daten tatsächlich sendet. Zum Glück stand das im Debugging-Dokument.
Das hat also für mich funktioniert, und es ist wirklich ein einfaches Gerät, mit dem man arbeiten kann.
Ich habe mich für ein Teensy 3.5 entschieden, da es über mehrere serielle HW-Ports verfügt. Es ist mehr als schnell genug, um Daten zu empfangen und zu verarbeiten, ohne dass sich Daten anhäufen. Nur zum Spaß habe ich die Teensy Threading-Bibliothek verwendet, um das Abrufen der Daten vom Rest des Codes zu trennen.
Schritt 1: Anschließen von TFmini an Teensy 3.5 (ähnlich für Arduino Mega)
Dieses Beispiel erfordert zwei serielle Verbindungen: eine zum TFmini und eine zum Anzeigen der Ergebnisse auf Ihrem Computer. Aus diesem Grund, und soweit ich das beurteilen kann, nur aus diesem Grund funktioniert dieses spezielle Beispiel nicht auf etwas unter einem Arduino Mega oder Teensy 3.x.
Für Anwendungen, die keine serielle Ausgabe zum Drucken auf dem Computerbildschirm erfordern, sollte dasselbe Projekt jedoch anpassbar sein.
Verwendung des mitgelieferten Kabelbaums:
1) Schließen Sie das schwarze Kabel an Teensy GND an (wenn Sie eine unterschiedliche VDC-Quelle verwenden, stellen Sie sicher, dass die Masse auch bei Teensy an GND geht)
2) Verbinden Sie das rote Kabel mit Teensy Vin (oder 5VDC-Quelle)
3) Verbinden Sie das weiße Kabel (TFmini RX) mit Pin 1 von Teensy (Serial1 TX)
4) Verbinden Sie das grüne Kabel (TFmini TX) mit Pin 0 auf Teensy (Serial RX)
Der mitgelieferte Kabelbaum war zu klein, um mit einem Steckbrett zu arbeiten, also schnitt ich das Ende gegenüber dem TFmini ab und lötete die Drähte an ein Steckbrett, fügte dem Breakboard einen JST-Stecker hinzu und machte einen JST zu einem männlichen Jumper Kabelbaum.
Schritt 2: Code zum Ausführen
Verwenden Sie den folgenden Code (für Teensy 3.5) oder laden Sie die angehängte Datei herunter:
Für Arduino Mega wird das Einfädeln wahrscheinlich nicht funktionieren. Verschieben Sie den Code von der readLiDAR-Funktion in die Hauptschleife und entfernen Sie alles, was mit dem Threading zu tun hat.
#include #include "TeensyThreads.h"
// Verwendung des mitgelieferten Kabels:
// - Schwarz = GND (verbunden mit GND) // - Rot = 5 V (4,5 - 6,0 V) (verbunden mit Vin auf Teensy 3.5 oder 5 V auf Arduino) // - Weiß = TFmini RX (auch bekannt als Mikrocontroller TX), Pin1 auf Teensy 3.5) // - Grün = TFmini TX (auch bekannt als Verbindung zum Mikrocontroller RX, Pin0 auf Teensy 3.5) // HINWEIS: Für diese Skizze benötigen Sie einen Mikrocontroller mit zusätzlichen seriellen Anschlüssen über den mit dem USB-Kabel verbundenen / / Dazu gehören Arduino MEGA (verwenden Sie Serial1), Teensy (3.x) (verwenden Sie eine der verfügbaren seriellen HW-Verbindungen)
volatile int liDARval = 0;
void readLiDAR(){
// Datenformat für Benewake TFmini // =============================== // 9 Byte insgesamt pro Nachricht: // 1) 0x59 // 2) 0x59 // 3) Dist_L (low 8bit) // 4) Dist_H (high 8bit) // 5) Strength_L (low 8bit) // 6) Strength_H (high 8bit) // 7) Reservierte Bytes // 8) Ursprünglicher Signalqualitätsgrad // 9) Prüfsummen-Paritätsbit (low 8bit), Prüfsumme = Byte1 + Byte2 +…+Byte8. Dies sind jedoch nur niedrige 8bit while(1){ // Weitermachen für immer while(Serial1.available()>=9) // Wenn mindestens 9 Bytes an Daten verfügbar sind (erwartete Anzahl von Bytes für 1 Signal), dann lesen { if ((0x59 == Serial1.read ()) && (0x59 == Serial1.read ())) // Byte 1 und Byte 2 { unsigned int t1 = Serial1.read (); // Byte 3 = Dist_L unsigned int t2 = Serial1.read (); // Byte 4 = Dist_H t2 <<= 8; t2 += t1; liDARval = t2; t1 = Serial1.read (); // Byte 5 = Strength_L t2 = Serial1.read (); // Byte 6 = Stärke_H t2 <<= 8; t2 += t1; for(int i=0; i<3; i++)Serial1.read(); // Byte 7, 8, 9 werden ignoriert } } } }
Void-Setup ()
{ Serial1.begin(115200); // HW-Seriell für TFmini Serial.begin (115200); // Serielle Ausgabe über USB zur Computerverzögerung (100); // Geben Sie ein wenig Zeit, damit die Dinge beginnen // Auf den Standardausgabemodus setzen Serial1.write (0x42); Serial1.write (0x57); Serial1.write (0x02); Serial1.write (0x00); Serial1.write (0x00); Serial1.write (0x00); Serial1.write (0x01); Serial1.write (0x06); // Setup-Thread zum Lesen der seriellen Eingabe von TFmini-Threads.addThread(readLiDAR); }
Leere Schleife ()
{ Verzögerung(10); // Ich möchte nicht zu oft als TFmini-Samples bei 100 Hz lesen Serial.println (liDARval); }
Schritt 3: Verwenden von Arduino IDE View Results in Serial Plotter
Sie können jede beliebige Methode verwenden, aber die IDE von Arduino wird die Ergebnisse gut darstellen.
Verbinden Sie sich mit dem Teensy und öffnen Sie Serial Monitor. Stellen Sie sicher, dass die Baudrate auf 115200 eingestellt ist.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
Beginnen Sie mit Light Painting (kein Photoshop): 5 Schritte (mit Bildern)
Beginnend mit Light Painting (kein Photoshop): Ich habe vor kurzem eine neue Kamera gekauft und einige ihrer Funktionen untersucht, als ich im Internet auf Light Painting oder Langzeitbelichtung gestoßen bin. Die meisten von uns werden die Grundform des Lightpaintings mit einem Foto in einer Stadt mit einer Straße gesehen haben