Spisu treści:

CircuitPython i TinyLiDAR: Prosty przykład: 3 kroki
CircuitPython i TinyLiDAR: Prosty przykład: 3 kroki

Wideo: CircuitPython i TinyLiDAR: Prosty przykład: 3 kroki

Wideo: CircuitPython i TinyLiDAR: Prosty przykład: 3 kroki
Wideo: Cytron Edu:bit with Adafruit CLUE and tinyLiDAR - servo-mounted scanning 2024, Listopad
Anonim
CircuitPython i TinyLiDAR: prosty przykład
CircuitPython i TinyLiDAR: prosty przykład

MicroElectronicDesign tinyLiDAR to oparty na ST VL53L0X moduł pomiaru czasu przelotu (ToF) z połączeniem magistrali i2c. Płytki mikrokontrolera Adafruit można łatwo podłączyć do tego czujnika, ponieważ mogą one przemawiać protokołem i2c przez swoje piny danych.

Seria M0/M4 ma przewagę nad innymi płytami, ponieważ obsługuje podzbiór Pythona, dzięki czemu programowanie jest bardziej dostępne dla szerszej publiczności niż C na Arduino. Jest to prosty przykład użycia CircuitPythona na płycie Gemma M0 do odczytania wartości odległości z tinyLiDAR i wskazania odległości poprzez zmianę jasności wbudowanej diody LED RGB. Płyta musi być w wersji M0 do obsługi Pythona.

Uwaga: Adafruit produkuje również różne płytki wykrywające odległość, w tym jedną opartą na VL53L0X.

Krok 1: Kod CircuitPythona

  1. Pobierz lib/adafruit_dotstar.mpy i lib/adafruit_bus_device/i2c_device.mpy, jeśli jeszcze ich nie masz. Są one częścią opcjonalnego pakietu bibliotecznego, zobacz pierwszą sekcję CircuitPython I2C, aby uzyskać informacje o tym, jak je zainstalować. Pliki te muszą znajdować się w katalogach lib i lib/adafruit_bus_device na Gemma M0.
  2. Pobierz gemma-m0-tinylidar-simple.py, zmień jego nazwę na main.py i skopiuj do głównego katalogu Gemma M0.

Program zapisuje dane wyjściowe do konsoli szeregowej oraz zmienia jasność diody LED Gemma MO RGB proporcjonalnie do odczytanej odległości. Dioda Gemma M0 na przemian włącza się i wyłącza podczas odczytów, więc będzie migać z częstotliwością około 5 Hz, a domyślnym zachowaniem płytki tinyLiDAR jest miganie niebieskiej diody LED na polecenie z częstotliwością 10 Hz.

Autobus jest napędzany z częstotliwością 100 kHz, co w tym przypadku sprawdza się dobrze. Jak każda magistrala, prędkość komunikacji jest ograniczona przez charakterystykę linii transmisyjnej, dlatego należy zwrócić uwagę na długość, pojemność i inne czynniki.

Krok 2: Podłączanie TinyLiDAR do Gemma M0

Podłączanie TinyLiDAR do Gemma M0
Podłączanie TinyLiDAR do Gemma M0

Zdjęcie przedstawia skuteczną, ale nieelegancką konfigurację tymczasową do podłączenia tinyLiDAR do płyty Gemma M0. Uniwersalne 4-pinowe złącze „Grove” tinyLiDAR jest używane przez kabel konwersyjny Seeed Grove, zapasowy nagłówek i krokodylki do połączenia z Gemma M0. Pewna separacja między kołkami na główce eliminuje ryzyko niezamierzonego zwarcia. Połączenia to:

  • Czarny: gnd do gnd
  • Czerwony: +V do 3Vo
  • Biały: SDA do D0 (dane)
  • Żółty: SCL do D2 (zegar)

Płyty Adafruit mają kilka pinów, które efektywnie obsługują protokół i2c w sprzęcie. W przypadku Gemma M0 muszą być one użyte, D0 dla danych i D2 dla zegara.

Magistrala i2c wymaga rezystora podciągającego na liniach danych i zegara. W tym przypadku tinyLiDAR zapewnia wbudowane rezystory 4,7K. Jeśli zostały one usunięte z obwodu poprzez przecięcie linii, wówczas do obwodu należy dodać ekwiwalenty.

Krok 3: Wyjście szeregowe

Wyjście szeregowe
Wyjście szeregowe

Program zapisuje dane wyjściowe do konsoli szeregowej pokazując zmierzoną odległość, oto przykładowy zrzut ekranu terminala pokazujący obiekt oddalający się od czujnika.

Zalecana: