Spisu treści:
- Krok 1: Czego potrzebujemy, aby to zbudować…
- Krok 2: Oprogramowanie…
- Krok 3: Więcej zdjęć i dzięki za przeczytanie…
Wideo: Wyświetlacz TFMi Lidar - jak radar tylko ze światłem!:-): 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Jest wiele rzeczy, które złożyły się na to, aby to zadziałało, ale największym (i co zainspirowało mnie do tego) jest "Arduino Radar Project" znaleziony na howtomechatronics.com przez Dejana Nedelkovskiego (data nieznana).
Zrobiłem ten projekt kilka miesięcy temu (10-18-2018), z myślą o opublikowaniu moich wyników i po prostu nigdy się nie poruszałem - dziś wydawał się dobry dzień, aby nadrobić zaległości w niektórych projektach, które chciałem udokumentować.
Wprowadzono szereg zmian po stronie Arduino, aby to działało, Ultradźwiękowy został zastąpiony jednostką TF Mini Lidar https://www.sparkfun.com/products/14588 (To urządzenie jest urządzeniem szeregowym, co czyni go dość łatwym w użyciu)
użyto karty PCA9685 PWM/Servo, ponieważ biblioteka serwo powodowała problemy podczas korzystania z biblioteki softwareserial.
Drugą drobną zmianą było zastosowane przeze mnie mocowanie, które tak naprawdę jest drobnostką - użyłem taniego mocowania PAN/Tilt i kilku serw - Pierwotną myślą było to, aby jeszcze bardziej rozbudować i mieć opcję wysokości (dając więcej wyglądu 3D) Wpadłem na ten pomysł na kilka przeszkód i nigdy do niego nie wróciłem. Tak więc w rzeczywistości potrzebujesz tylko jednego serwa (mam dwa).
Sekcje kodu Arduino zostały oparte na Juan Jose Luna Espinosa TFMini i kodzie ESP32
Jedyną potrzebną biblioteką jest Adafruit PWM Servo Driver Library
Krok 1: Czego potrzebujemy, aby to zbudować…
Już wspomniałem o większości z nich…..
Potrzebujemy TFMini Lidar, 2 serw, uchwytu pan/tilt, płyty PCA9685 i Arduino UNO/ lub klon.
Potrzebujemy również dodatkowego źródła zasilania 5 V dla płyty serwo. (Dobry samouczek dotyczący płyty PCA9685 można znaleźć tutaj
Okablowanie jest do tego dość proste. Z Arduino będziesz chciał podłączyć 5V zarówno do VCC na płycie PCA9685, jak i do jednostki lidarowej TFMINI, a także do uziemienia do obu. PCA9685 jest urządzeniem I2C, więc SCL łączy się z A5, a SDA z pinem A4.
Z TFMini podłączysz pin TX do PIN 8 w Arduino.
W PCA9685 podłączysz jedno serwo do nagłówka 0, a jedno serwo do nagłówka 1 (Upewnij się, że są one prawidłowo podłączone, przewód uziemiający (brązowy) powinien znajdować się na dolnej lub zewnętrznej krawędzi). Nagłówek 0 będzie używany do serwo PAN (lub ten, którego będziemy używać) - serwo przechyłu jest podłączone do nagłówka 1 (kod przesuwa go nieznacznie tylko po to, aby ustawić go w pozycji prostej).
To tyle, jeśli chodzi o sprzęt, po stronie oprogramowania będziemy musieli zainstalować Arduino IDE (w chwili pisania tego tekstu używam 1.8.5, ale najnowsza powinna również działać) i nie mam przetestowałem lub użyłem edytora online (więc nie mam pojęcia, czy będzie z tym działał).
Będziesz chciał postępować zgodnie z instrukcjami instalacji dla swojego systemu operacyjnego, które można znaleźć tutaj:
Będziesz także chciał zaktualizować tablice i biblioteki w razie potrzeby (użyj stabilnych bibliotek, nie używaj żadnej z wersji beta, są one wadliwe)
Musimy również zainstalować Processing - dla tych, którzy nie wiedzą, co to jest przetwarzanie - jest to elastyczny szkicownik oprogramowania i język do nauki kodowania w kontekście sztuk wizualnych.
Innymi słowy, bardzo ułatwia tworzenie wyświetlaczy i wyświetlanie informacji.
processing.org/download/
Na koniec będziesz chciał pobrać kod z mojego repozytorium github.
github.com/kd8bxp/Lidar-Display
Krok 2: Oprogramowanie…
W repozytorium znajdziesz kod testowy dla Arduino, załaduj go na UNO i otwórz konsolę szeregową, a jeśli wszystko działa poprawnie, powinieneś zacząć widzieć pewne odległości od twojego TF MINI - Ten kod jest oparty na dzieło Juan Jose Luna Espinosa (2018) TFMini i ESP32
github.com/yomboprime/TFMiniArduinoTest
Po sprawdzeniu, czy lidar działa, możesz załadować kod lidar_radar_with_processing2 do UNO.
Teraz musimy załadować kod przetwarzania, musimy zmienić port szeregowy - jest to linia 42.
Szkic ma port szeregowy, którego używa moje UNO, to w Linuksie i jeśli używasz Linuksa, powinno to być coś podobnego (może to być również coś w rodzaju /dev/ttyUSB0) dla komputera z systemem Windows będzie to COM#
tak czy inaczej, powinien to być ten sam port szeregowy, którego używa twoje Arduino IDE. - Będziesz chciał zamknąć konsolę Arduino Serial i uruchomić szkic przetwarzania.
JEŚLI wszystko pójdzie dobrze, powinieneś zacząć widzieć wyświetlacz "Radar".
Możesz zauważyć, że mój wyświetlacz nie wygląda tak samo jak projekt, który go zainspirował -
Wprowadziłem kilka zmian w szkicu przetwarzania – ponieważ TFMini Lidar może wyświetlać od 12 cali do 36 stóp – zmieniłem zakres – nie podobało mi się również, jak oryginalny szkic tworzy CZERWONĄ linię, więc zmieniłem to na tylko punkt CZERWONY (przy okazji ta zmiana jest w szkicu przetwarzania w linii 115 i linii 116, jeśli chcesz ją zmienić z powrotem). Zakres jest w rzeczywistości odwzorowany na wartość od 1 do 39 w szkicu Arduino.
* Uwaga: linia 39 pozwala zmienić rozdzielczość. Może być konieczne dostosowanie tego lub nie - jeśli nie widzisz czegoś, co wygląda jak na powyższym obrazku, prawdopodobnie będziesz musiał dostosować linię 39.
** Uwaga 2: - Możesz dostać błąd dotyczący portu szeregowego, zapomniałem o kolejności urządzeń - Myślę, że najpierw uruchamiasz Arduino, a następnie uruchamiasz szkic przetwarzania - Ale mogę mieć to do tyłu - więc możesz zacząć szkic przetwarzania, a następnie podłącz Arduino…. Jeden sposób daje błąd w procesie, a drugi działa.
Krok 3: Więcej zdjęć i dzięki za przeczytanie…
Mam nadzieję, że oddałem sprawiedliwość oryginalnemu projektowi i mam nadzieję, że podobało Ci się to, co z nim zrobiłem.
* Czuję, że tak naprawdę nie wyjaśniłem tego zbyt dobrze….. Może powinienem udokumentować moje projekty dużo wcześniej niż za 3 miesiące *