Arduino

서보모터 Serial로 각도 제어하기

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

첨부파일

<* 서보모터 Serial로 각도 제어 *>
● 시리얼모니터를 통해 '1'을 입력하면 서보모터가 30도씩 회전하며, 180도가 되었을 땐 다시 0도로 돌아오게 한다.
● '1'이외의 값이 입력되면 0도로 초기화한다.

----- < 서보모터 Serial로 각도 제어 소스 코드 > ------------------------------
#include<Servo.h> //Servo 라이브러리를 추가
Servo servo;      //Servo 클래스로 servo객체 생성
int value = 0;    // 각도를 조절할 변수

void setup() {
  Serial.begin(9600);
  servo.attach(7);  // 서보모터를 D7을 통해 서보모터에 신호 전달
 
}

void loop() {
  char in_data;

  if(Serial.available())    //시리얼 모니터에 입력 데이터가 있으면
  {
    in_data = Serial.read();  //시리얼모니터로 입력된 데이터 in_data로 저장
    if(in_data == '1')        //입력된 데이터가 1이라면
    {
      value += 30;            //각도를 30도 증가시킨다.
      if(value == 180)        //각도가 180도가 되면 (150도보다 커지면)
        value = 0;            //각도를 0으로 초기화
    }
    else                     
      value = 0;              //각도를 0으로 초기화
     
    servo.write(value);      //value값의 각도로 회전
  }

}