Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03
Opis
Moduł Benewake TFMINI Micro LIDAR ma unikalną konstrukcję optyczną, konstrukcyjną i elektroniczną. Produkt ma trzy główne zalety: niski koszt, niewielka objętość i niskie zużycie energii.
Wbudowany algorytm dostosowany do środowisk wewnętrznych i zewnętrznych może zagwarantować doskonałą wydajność przy niskich kosztach i niewielkiej objętości, co znacznie rozszerza obszary zastosowań i scenariusze LiDAR i stanowi solidną podstawę dla przyszłych „oczu” w inteligentnym era.
Specyfikacje
- Napięcie wejściowe: 5 v
- Średnia moc: 0,12 W
- Protokół komunikacyjny: UART (szybkość transmisji: 115200)
- Temperatura pracy: -20 ℃ ~ 60 ℃
- Pole widzenia: 2,3°
Wymiary
- Rozmiar: 42mmx15mmx16mm
- Waga: 6,1g
Ograniczenia
Zakres "niewidomych" 0cm-30cm
Gdzie kupić
- Sklep z robotami
- Amazonka
Ta instrukcja wymaga znajomości następujących zagadnień:
- Elektronika podstawowa
- Narzędzia ręczne, takie jak przecinaki do drutu i ściągacze izolacji
- Czytanie schematów i schematów połączeń
- Programowanie w C/C++ dla Arduino (opcjonalnie)
- Programowanie w Pythonie dla Raspberry Pi (opcjonalnie)
Krok 1: Zbieranie materiałów
Ta instrukcja poprowadzi Cię przez różne sposoby wdrażania TFmini LiDAR za pomocą komputera z systemem Windows i Raspberry Pi. Każda metoda ma swoje wymagania i może się różnić w zależności od Twoich potrzeb.
**Będziesz potrzebować Benewake TFmini LiDAR w każdym przypadku (oczywiście)**
W przypadku wdrożenia na komputerze PC:
- System operacyjny: Windows
- Konwerter USB-TTL
- Przewody połączeniowe
Implementacja oparta na Raspberry Pi:
- Malina Pi
- Przewody połączeniowe
- diody LED (opcjonalnie)
- Konwerter USB-TTL (opcjonalnie)
- Deska do krojenia chleba (opcjonalnie)
- Rezystor (pomiędzy 100-1k Ohm) (opcjonalnie)
Krok 2: Implementacja na komputerze PC przy użyciu aplikacji Benewake
-
Podłącz TFmini LiDAR do konwertera USB-TTL za pomocą zworek (męsko-żeńskich) zgodnie z przedstawionym schematem
- Czerwony przewód 5V
- Czarny przewód GND
- Biały/niebieski przewód Tx
- Przewód zielony Rx
- Podłącz USB-TTL do komputera
- Przejdź do Menedżera urządzeń (Win + X) i zlokalizuj „Prolific USB-to-Serial Comm Port” w obszarze Ports (COM i LPT). Upewnij się, że system Windows rozpoznaje urządzenie
- Pobierz i rozpakuj WINCC_TF.rar
- Uruchom WINCC_TFMini.exe z rozpakowanych plików
- Wybierz odpowiedni port COM z menu rozwijanego w aplikacji Benewake pod nagłówkiem Port szeregowy
- Kliknij POŁĄCZ
Krok 3: Implementacja oparta na PC przy użyciu Pythona (PySerial)
- Podłącz TFmini LiDAR do komputera za pomocą konwertera USB-TTL
- Pobierz i otwórz PC_Benewake_TFmini_LiDAR.py za pomocą Python IDLE (upewnij się, że masz zainstalowane PySerial i Python na swoim komputerze)
- Edytuj port COM w kodzie, aby pasował do portu COM konwertera USB-TTL na twoim komputerze (patrz zdjęcie)
- Kliknij kartę Uruchom
- Kliknij Uruchom moduł
**Odnieś się do Kroku-5 w celu wyjaśnienia kodu
Krok 4: Implementacja oparta na Raspberry Pi
- Podłącz TFmini LiDAR do RPi za pomocą konwertera USB-TTL lub portu UART za pomocą GPIO
- Pobierz i otwórz Pi_benewake_LiDAR.py za pomocą Pythona IDLE
- Jeśli używasz konwertera USB-TTL z RPi, otwórz Arduino IDE. Kliknij Narzędzia -> Port szeregowy i odpowiednio edytuj kod. Jeśli używasz portu UART GPIO, napisz /dev/ttyAMA0
- Uruchom kod
**Kod może być użyty do wydrukowania odległości, ale ponieważ RPi nie ma dużej mocy obliczeniowej, zaleca się zapalenie diody LED, jeśli zarejestrowana odległość jest poniżej pewnego zakresu (załączony schemat dla diody LED z RPi)
P. Dlaczego warto używać konwertera USB-TTL z RPi?
RPi ma tylko jeden port UART, a czasami trzeba umieścić kilka modułów wymagających komunikacji UART. USB-TTL zapewnia dodatkowy port UART do RPi dając nam możliwość podłączenia więcej niż jednego urządzenia UART (np. dwóch lub więcej TFmini LiDAR) do RPi.
Krok 5: O kodzie
Kod można podzielić na trzy części:
- Nawiązywanie połączenia
- Zapisywanie danych
- Czytanie danych
Nawiązywanie połączenia:
Po zaimportowaniu niezbędnych plików nagłówkowych nawiązujemy połączenie z naszym TFmini LiDAR, podając jego port COM, szybkość transmisji i limit czasu połączenia
ser = serial. Serial('COM7', 115200, timeout = 1) #PC
ser = serial. Serial('/dev/ttyUSB1', 115200, timeout = 1) #Raspberry Pi
Zapisywanie danych:
Kod można podzielić na dwie części, pisanie i odbiór. Aby otrzymać dane, należy przekazać określone polecenie do TFmini LiDAR (część procesu inicjalizacji). W tym przypadku wybrałem 4257020000000106. Mimo że RPi obsługuje tę samą wersję Pythona, ale jest niewielka zmiana w składni, ponieważ RPi nie akceptuje danych innych niż binarne.
ser.write(0x42)
ser.write(0x57) ser.write(0x02) ser.write(0x00) ser.write(0x00) ser.write(0x00) ser.write(0x01) ser.write(0x06)
Odczytywanie danych:
Wykres zamieszczony w arkuszu danych przedstawia „rozbicie” 9-bajtowego komunikatu UART. Pierwsze dwa bajty to nagłówek ramki o wartości szesnastkowej 0x59 (znak 'Y'). Można je odczytać i wykorzystać do identyfikacji początku komunikatu UART.
if(('Y' == ser.read()) i ('Y' == ser.read())):
Po odczytaniu ramki nagłówka można odczytać kolejne dwa bajty zawierające dane dotyczące odległości. Dane odległości są podzielone na dwa pakiety 8-bitowe, Dist_L (Bajt3) - Lower 8bits i Dist_H (Byte4) - Higher 8bits.
Dist_L = ser.odczyt() #Bajt3Dist_H = ser.odczyt() #Bajt4
Mnożąc Dist_H przez 256, dane binarne są przesuwane o 8 w lewo (odpowiednik „<< 8”). Teraz niższe 8-bitowe dane odległości, Dist_L, można po prostu dodać, dając 16-bitowe dane Dist_Total.
Całkowita_odległość = (ord(Odleg_H) * 256) + (ord(Odleg_L))
Ponieważ mamy przy sobie „odszyfrowaną” wartość odległości, następne pięć bajtów można zignorować. Zauważ, że odczytane dane nie są nigdzie przechowywane.
dla i w zakresie (0, 5):ser.read()
**W innym miejscu możesz znaleźć 'delay' (time.sleep w Pythonie) włączone przed końcem pętli, ponieważ TFmini LiDAR ma częstotliwość roboczą 100 Hz. To opóźnienie jest „opóźnieniem programu” i spowoduje, że dane zostaną UAKTUALNIONE po pewnym opóźnieniu. Uważam, że skoro już czekamy na zgromadzenie się danych do 9 bajtów, nie powinno być żadnych innych opóźnień
#time.sleep(0.0005) #Opóźnienie jest skomentowane
while(ser.in_waiting >= 9):
Zalecana:
Kompletny przewodnik dla początkujących po lutowaniu SMD: 5 kroków (ze zdjęciami)
Kompletny przewodnik dla początkujących po lutowaniu SMD: W porządku, więc lutowanie jest dość proste w przypadku komponentów przewlekanych, ale są chwile, kiedy trzeba zrobić małe * wstawić tutaj odniesienie do ant-mana *, a umiejętności, których nauczyłeś się przy lutowaniu TH, po prostu nie aplikuj już.Witamy w świecie
Kompletny przewodnik po czujniku wilgotności gleby z praktycznym przykładem: 7 kroków
Kompletny przewodnik użytkowania czujnika wilgotności gleby z praktycznym przykładem: Możesz przeczytać ten i inne niesamowite samouczki na oficjalnej stronie internetowej ElectroPeakPrzeglądW tym samouczku dowiesz się, jak korzystać z czujnika wilgotności gleby. Dostępne są również praktyczne przykłady, które pomogą Ci opanować kod. Czego się nauczysz: Jak gleba
Jak zrobić profesjonalną płytkę drukowaną: kompletny przewodnik: 10 kroków (ze zdjęciami)
Jak zrobić profesjonalną płytkę drukowaną: Kompletny przewodnik: Witam wszystkich, dzisiaj pokażę wam, jak wykonać profesjonalną płytkę drukowaną, aby ulepszyć swoje projekty elektroniczne. Zaczynajmy
2 $ Arduino. ATMEGA328 jako samodzielny. Łatwy, tani i bardzo mały. kompletny przewodnik: 6 kroków (ze zdjęciami)
2 $ Arduino. ATMEGA328 jako samodzielny. Łatwy, tani i bardzo mały. Kompletny przewodnik.: W tej instrukcji dowiesz się, jak używać mikrokontrolera Arduino ATMEGA328 jako samodzielnego mikrokontrolera. Kosztują tylko 2 dolce, mogą zrobić to samo, co Arduino i sprawić, że Twoje projekty będą bardzo małe. Omówimy układ pinów
Benewake TFmini - Niedrogi LiDAR z Teensy 3.5: 3 kroki
Benewake TFmini - Niedrogi LiDAR z Teensy 3.5: Benewake TFmini LiDAR to mały, bardzo lekki czujnik LiDAR za około 50 dolarów kanadyjskich. Dokumentacja była dobra, ale niekompletna. Podał szczegóły dotyczące odbierania danych z czujnika, ale zapomniał wspomnieć o sygnale potrzebnym do umieszczenia czujnika