Ż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 email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *