Логотип Renics
По вашему запросу ничего не найдено =(

Работа с акселерометром и гироскопом на плате контроллера

Теория

Акселерометр это прибор для измерения ускорения который работает как датчик изменения положения. Эти датчики используются во всех современных устройствах, например в мобильных телефонов, для определения положения устройства в пространстве, в бытовой технике, например в умных утюгах, датчик отключает питание утюга при падении, чтобы не допустить возникновение пожара. На плате Renics акселерометр выдает значения от -180 до 180, в зависимости от наклона платы.

Гироскоп это устройство которое способно определять изменение углов ориентации тела на котором оно установлено. Применяют гироскоп в разных областях, например, стабилизация фото- и видеокамер, в системах навигации ,мобильных устройствах и т.д. На плате Renics гироскоп выдает значения от -16 до 16g.

Практика

На практике мы сделаем простую систему индикации с помощью акселерометра, гироскопа и светодиодов. Начнем с Гироскопа, нам понадобятся блоки “Если  то Иначе” и "Всегда" из раздела “Управление”, блоки “ > 50”, “ < 50”, “  или  ” из раздела “Оператор”. Также нам понадобятся блоки “Монохромный светодиод Красный в состояние Включено” из раздела “Контроллер”, а также “Угловая скорость x */с” из раздела “Сенсоры”, который и отвечает за показание с гироскопа.

Теперь давайте соберем все эти блоки вместе. И поменяем значения на блоках “ < 50” на -10 и “ > 50” на 10. Логика программы следующая: проверяем значение с датчика, если значение по оси X больше 10 или меньше -10, то загорается красный светодиод, в противном случае он выключается. То есть если акселерометр отклоняется по оси Х более чем на 10 градусов, тогда красный светодиод загорится и сообщит нам об этом. Всю конструкцию ставим внутрь блока "Всегда".

Теперь осталось совсем чуть чуть, добавить такую же проверку для двух оставшихся осей, и поменять цвет срабатывающего светодиода. Для оси Y будет зеленый светодиод, а для оси Z будет желтый.

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

Начнем с необходимых блоков. Для начала нам понадобятся: “ > 50” и “Абсолютная величина ” из раздела “Оператор”, “Если то Иначе” и "Всегда" из раздела “Управление”. Также нам понадобиться блок управления светодиодом “Монохромный светодиод Красный в состояние Включено” 2 штуки из раздела “Контроллер” и блок считывания данный с акселерометра “Ускорение по оси X м/с^2”

Теперь соберем всю конструкцию. В блок “Если то Иначе”, в условие вставляем блок “> 50”, и в его первую часть вставляем блок “абсолютная величина” со значением “Ускорение по оси X м/с^2”. В правую часть блока “абсолютная величина Ускорение по оси X м/с^2 > 50”, меняем значение 50 на значение 10. В первую часть блока “Если то” добавляем блок “Монохромный светодиод Красный в состояние Включено”, а после “Иначе” блок “Монохромный светодиод Красный в состояние Выключено”. Всю конструкцию ставим внутрь блока "Всегда".

Теперь осталось совсем чуть чуть, нам нужно добавить такие же системы блоков только изменив оси на Y и цвет светодиода на зеленый, в третьей системе изменить на ось Z и цвет светодиода на желтый.

В данном уроке, мы научились пользоваться встроенным акселерометром и гироскопом, а также составлять простую программу для определения ускорения или угла наклона платы. Эти знания помогут создавать более сложные системы управления роботами.

4.8
669
Поделиться в социальных сетях

Комментарии0