Открытый проект сайта
http://www.customelectronics.ru/joystickshield/.
JoystickShield для Arduino содержит различные периферийные устройства,
собранные в едином форм-факторе для решения задачи изучения программирования.
Плата подготовлена специально таким образом, чтобы можно было легко ее
повторить в условиях радиолюбительской лаборатории.
Подключен в четырехбитном режиме к выводам 5-8 Arduino-совместимого разъема. Выбор режима (RS) подключен к 13му выводу Arduino, а вывод разрешения (E) к 12му. Дисплей сконфигурирован всегда на чтение, так как на вход R/W подано высокое напряжение. Резистором R1 настраивается контрастность, а через R2 ограничивается яркость подсветки дисплея.
По сути, представляет собой два переменных резистора и кнопку, подключенных к выводам A3, A4, A5, соответственно. Для уменьшения дребезга контактов используется RC-цепочка.
В пульте используется модуль MPU6050 (DD1). Подключается он через разъем PBS-08 к выводам SDA, SCL Arduino.
Подключена в выводу 2 Arduino через RC-цепочку для подавления дребезга.
Подключен к 11му выводу Arduino через логический транзистор BCR108E6327. Ограничение тока задается резисторами R8-R12. Если каждый из них имеет сопротивление 1кОм, то общее сопротивление составляет приблизительно 200 Ом. Можно уменьшить это сопротивление, чтобы увеличить мощность вибрации. Параллельно двигателю стоит диод S1M для защиты транзистора.
Энкодер подключен к выводам 3, 4 разъема Arduino через RC-цепочки подавления дребезга контактов.
Без встроенного генератора. Подключен к 10му выводу Arduino через транзистор. Параллельно пьезоизлучателю стоит резистор на 1кОм для разряда его емкости в то время, когда транзистор закрыт.
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-файлы для изготовления печатной платы. Внешний вид со стороны проводников:
На базе этого шилда был подготовлен набор для программирования:
В набор входит сам JoystickShield, Arduino-совместимая плата, USB-кабель,
флэшка с размещенной на ней всей необходимой для раоты с джойстиком
докуметацией, программой Arduino IDE, и некоторые дополнительные модули.
Файлы: