Добрый день! Реализую проект на Arduino Uno и столкнулся со следующей проблемой. У меня есть модуль MPU6050, и я с него считываю данные и вычисляю угол (по оси Y). Ещё у меня в схеме присутствует микро вибромоторчик, который срабатывает, когда значения угла попадают в нужный мне диапазон:
И все бы хорошо, но появилась проблема. Угол программа вычисляет правильно и моторчик срабатывает в нужно время, но иногда возникает проблема отображения данных угла в мониторе порта. То есть я меняю ориентацию модуля MPU6050, угол меняется в мониторе порта, и в один прекрасный момент данные перестают обновляться в мониторе порта, данные замирают. И, например, если это произошло в диапазоне: (angle_fy > -20) && (angle_fy < 20), то моторчик постоянно продолжает вибрировать, даже если я поменяю ориентацию макета. С чем это может быть связано?
Проблема у меня видимо кроется в микро моторчике. Без него проблем никаких нет. Данные непрерывно отображаются в мониторе порта, а вот как подключаю моторчик, то сразу такая проблема возникает
Конденсатор и диод я не подключал. Использую стандартную схему с транзистором и резистором. Нарушение работы программы происходит, когда данные попадают в этот диапазон
if ((angle_fy > -20) && (angle_fy < 20))
Данные перестают обновляться и моторчик постоянно вибрирует.