Двухосевой аналоговый джойстик с возможностью нажатия.
По направлениям отклонения H (horizontal) и V (vertical), на плате джойстика установлено два потенциометра. Основываясь на их показаниях, джойстик отслеживает отклонения влево, вправо, вверх, вниз и выдает аналоговый сигнал от 0 до 1023.
Ось Z посажена на кнопку и выдает цифровой сигнал (вкл/выкл).
Джойстик модуль имеет пятипиновый разъем стандарта 2,54 мм:
- GND – «-» питания;
- VCC – «+» питания;
- VRx – вывод выходного аналогового сигнала по оси X;
- VRy – вывод выходного аналогового сигнала по оси Y;
- SW – выход на кнопку.
Пример подключения к Arduino
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
int yPin = A0; // VRY подключаем к A0 int xPin = A1; // VRX подключаем к A1 int buttonPin = 2; // Switch подключаем к D2 int xPosition = 0; // позиция по X int yPosition = 0; // позиция по Y int buttonState = 0; // состояние кнопки (нажата/нет) void setup() { // инициализация обмена данными по серийному протоколу со скоростью 9600 бод: Serial.begin(9600); pinMode(xPin, INPUT); pinMode(yPin, INPUT); // активируем подтягивающий резистор на пине кнопки pinMode(buttonPin, INPUT_PULLUP); // Для более ранних версий Arduino (меньше 1.0.1) // pinMode(buttonPin, INPUT); // digitalWrite(buttonPin, HIGH); } void loop() { xPosition = analogRead(xPin); yPosition = analogRead(yPin); buttonState = digitalRead(buttonPin); Serial.print("X: "); Serial.print(xPosition); Serial.print(" | Y: "); Serial.print(yPosition); Serial.print(" | Кнопка: "); if (buttonState == 0) { Serial.println("Нажата"); } else { Serial.println("НЕ нажата"); } delay(200); // добавляем задержку между считыванием данных } |





![[Аналог] Arduino Leonardo R3](http://ampermarket.kz/wp-content/uploads/0101010_11-324x324.jpg)




