На этом уроке мы познакомимся с модулем джойстика (Joystick).
На этом уроке мы познакомимся с модулем джойстика (Joystick).
Джойстик — это сенсор, управляемый руками. Джойстики используются в игровых консолях как элемент управления. Положение джойстика может меняться в двух плоскостях, X и Y. В джойстик также встроена кнопка.
В джойстик встроено два роторных потенциометра, которые определяют движение по оси X и Y.
Микроконтроллер ATmega в Ардуино имеет внутренние подтягивающие резисторы (резисторы, подключенные к питанию внутри микросхемы), подключением которых можно управлять. Если вы предпочитаете использовать их вместо внешних резисторов, то используйте параметр INPUT_PULLUP в функции pinMode(). Это позволит инвертировать поведение подключенного к выводу внешнего датчика: HIGH будет означать его отключение, а LOW — включение.
Мы будем использовать аналоговые выводы A0 и A1 для контроля положения джойстика в плоскостях X и Y. К цифровому выводу D8 подключим кнопку.
Напишем скетч, который будет считывать положение двух потенциометров на джойстике и контролировать состояние кнопки. Информация будет выводиться в монитор последовательного порта.
int xAxisPin = 0; int yAxisPin = 1; int zAxisPin = 8; int xVal, yVal, zVal; void setup() { pinMode(zAxisPin, INPUT_PULLUP); Serial.begin(9600); Serial.println("UNO is ready!"); } void loop() { xVal = analogRead(xAxisPin); yVal = analogRead(yAxisPin); zVal = digitalRead(zAxisPin); Serial.print("X : "); Serial.print(xVal); Serial.print(" \t Y : "); Serial.print(yVal); Serial.print(" \t Z : "); Serial.println(zVal); delay(200); }
Скомпилируйте скетч и загрузите его на плату. Откройте монитор последовательного порта. Сделайте какие-либо манипуляции джойстиком, чтобы посмотреть результат работы программы.