INHOUDSOPGAWE:
- Stap 1: Koppel TFmini aan Teensy 3.5 (soortgelyk aan Arduino Mega)
- Stap 2: Kode om dit uit te voer
- Stap 3: Die gebruik van Arduino IDE Kyk na die resultate in die serieplotter
Video: Benewake TFmini - Goedkoop LiDAR met Teensy 3.5: 3 -stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Die Benewake TFmini LiDAR -eenheid is 'n klein, baie ligte LiDAR -sensor vir ongeveer $ 50 Kanadese. Dokumentasie was goed, maar onvolledig. Dit het besonderhede verskaf oor die ontvangs van data van die sensor, maar het vergeet om die sein te noem wat nodig is om die sensor in die standaardmodus te plaas sodat dit die data eintlik stuur. Dit was gelukkig in die ontfoutingsdokument.
Dit is dus wat vir my gewerk het, en dit is regtig 'n maklike toestel om mee te werk.
Ek het gekies om 'n Teensy 3.5 te gebruik, aangesien dit verskeie HW Serial -poorte het, dit is meer as vinnig genoeg om data te ontvang en te verwerk sonder dat data ophoop. Net vir die plesier gebruik ek die Teensy Threading -biblioteek om die data van die res van die kode te skei.
Stap 1: Koppel TFmini aan Teensy 3.5 (soortgelyk aan Arduino Mega)
Hierdie voorbeeld vereis twee seriële verbindings: een na die TFmini en een om resultate op u rekenaar te vertoon. Om hierdie rede, en sover ek kan weet, slegs hierdie rede, werk hierdie spesifieke voorbeeld nie op iets onder 'n Arduino Mega of Teensy 3.x.
Dit gesê, dieselfde programme moet aanpasbaar wees vir toepassings wat nie 'n seriële uitset benodig om na die rekenaarskerm te druk nie.
Gebruik die ingeslote draadkabel:
1) verbind swart draad met Teensy GND (as u 'n verskil -VDC -bron gebruik, maak seker dat die grond ook na GND op Teensy gaan)
2) koppel die rooi draad aan Teensy Vin (of 5VDC bron)
3) verbind wit draad (TFmini RX) aan pen 1 op Teensy (Serial1 TX)
4) koppel groen draad (TFmini TX) aan pen 0 op Teensy (Serial RX)
Die meegeleverde gordel was te klein vir my om op 'n broodbord mee te werk, so ek sny die punt oorkant die TFmini af en soldeer die drade aan 'n broodbord, voeg 'n JST -aansluiting by die breekbord en maak 'n JST aan manlike trui draad harnas.
Stap 2: Kode om dit uit te voer
Gebruik die volgende kode (vir Teensy 3.5) of laai die aangehegte lêer af:
Vir Arduino Mega sal draadwerk waarskynlik nie werk nie. Beweeg kode van readLiDAR -funksie na hooflus, en verwyder alles wat verband hou met threading.
#include #include "TeensyThreads.h"
// Gebruik die meegeleverde kabel:
// - Swart = GND (gekoppel aan GND) // - Rooi = 5V (4.5 - 6.0V) (gekoppel aan Vin op Teensy 3.5, of 5V op Arduino) // - Wit = TFmini RX (ook gekoppel aan mikrobeheerder TX, pin1 op Teensy 3.5) // - Groen = TFmini TX (ook gekoppel aan mikrokontroller RX, pin0 op Teensy 3.5) // OPMERKING: vir hierdie skets benodig u 'n mikrobeheerder met ekstra seriële poorte buite die een wat aan die USB -kabel gekoppel is / / Dit sluit Arduino MEGA (gebruik Serial1), Teensy (3.x) in (gebruik een van die beskikbare HW Serial -verbindings)
vlugtige int liDARval = 0;
leegte readLiDAR () {
// Dataformaat vir Benewake TFmini // ================================ 9 grepe totaal per boodskap: // 1) 0x59 // 2) 0x59 // 3) Dist_L (laag 8bit) // 4) Dist_H (hoog 8bit) // 5) Sterkte_L (laag 8bit) // 6) Sterkte_H (hoog 8bit) // 7) Gereserveerde grepe // 8) Oorspronklike seinkwaliteitgraad // 9) Kontrolesumpariteitsbit (lae 8bit), Checksum = Byte1 +Byte2 +… +Byte8. Dit is slegs 'n lae 8 -bits, terwyl (1) {// Hou aan vir ewig (Serial1.available ()> = 9) // Wanneer ten minste 9 grepe data beskikbaar is (verwagte aantal grepe vir 1 sein), dan lees {if ((0x59 == Serial1.read ()) && (0x59 == Serial1.read ())) // byte 1 en byte 2 {unsigned int t1 = Serial1.read (); // byte 3 = Dist_L unsigned int t2 = Serial1.read (); // greep 4 = Dist_H t2 << = 8; t2 += t1; liDARval = t2; t1 = Reeks1.lees (); // greep 5 = Sterkte_L t2 = Reeks1.lees (); // greep 6 = Sterkte_H t2 << = 8; t2 += t1; vir (int i = 0; i <3; i ++) Serial1.read (); // greep 7, 8, 9 word geïgnoreer}}}}
leemte opstelling ()
{Serial1.begin (115200); // HW Serial vir TFmini Serial.begin (115200); // Seriële uitset via USB na rekenaar vertraging (100); // Gee 'n bietjie tyd om te begin // Stel in op Standard Output -modus Serial1.write (0x42); Reeks1.skryf (0x57); Reeks1.skryf (0x02); Reeks1.skryf (0x00); Reeks1.skryf (0x00); Reeks1.skryf (0x00); Reeks1.skryf (0x01); Reeks1.skryf (0x06); // Stel draad op om seriële invoer van TFmini -drade te lees. AddThread (readLiDAR); }
leemte lus ()
{vertraging (10); // Wil nie te gereeld as TFmini -monsters by 100Hz Serial.println (liDARval) lees nie; }
Stap 3: Die gebruik van Arduino IDE Kyk na die resultate in die serieplotter
U kan die metode gebruik wat u wil, maar Arduino's IDE sal die resultate mooi uiteensit.
Koppel aan die Teensy en maak Serial Monitor oop. Maak seker dat Baudrate ingestel is op 115200.
Aanbeveel:
Nest Hello - Deurklokkie met geïntegreerde transformator UK (220-240V AC - 16V AC): 7 stappen (met foto's)
Nest Hello - Doorbell Chime With Integrated Transformer UK (220-240V AC - 16V AC): Ek wou 'n Nest Hello -deurklokkie tuis installeer, 'n gizmo wat werk op 16V -24V AC (OPMERKING: 'n sagteware -opdatering in 2019 het die Europa verander weergawe reeks tot 12V-24V AC). Die standaard deurklokkie met geïntegreerde transformators beskikbaar in die Verenigde Koninkryk by
Kragtige digitale wisselstroomdimmer met STM32: 15 stappen (met foto's)
Kragtige digitale wisselstroomdimmer met behulp van STM32: deur Hesam Moshiri, [email protected] Omdat hulle oral om ons is en ten minste huishoudelike toestelle van die netkrag voorsien word. Baie soorte industriële toerusting word ook aangedryf met die enkelfase 220V-AC
Alle bandontvanger met SI4732 / SI4735 (FM / RDS, AM en SSB) met Arduino: 3 stappen
Alle bandontvanger met SI4732 / SI4735 (FM / RDS, AM en SSB) Met Arduino: dit is 'n all -band -ontvangerprojek. Dit gebruik die Si4734 Arduino -biblioteek. Hierdie biblioteek het meer as 20 voorbeelde. U kan na FM luister met RDS, plaaslike AM (MW), SW en amateurradiostasies (SSB). Alle dokumentasie hier
Klein V/A meter met INA219: 9 stappen (met foto's)
Klein V/A -meter met INA219: is u moeg daarvoor om u multimeter aan te sluit as u spanning en stroom op 'n klein projek wil meet? Die klein V/A -meter is die toestel wat u nodig het! Daar is niks nuuts aan die INA219 hoësensor nie. Daar is baie goeie projekte
Kapasiteitsmeter met TM1637 met behulp van Arduino .: 5 stappen (met foto's)
Kapasiteitsmeter met TM1637 met behulp van Arduino: Hoe om 'n kapasitansiemeter te maak met behulp van Arduino op die TM1637. Dit wissel tussen 1 uF en ongeveer 2000 uF