Stm урок 47

Сьогодні ми продовжимо працювати ще з одним датчиком, який в собі поєднує відразу два функціоналу - акселерометр і гіроскоп - LSM6DS3. Виконаний він також з використанням технології MEMS. Встановлено на платі розширення STEVAL-MKI160V1. яка в свою чергу вставляється в плату розширення X-NUCLEO-IKS01A1. призначеної для роботи з налагоджування платою Nucleo. Ми будемо підключати дану оціночну плату до плати Nucleo STM32F401RE.

Даний акселерометр-гіроскоп також поряд з інтерфейсом I2C може підключитися і з використанням інтерфейсу SPI. Але ми будемо використовувати підключення саме по I2C, так як саме таке підключення має місце в оціночної платі X-NUCLEO-IKS01A.

Також використовувати в рамках даного заняття ми даний датчик будемо тільки як гіроскоп, так як в якості акселерометра ми його вже підключали.

Даний гіроскоп в даному датчику в порівнянні з попереднім розглянутим має наступні технічні характеристики:

Чутливість 4.375 - 70 mdps / LSb (відповідно по меншому межі стала краще);

Частота вимірів 14,9 - 952 Гц.

З деякими іншими показниками, регістрами, значеннями та іншими тонкощами гіроскопа ми познайомимося в ході його програмування.

Проект ми створимо з готового проекту, в якому ми працювали з акселерометром даного датчика - з проекту Accel_LSM6DS3, тільки назвемо ми цей проект тепер відповідно Gyro_LSM6DS3.

Запустимо проект Cube MX. Змінимо ми тут тільки швидкість USART.

Stm урок 47

/ * USER CODE BEGIN 3 * /

Для універсальності проекту, так як, можливо, пізніше ми об'єднаємо роботу з акселерометром і гіроскопом в один проект, перейменуємо функцію Accel_Ini в файлі lsm6ds0.c на Accel_Gyro_Ini. Те ж саме проробимо з прототипом і з викликом даної функції в main ().

Додамо функцію ініціалізації гіроскопа за подобою функції ініціалізації акселерометра

void GyroInit (uint16_t InitStruct)

Схожі статті