Такие приложения, как видеоигры, требующие изменения положения курсора в двухмерной плоскости, используют аналоговые джойстики в качестве устройств ввода.
Аналоговый джойстик выдает два напряжения; один соответствует положению относительно оси X, а другой соответствует положению относительно оси Y. Производимые напряжения зависят от положения джойстика.
Для получения дополнительной информации об аналоговом джойстике и о том, как его использовать, прочтите статью «Аналоговый джойстик».
Чтобы связать аналоговый джойстик с Arduino Uno, нам нужно использовать АЦП на микроконтроллере платы Arduino UNO.
Схема подключения джойстика к Arduino UNO
В качестве примера возьмем отображение напряжения аналогового джойстика в направлениях X и Y на последовательном мониторе Arduino.
Здесь мы будем использовать аналоговые выводы Arduino для обработки аналоговых напряжений джойстика.
Скетч для определения напряжения джойстика в направлениях X и Y
const int joystick_x_pin = A2; const int joystick_y_pin = A1; void setup() { Serial.begin(9600); } void loop() { int x_adc_val, y_adc_val; float x_volt, y_volt; x_adc_val = analogRead(joystick_x_pin); y_adc_val = analogRead(joystick_y_pin); x_volt = ( ( x_adc_val * 5.0 ) / 1023 ); /* Преобразование цифрового значения в напряжение */ y_volt = ( ( y_adc_val * 5.0 ) / 1023 ); /* Преобразование цифрового значения в напряжение */ Serial.print("X_Voltage = "); Serial.print(x_volt); Serial.print("\t"); Serial.print("Y_Voltage = "); Serial.println(y_volt); delay(100); }