2023.05.22(pm): 아두이노 미로탈출 게임 멘토 사전교육

아두이노로 서보모터 제어하기 글을 먼저 학습하고 옵시다.

저는 미로를 아래와 같이 제작해 주었습니다.

그리고 조이스틱을 이용해서 서보모터가 잘 작동하는지 확인을 해줄텐데요, 아래 코드를 우선 아두이노에 업로드하고, 배선을 합니다.

#include <Servo.h>

Servo myservo1;
Servo myservo2;

int Servopin1 = 4;   //1번 서보모터
int Servopin2 = 5;   //2번 서보모터

void setup()
{
  myservo1.attach(Servopin1);
  myservo2.attach(Servopin2);
  Serial.begin(9600);

  pinMode(8, INPUT_PULLUP);
}

void loop()
{
  //map(조이스틱 좌우 아날로그 값, 조이스틱 최소값, 조이스틱 최대값, 서보모터 최소값, 서보모터 최대값)
  //조이스틱값, 서보모터의 값은 조립방향에 따라 정 반대가 될 수 았음
  //테스트 하면서, 최적의 값 찾기
  myservo1.write(map(analogRead(A1), 50, 1010, 60, 95 ));
  myservo2.write(map(analogRead(A0), 50, 1010, 95, 60));

  Serial.print(analogRead(A1)); // X축 값
  Serial.print("  ");           
  Serial.print(analogRead(A0)); // X축 값
  Serial.print("  ");         
  Serial.println(digitalRead(8)); // Z축(스위치) 값
  
  delay(90);
}

조이스틱으로 서보모터가 움직이는 것을 확인했으면 아래와 같이 조립해주고, 추가 구동 테스트를 진행합니다.

테스트 영상은 아래와 같습니다.