Cuprins:
- Pasul 1: Conectarea TFmini la Teensy 3.5 (similar pentru Arduino Mega)
- Pasul 2: Cod pentru a-l rula
- Pasul 3: Utilizarea Arduino IDE Vizualizarea rezultatelor în Serial Plotter
Video: Benewake TFmini - LiDAR ieftin cu Teensy 3.5: 3 Pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Unitatea Benewake TFmini LiDAR este un senzor LiDAR mic, foarte ușor, pentru aproximativ 50 dolari canadieni. Documentarea a fost bună, dar incompletă. Acesta a furnizat detalii despre primirea datelor de la senzor, dar a uitat să menționeze semnalul necesar pentru a pune senzorul în modul implicit, astfel încât să trimită efectiv datele. Din fericire, acest lucru se afla în documentul de depanare.
Deci, acest lucru a funcționat pentru mine și este cu adevărat un dispozitiv ușor de utilizat.
Am ales să folosesc un Teensy 3.5 deoarece are mai multe porturi Seriale HW, este mai mult decât rapid pentru a primi date și a le procesa fără a lăsa datele să se acumuleze. Doar pentru distracție, am folosit biblioteca Teensy Threading pentru a separa obținerea datelor de restul codului.
Pasul 1: Conectarea TFmini la Teensy 3.5 (similar pentru Arduino Mega)
Acest exemplu necesită două conexiuni seriale: una la TFmini și una pentru a afișa rezultatele pe computer. Din acest motiv și, din câte îmi dau seama, doar acest motiv, acest exemplu particular nu va funcționa pe nimic sub un Arduino Mega sau Teensy 3.x.
Acestea fiind spuse, pentru aplicațiile care nu necesită ieșire serială pentru a imprima pe ecranul computerului, același proiect ar trebui să fie adaptabil.
Utilizarea cablajului inclus:
1) conectați firul negru la Teensy GND (dacă utilizați sursa VDC diferențială, asigurați-vă că pământul merge și la GND pe Teensy)
2) conectați firul roșu la Teensy Vin (sau sursa de 5VDC)
3) conectați firul alb (TFmini RX) la pinul 1 de pe Teensy (Serial1 TX)
4) conectați firul verde (TFmini TX) la pinul 0 de pe Teensy (Serial RX)
Cablul de cabluri inclus era prea mic pentru a putea lucra pe o placă de pâine, așa că am tăiat capătul opus TFmini și am lipit firele pe o placă de pâine, am adăugat un conector JST la panou și am făcut un JST la jumperul masculin cablaj de sârmă.
Pasul 2: Cod pentru a-l rula
Utilizați următorul cod (pentru Teensy 3.5) sau descărcați fișierul atașat:
Pentru Arduino Mega, threading-ul probabil nu va funcționa. Mutați codul din funcția readLiDAR în bucla principală și eliminați orice este legat de threading.
#include #include "TeensyThreads.h"
// Utilizarea cablului furnizat:
// - Negru = GND (conectat la GND) // - Roșu = 5V (4,5 - 6,0V) (conectat la Vin pe Teensy 3.5, sau 5V pe Arduino) // - Alb = TFmini RX (aka. Conectare la microcontroler TX, pin1 pe Teensy 3.5) // - Verde = TFmini TX (aka. conectare la microcontroler RX, pin0 pe Teensy 3.5) // NOTĂ: pentru această schiță aveți nevoie de un microcontroler cu porturi seriale suplimentare dincolo de cel conectat la cablul USB / / Aceasta include Arduino MEGA (utilizați Serial1), Teensy (3.x) (utilizați una dintre conexiunile Seriale HW disponibile)
volatil int liDARval = 0;
void readLiDAR () {
// Format date pentru Benewake TFmini // ============================== // 9 octeți în total per mesaj: // 1) 0x59 // 2) 0x59 // 3) Dist_L (scăzut 8 biți) // 4) Dist_H (înalt 8 biți) // 5) Putere_L (scăzut 8 biți) // 6) Putere_H (înalt 8 biți) // 7) Octoviți rezervați // 8) Gradul original de calitate a semnalului // 9) Bit de paritate sumă de verificare (8 biți scăzut), sumă de verificare = Byte1 + Byte2 + … + Byte8. Acesta este doar un 8bit scăzut, deși în timp ce (1) {// Continuați pentru totdeauna (Serial1.available ()> = 9) // Când sunt disponibili cel puțin 9 octeți de date (numărul așteptat de octeți pentru 1 semnal), atunci citiți {if ((0x59 == Serial1.read ()) && (0x59 == Serial1.read ())) // octet 1 și octet 2 {unsigned int t1 = Serial1.read (); // octet 3 = Dist_L nesemnat int t2 = Serial1.read (); // octet 4 = Dist_H t2 << = 8; t2 + = t1; liDARval = t2; t1 = Serial1.read (); // octet 5 = Strength_L t2 = Serial1.read (); // octet 6 = Forța_H t2 << = 8; t2 + = t1; pentru (int i = 0; i <3; i ++) Serial1.read (); // octetul 7, 8, 9 sunt ignorate}}}}
configurare nulă ()
{Serial1.begin (115200); // Serial HW pentru TFmini Serial.begin (115200); // Ieșire serială prin întârziere USB către computer (100); // Acordați puțin timp pentru ca lucrurile să înceapă // Setați la modul de ieșire 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); // Configurare fir pentru citirea intrării seriale din TFmini threads.addThread (readLiDAR); }
bucla nulă ()
{întârziere (10); // Nu vreau să citiți prea des ca eșantioane TFmini la 100Hz Serial.println (liDARval); }
Pasul 3: Utilizarea Arduino IDE Vizualizarea rezultatelor în Serial Plotter
Puteți utiliza orice metodă doriți, dar IDE-ul Arduino va arăta rezultatele frumos.
Conectați-vă la Teensy și deschideți Serial Monitor. Asigurați-vă că Baudrate este setat la 115200.
Recomandat:
Modul SIM900A 2G + Cartelă SIM hologramă = Combinație câștigătoare din categoria „ieftin ieftin” ?: 6 pași
SIM900A 2G Module + Hologramă SIM Card = Combinație câștigătoare din categoria „murdărie ieftină” ?: IoT, cuvântul cheie al acestui deceniu, uneori intră chiar și în mintea oamenilor care se consideră rezistenți la moft, cu mine printre ei. Internet și am văzut o companie despre care nu am mai auzit până acum (Hologramă) dă cartele SIM
Upgrade ieftin de găurit fără fir !: 4 pași
Upgrade ieftin cu burghiu fără fir! ! Funcții adăugate: Încărcați b
Hub NMEA / AIS ieftin - Pod RS232 la Wifi pentru utilizare la bord: 6 pași
Hub NMEA / AIS ieftin - RS232 la Wifi Bridge pentru utilizare la bord: Actualizare 9 ianuarie 2021 - Adăugare conexiune TCP suplimentară și reutilizare a ultimei conexiuni dacă se conectează mai mulți clienți Actualizare 13 decembrie 2020 - Nu a fost adăugată nicio versiune de configurare a codului pentru bărci cu routere existente Introducere Acest NMEA / Podul AIS RS232 către WiFi este
Reometru ieftin: 11 pași (cu imagini)
Reometru low-cost: Scopul acestui instructabil este de a crea un reometru low-cost pentru a găsi experimental vâscozitatea unui fluid. Acest proiect a fost creat de o echipă de studenți și absolvenți de la Universitatea Brown din clasa Vibration of Mechanical Systems
Șasiu rezervor de robot acrilic ieftin pentru Arduino SN7300 Sinoning: 6 pași
Șasiu de rezervor cu robot acrilic ieftin pentru Arduino SN7300 Sinoning: Șasiu de rezervor acrilic ieftin pentru Arduino SN7000 Sinoning cumpărați de la: SINONING ROBOT TANK