Джойстик для Arduino

Рассмотрим как подключить и использовать данные джойстика, вот такого:

joystick_module

Джойстик позволяет посмотреть наклон по осям X и Y, а также определить нажатие.

По сути это два потенциометра и кнопка в одном модуле.

Модуль имеет 5 контактов:

  • GND
  • +5V
  • VRx
  • VRy
  • SW

Первые два — питание, VRx — отвечает за наклон по оси X, VRy — наклон по оси Y, SW — нажатие кнопки.

Подключение:

Joystick -> Arduino

GND -> GND

+5V -> 5V

VRx -> pin A0

VRy -> pin A1

SW -> pin 2

Чтобы кнопка работала без резистора, включим встроенный подтягивающий резистор командой pinMode(2, INPUT_PULLUP). Не забудьте, что при этом нажатая кнопка вернет 0.

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

Код:

Изначально данные будут такие:

com_1

Т.е. в центральном положении значения потенциометров чуть больше 500 (1024/2). Если наклонить джойстик влево, то данные изменятся:

com_2

Отклонение по X станет равно 0. По Y останется без изменений. Т.е. X уменьшается при наклоне влево и увеличивается (до 1023) при наклоне вправо.

Y уменьшается при движении вверх:

com_3

И увеличивается при движении вниз.

Если нажать на джойстик, то sw станет равно 0.

com_4

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

Напишем программы на Processing и Arduino для управления шариком с помощью джойстика.

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

Код Arduino:

Код Processing

Если все правильно, то при запуске программы на Processing вы увидите белый шарик на черном фоне в центре экрана, который будет перемещаться при изменении положения джойстика. При нажатии шарик будет красным.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *