CUSTOMELECTRONICS.RU
Информационно-учебный блог о разработке электроники
Эл. почта: info@customelectronics.ru

JoystickShield. Универсальный джойстик для изучения программирования контроллеров

Открытый проект еще одного шилда для Arduino. Различные периферийные устройства, собранные в едином форм-факторе для решения задачи изучения программирования. Плата подготовлена специально таким образом, чтобы можно было легко ее повторить в условиях радиолюбительской лаборатории.

JoystickShield. Общий вид

JoystickShield. Общий вид

Принципиальная схема

Общая принципиальная схема устройства выглядит следующим образом:

JoystickShield. Схема

JoystickShield. Схема

Дисплей 1602

Подключен в четырехбитном режиме к выводам 5-8 Arduino-совместимого разъема. Выбор режима (RS) подключен к 13му выводу Arduino, а вывод разрешения (E) к 12му. Дисплей сконфигурирован всегда на чтение, так как на вход R/W подано высокое напряжение. Резистором R1 настраивается контрастность, а через R2 ограничивается яркость подсветки дисплея.

  1. XP5 — Дисплей 1602, подключенный по 4х-битному интерфейсу с регулировкой контрастности. Для его установки на плату установлен разъем PBS-16, а на дисплей PLS-16
  2. R1 — Подстроечный резистор 10кОм, CA9V
  3. R2 — Резистор 1кОм, 0805. Можно поставить меньше, чтобы увеличить яркость подсветки

Джойстик

По сути, представляет собой два переменных резистора и кнопку, подключенных к выводам A3, A4, A5, соответственно. Для уменьшения дребезга контактов используется RC-цепочка.

  1. JOY1 — Джойстик. Для его подключения потребуется разъем PLS-05R и пять соединительных проводов розетка-розетка
  2. R5 — Резистор 1кОм, 0805/li>
  3. C3 — Конденсатор 0,1мкФ, 0805

Акселерометр-гироскоп

В пульте используется модуль MPU6050 (DD1). Подключается он через разъем PBS-08 к выводам SDA, SCL Arduino.

Кнопка

Подключена в выводу 2 Arduino через RC-цепочку для подавления дребезга.

  1. SA1 — Кнопка выводная, типа DTSM
  2. R6 — Резистор 1кОм, 0805
  3. C4 — Конденсатор 0,1мкФ, 0805

Вибромотор

Подключен к 11му выводу Arduino через логический транзистор BCR108E6327. Ограничение тока задается резисторами R8-R12. Если каждый из них имеет сопротивление 1кОм, то общее сопротивление составляет приблизительно 200 Ом. Можно уменьшить это сопротивление, чтобы увеличить мощность вибрации. Параллельно двигателю стоит диод S1M для защиты транзистора.

  1. M1 — Вибромотор
  2. VD1 — Диод, S1M, DO214
  3. R8-R12 — Резисторы, 1кОм, 0805
  4. VT2 — Транзистор, BCR108E6327, SOT23

Энкодер

Энкодер подключен к выводам 3, 4 разъема Arduino через RC-цепочки подавления дребезга контактов.

  1. ENC1 — Энкодер, EC12E24204A8
  2. R3, R4 — Резистор 1кОм, 0805
  3. C1, C2 — Конденсатор 0,1мкФ, 0805

Пьезоизлучатель

Без встроенного генератора. Подключен к 10му выводу Arduino через транзистор. Параллельно пьезоизлучателю стоит резистор на 1кОм для разряда его емкости в то время, когда транзистор закрыт.

  1. BA1 — Пьезоизлучатель без встроенного генератора типа EFM-250 с шагом выводов 7,5мм
  2. R7 — Резистор 1кОм, 0805
  3. VT1 — Транзистор, BCR108E6327, SOT23

Разъемы

XS1-XS4 — PLS разъемы, предназначенные для подключения к Arduino. Обратите внимание, что шилд предполагает использование дополнительных выводов SDA, SCL, которые есть в разъеме XS3. Оригинальная Aruino Uno и большинство клонов имеют эти контакты.
PLS-разъемы XP1-XP4 подключены к выводам 9, A0, A1, A2. Эти разъемы могут быть использованы для подключения дополнительных датчиков, сервоприводов и т.д.

Питание

В первую очередь необходимо отметить то, что на плате есть место для двух перемычек.
JMP1 задает источник питания для относительно больших потребителей (вибромотора, разъемов XP1-XP4 и пьезоизлучателя). Если перемычка впаяна в положение EXT_PWR, то питание на эти периферийные устройства подается через клемму XS5. Если перемычка впаяна в положение 5V, то будет использование напряжение 5В от Arduino.
JMP2 определяет логический уровень для "подтяжки" кнопок и линий энкодера. Это сделано для того, чтобы можно использовать шилд как с микронтроллерами AVR (имеющими уровень логической единицы до 5В) и STM32, работающих с напряжениями до 3,3В. Таким образом пользователь сам может выбрать более удачное напряжение логической единицы в соответствии со своими условиями.

Плата

Как и говорилось выше, печатная может быть изготовлена односторонней с перемычками. В конце статьи можно будет найти Gerber-файлы для изготовления печатной платы. Внешний вид со стороны проводников:

Печатная плата пульта

Печатная плата пульта

Все элементы на обратной стороне печатной платы хорошо видны и можно использовать этот рисунок в качестве сборочного чертежа.
На лицевой стороне достаточно просто установить относительно небольшое количество перемычек:

Перемычки на лицевой стороне

Перемычки на лицевой стороне

Сборочный чертеж на лицевую сторону печатной платы:

Лицевая сторона джойстика

Лицевая сторона джойстика

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

Файлы для скачивания

Изготовить платы можно самостоятельно. Все файлы для изготовления платы можно скачать одним архивом.

Чуть позже мы выложим дополнительные материалы по работе с периферийными устройствами этого пульта на разных платформах. Следите за обновлениями!

Обращаем ваше внимание, что вы можете купить это устройство в готовом виде в нашем магазине

Метки: , , , Просмотров: 349