Требуемые компоненты
- Плата Arduino
- Макетная плата
- Перемычки
- Инфракрасный (ИК) датчик с частотой 38 кГц
- Пульт дистанционного управления
- 2 сервопривода Tower Pro 9g SG90
- Корпус с поворотным устройством
Сначала мы научимся получать и декодировать сигналы пульта дистанционного управления с помощью инфракрасного датчика. ИК-датчик оборудован тремя контактами:
OUT, GND и VCC (слева направо на рис. 11.1). Изучите техническую документацию, прилагаемую к имеющемуся у вас ИК-датчику и убедитесь, что его контакты соответствуют приведенной схеме. У некоторых моделей расположение контактов может отличаться, но вы можете правильно соединить контакты для подключения такого датчика.
Дополнительную информация по ИК-датчику вы можете на сайте Амперка по ссылке https://wiki.amperka.ru/продукты:zelo-motion-sensor
РИСУНОК 11.1
ИК-датчик с тремя контактами слева направо: OUT (выход), GND (заземление) и VCC (питание)
Вам также понадобится пульт дистанционного управления. Можно использовать любой, например телевизионный, но лучше взять какой-нибудь старый, который вы больше не используете. Когда вы нажимаете кнопку на пульте, он передает некое числовое значение, которое принимает ИК-датчик. Значения различны для каждой кнопки. С помощью скетча мы научимся распознавать значение каждой кнопки, а затем присваивать их соответствующим контактам платы Arduino, чтобы управлять выходным устройством — в данном случае двумя сервоприводами.
Указав в скетче значения, полученные при декодировании сигналов, вы можете назначить выполнение определенных инструкций при нажатии той или иной кнопки и использовать пульт дистанционного управления для управления сервоприводами.
Если вы уже собрали корпус с поворотным устройством, описанный в проекте 10, то можете воспользоваться им и в этом проекте. В противном случае вернитесь к проекту 10 и прочитайте инструкции по сборке корпуса.
Мы назначим четыре кнопки для управления вращением сервоприводов в корпусе с поворотным устройством, чтобы движение осуществлялось во всех направлениях: влево/вправо для сервопривода оси х и вверх/вниз для сервопривода оси у. Кратковременное нажатие кнопки будет приводить к небольшому повороту сервопривода, а удерживание кнопки — к непрерывному вращению сервопривода, пока не будет достигнуто максимальное или минимальное значение поворота.
Сборка.
1. Используя схему подключения из таблицы в шаге 2 (выше в этой главе) и макетную плату с уже установленным ИК-датчиком, подключите сервоприводы к плате Arduino. Подключите коричневый провод каждого сервопривода к контакту GND, а красный — к контакту 5V платы Arduino. Затем подключите желтый провод сигнала управления первого сервопривода к контакту 10 платы Arduino, а желтый провод второго сервопривода — к контакту 9.
2. Не забудьте подать питание на макетную плату.
3. Убедитесь, что ваша цепь соответствует схеме на рис. 11.3, а затем загрузите в память Arduino код скетча, приведенный в разделе «Скетч» далее в этом проекте.
РИСУНОК 11.3
Принципиальная схема устройства для дистанционного управления сервоприводами
В этом проекте осуществляется дистанционное управление сервоприводами, но вы можете адаптировать код для удаленного управления любыми компонентами, подключаемыми к контактам с режимом HIGH, например светодиодом или пьезоизлучателем.