조이스틱 모듈
Makerist
센서기초
0
747
2024.03.10 04:01
번호 | 핀명 | I/O | 기능 |
---|---|---|---|
1 | GND | GND | GROUND |
2 | +5V | VCC | VCC |
3 | X-axis | ANALOG OUTPUT | X 축으로 움직인 값 |
4 | Y-axis | ANALOG OUTPUT | Y 축으로 움직인 값 |
5 | Switch | DIGITAL OUTPUT | 버튼의 눌림 상태 |
// 조이스틱의 X축과 Y축 위치를 읽기 위한 아날로그 핀 설정 int X = A0; // X축 연결 핀 int Y = A1; // Y축 연결 핀 // 조이스틱 버튼의 상태를 읽기 위한 디지털 핀 설정 int S = PE0; // 버튼 연결 핀 // 프로그램 시작시 한 번 실행되는 초기화 함수 void setup() { Serial.begin(9600); // 시리얼 통신을 9600 bps 속도로 시작합니다. pinMode(X, INPUT); // X축 핀을 입력으로 설정 pinMode(Y, INPUT); // Y축 핀을 입력으로 설정 pinMode(S, INPUT); // 버튼 핀을 입력으로 설정 digitalWrite(S, HIGH); // 내부 풀업 저항을 활성화하여 기본적으로 버튼 상태를 HIGH로 설정 } // 무한히 반복되는 메인 함수 void loop() { int x, y, s; // X축, Y축, 버튼 상태를 저장할 변수 x = analogRead(X); // X축의 아날로그 값을 읽어 x 변수에 저장 y = analogRead(Y); // Y축의 아날로그 값을 읽어 y 변수에 저장 s = digitalRead(S); // 버튼의 디지털 상태를 읽어 s 변수에 저장 // 시리얼 모니터에 X축, Y축, 버튼 상태 출력 Serial.print("X="); Serial.print(x, DEC); // X축 값 출력 Serial.print(", Y="); Serial.print(y, DEC); // Y축 값 출력 Serial.print(",S="); Serial.println(s, DEC); // 버튼 상태 출력 delay(100); // 100ms 동안 대기 }