조이스틱 모듈

조이스틱 모듈

Makerist 0 739
번호핀명I/O기능
 1GNDGNDGROUND
 2+5VVCCVCC
3X-axisANALOG OUTPUTX 축으로 움직인 값
4Y-axisANALOG OUTPUTY 축으로 움직인 값
5SwitchDIGITAL 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 동안 대기
}

0 Comments