Żyroskop L3GD20 – obsługa w Arduino

Otrzymałem dziś nowy moduł z serii KAmodKAmodL3GD20, który ma na pokładzie popularny żyroskop L3GD20 firmy ST. W artykule przedstawię przykładowy program dla Arduino, który odczyta wartości przyspieszeń kątowych odczytane z czujnika. W tym celu wykorzystam biblioteki dostępne na GitHubie, musimy pobrać pliki Adafruit_L3GD20.h i Adafruit_L3GD20.cpp, następnie umieszczamy te pliki w katalogu <katalog Arduino>/libraries/l3gd20/, teraz uruchamiamy Arduino (lub je restartujemy, jeśli było uruchomione wcześniej). Z sensorem L3GD20 można komunikować się przez interfejsy I2C oraz SPI, ja użyłem I2C, sposób połączenia widać w tabelce poniżej:

KAmodL3GD20 Arduino UNO
+VIN +5V
GND GND
SCL SCL
SDA SDA

Program odczytujący wskazania czujnika przez interfejs I2C i wysyłający je przez UART do komputera:

Metoda Adafruit_L3GD20::begin sprawdza między innymi, czy czujnik L3GD20 jest dołączony do mikrokontrolera, w tym celu odczytuje rejestr WHO_AM_I, jeśli odczytana wartość jest nieprawidłowa to metoda zwraca wartość false, a progam wywołuje funkcję showError i sygnalizuje błąd miganiem diody.

W funkcji loop program uruchamia odczyt rejestrów czujnika (metoda read), następnie odczytane dane (gyro.data.x, gyro.data.y, gyro.data.z) wysyła portem szeregowym do komputera.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *