조이스틱 모듈(KY-023)

From Arduwiki

가운데|class=coders100

저항의 변화에 따라 x, y축 값이 변하며 가운데 버튼을 누르면 스위치 역할을 하는 모듈입니다.

이동 동작이 필요한 RC카, 드론 등에 주로 활용됩니다.

사양

  • 작동 전압 : 3.3V ~ 5V
  • x축, y축 아날로그 출력
  • z축 스위치 디지털 출력(풀업 저항 X)

예제 사용 하드웨어

연결

아두이노 나노 LCD 조이스틱모듈
5V VCC 5V
GND GND GND
A1 VRx
A0 VRy
D2 SW
A4 SDA
A5 SCL

가운데|class=coders100

예제 코드

조이스틱 좌표 및 스위치 상태를 LCD에 표시하는 예제입니다.

LCD 사용방법은 링크를 참고해주세요.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

const int xAxis = A1;
const int yAxis = A0;
const int zSwitch = 2;

void setup() {
  pinMode(zSwitch, INPUT_PULLUP);
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("X:");
  lcd.setCursor(8, 0);
  lcd.print("Y:");
  lcd.setCursor(0, 1);
  lcd.print("Z : ");
}

void loop() {
  for (int i = 2; i < 6; i++) {
    lcd.setCursor(i, 0);
    lcd.print(" ");
  }
  lcd.setCursor(2, 0);
  lcd.print(analogRead(xAxis));
  for (int i = 10; i < 14; i++) {
    lcd.setCursor(i, 0);
    lcd.print(" ");
  }
  lcd.setCursor(10, 0);
  lcd.print(analogRead(yAxis));
  lcd.setCursor(4, 1);
  lcd.print(digitalRead(zSwitch));
  delay(100);
}

실행 결과


구매 링크