커뮤니티

  • 제 목 [로봇팔 제어 프로젝트 3] 조이스틱 입력값 확인 테스트
  • 작성자 이은* 조회 : 6,367 좋아요 : 0 댓글 : 0
  • 작성일 2019-11-14 오전 11:02:03
  • 첨부파일 joystick_check.ino
  • 본 실습을 통해 아날로그 입력과 조이스틱 센서에 대해 이해한다.

     

    준비물 : Arduino, 조이스틱 1개

    내용 : 조이스틱을 아두이노에 연결하여 조이스틱의 조종에 따라 아날로그 입력값이 어떤 식으로 입력되는지 시리얼 모니터를 통해 확인한다. 이 실습을 통해 조이스틱을 움직였을 때 아날로그 값이 어떻게 변하는지 확인하고 이를 토대로 서보모터가 움직일 수 있게 하는 아날로그 값의 범위를 결정한다.

     

    회로 연결은 다음과 같다.

     

    실제 실습은 조이스틱 9핀을 사용하였지만 fritzing에는 없으므로 일반적으로 사용하는 5핀짜리 조이스틱을 fritzing에서 사용하였다.

    조이스틱은 x, y 축으로 아날로그 입력이 가능하고, z 축으로 버튼을 누르면 디지털 입력이 가능하다. x축을 담당하는 VER핀을 A0번에 연결하였고, y축을 담당하는 HOR핀을 A1핀에 연결하였다. 또한 z축 디지털 입력을 담당하는 SEL핀을 4번핀에 연결하였다.

     

    코드는 다음과 같다.

    #include <Servo.h> //헤더파일 포함
    const int X_AXIS = A0; //x축 아날로그 입력핀 0번 지정
    const int Y_AXIS = A1; //y축 아날로그 입력핀 1번 지정
    
    void setup() {
      // put your setup code here, to run once:
      Serial.begin(9600); //시리얼 모니터 사용
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      int xVal = analogRead(X_AXIS); //X축값 읽음
      int yVal = analogRead(Y_AXIS); //Y축값 읽음
      int pushBtn = digitalRead(4);
      Serial.print("Btn : ");
      Serial.print(pushBtn);
      Serial.print("   ");
      Serial.print("X:  ");
      Serial.print(xVal);
      Serial.print("   ");
      Serial.print("Y : ");
      Serial.println(yVal);
      delay(500);
    }

     

    동작영상

     

     

  • #로봇 #아두이노 #센서