임베디드/Arduino
서보모터
sj0020
2020. 9. 9. 14:08
#include<Servo.h> //Servo 라이브러리를 추가
Servo servo; //Servo 클래스로 servo객체 생성
int value = 0; // 각도를 조절할 변수 value
void setup() {
servo.attach(7); //맴버함수인 attach : 핀 설정
Serial.begin(9600); //시리얼 모니터 사용 고고
}
void loop() {
if(Serial.available()) //시리얼 모니터에 데이터가 입력되면
{
char in_data; // 입력된 데이터를 담을 변수 in_data
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값의 각도로 회전. ex) value가 90이라면 90도 회전
}
}
출처: https://codingrun.com/110 [코딩런]
#include <Servo.h>
int servoPin = 12;
Servo servo;
int angle = 0; // servo position in degrees
void setup()
{
servo.attach(servoPin);
}
void loop()
{
// scan from 0 to 180 degrees
for(angle = 0; angle < 180; angle++)
{
servo.write(angle);
delay(15);
}
// now scan back from 180 to 0 degrees
for(angle = 180; angle > 0; angle--)
{
servo.write(angle);
delay(15);
}
}