Arduino

조이스틱(JOYSTICK)으로 DC 모터 제어 하기

작성자 임베디드코리아 작성일25-05-16 00:33 조회150회 댓글0건

첨부파일

<* 모터드라이버 L298N을 3,4,5번핀에 적절히 연결 *>
◆ 2축조이스틱이 아두이노에 연결
◆ x축핀을 A0에 y축핀을 A1에 연결
◆ y축방향에서 위쪽방향으로 조이스틱을 움직이면 모터가 정방향으로 속도가 증가하고
    - 아래쪽방향으로 조이스틱을 움직이면 역방향으로 속도가 증가한다.

----- < 조이스틱(JOYSTICK)으로 DC 모터 제어 소스 코드 > --------------
#define control_PinA  3
#define control_PinB  4
#define Motor_power        5
#define joysticx      A0
#define joysticy      A1

int power_value = 0;

void setup() {
  Serial.begin(9600);
  pinMode(control_PinA,OUTPUT);
  pinMode(control_PinB,OUTPUT);
}

void loop() {
  int x = analogRead(joysticx);
  int y = analogRead(joysticy);

  if(y <= 510){
    digitalWrite(control_PinA,HIGH);
    digitalWrite(control_PinB,LOW);
    power_value = map(510-y,0,510,0,255);
  }else if(y >= 528){
    digitalWrite(control_PinA,LOW);
    digitalWrite(control_PinB,HIGH);
    power_value = map(y,528,1023,0,255);
  }else{
    power_value = 0;
  }
  analogWrite(Motor_power,power_value);
  Serial.println(power_value);
}