BLC-160 아두이노 테스트 코드

P단자는 PWM PIN 연결
G단자는 GND PIN 연결

DIR PIN연결(방향)
BRAKE PIN연결(기동정지)

STOP은 연결안하셔도 됩니다

---------------------------------------------------------------------------

예제1

#define PWM_PIN    5
#define DIR_PIN    6
#define BRAKE_PIN  7  // STOP 대신 사용

void setup() {
  pinMode(PWM_PIN, OUTPUT);
  pinMode(DIR_PIN, OUTPUT);
  pinMode(BRAKE_PIN, OUTPUT);

  digitalWrite(DIR_PIN, HIGH);     // 정방향
  digitalWrite(BRAKE_PIN, LOW);    // 브레이크 해제
}

void loop() {
  // PWM 점점 증가
  for (int speed = 0; speed <= 255; speed += 5) {
    analogWrite(PWM_PIN, speed);
    delay(200);
  }

  delay(2000); // 최고속도 유지

  // 브레이크 ON
  digitalWrite(BRAKE_PIN, HIGH);
  analogWrite(PWM_PIN, 0); // PWM 끄기
  delay(2000);

  // 브레이크 OFF
  digitalWrite(BRAKE_PIN, LOW);

  // 방향 전환
  digitalWrite(DIR_PIN, LOW);

  // 다시 PWM 증가 (역방향)
  for (int speed = 0; speed <= 255; speed += 5) {
    analogWrite(PWM_PIN, speed);
    delay(200);
  }

  delay(2000);

  // 브레이크 ON
  digitalWrite(BRAKE_PIN, HIGH);
  analogWrite(PWM_PIN, 0);
  delay(2000);

  // 다시 반복
  digitalWrite(BRAKE_PIN, LOW);
  digitalWrite(DIR_PIN, HIGH);
}

------------------------------------------------------------------------

예제2

#define PWM_PIN 5    // 조속 제어 PWM 출력 핀
#define DIR_PIN 6    // 방향 제어 핀 (LOW=역방향, HIGH=정방향)

void setup() {
  pinMode(PWM_PIN, OUTPUT);
  pinMode(DIR_PIN, OUTPUT);

  digitalWrite(DIR_PIN, HIGH);  // 처음엔 정방향
}

void loop() {
  // 정방향으로 속도 천천히 증가
  for (int speed = 0; speed <= 255; speed += 5) {
    analogWrite(PWM_PIN, speed);
    delay(200);
  }
  
  delay(2000);  // 최고속도 유지 2초
  
  // 방향 전환 (역방향)
  digitalWrite(DIR_PIN, LOW);

  // 역방향으로 속도 천천히 증가
  for (int speed = 0; speed <= 255; speed += 5) {
    analogWrite(PWM_PIN, speed);
    delay(200);
  }

  delay(2000);  // 최고속도 유지 2초

  // 다시 방향 정방향으로 변경
  digitalWrite(DIR_PIN, HIGH);

  // 속도 서서히 줄이기 (감속)
  for (int speed = 255; speed >= 0; speed -= 5) {
    analogWrite(PWM_PIN, speed);
    delay(200);
  }

  delay(2000);  // 정지 상태 유지
}


---------------------------------------------------------------------------------------


예제3

#define PWM_PIN 5

void setup() {
  pinMode(PWM_PIN, OUTPUT);
}

void loop() {
  // 속도 0 -> 255 천천히 증가
  for (int speed = 0; speed <= 255; speed += 2) {
    analogWrite(PWM_PIN, speed);
    delay(150);  // 천천히 변화
  }

  delay(2000);  // 최고속도 유지 2초

  // 속도 255 -> 0 천천히 감소
  for (int speed = 255; speed >= 0; speed -= 2) {
    analogWrite(PWM_PIN, speed);
    delay(150);
  }

  delay(2000);  // 정지 상태 유지 2초
}



