[로봇팔 제어 프로젝트 3] 조이스틱 입력값 확인 테스트
조이스틱의 입력값을 시리얼 모니터로 출력해보는 실습입니다. 이 실습의 목적은 조이스틱의 컨트롤에 따라 아날로그 입력값이 어느정도 올라가고, 내려가는지를 확인하기 위함입니다.
[로봇팔 제어 프로젝트 3] 조이스틱 입력값 확인 테스트
작성자 :
dmsrn13**
본 실습을 통해 아날로그 입력과 조이스틱 센서에 대해 이해한다.
준비물 : 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);
}
동작영상
※ e4ds make에 등록된 자료는 e4ds와 지식 제공자(기업포함) 이외에는 상업화 용도로 사용할 수 없습니다. 영리 목적 이외의 사용 시 출처를 밝혀야 합니다.