출처: 코코아팹
회전각 180도
서보50부터 움직임
5번핀에 연결할경우
서보가 초기값으로 돌아가면서 에러발생함
#include <Servo.h>.
Servo myServo;
void setup() {
myServo.attach(12);
}
void loop() {
myServo.write(5);
delay(1000);
myServo.write(90);
delay(1000);
myServo.write(170);
delay(1000);
myServo.write(90);
delay(1000);
}
#include<Servo.h> //Servo 라이브러리를 추가
Servo servo; //Servo 클래스로 servo객체 생성
int value = 0; // 각도를 조절할 변수 value
void setup() {
servo.attach(7); //7번핀 연결
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; //value = value + 30각도를 30도 증가
if(value == 180) //각도가 180도가 되면
value = 0; //각도를 0으로 초기화
}
else //in_data가 1이 아니라면
value = 0; //각도를 0으로 초기화
servo.write(value); //value값의 각도로 회전.ex)value가 90이라면 90도로 회전
}
}
#include <Servo.h>
Servo servo;
void setup() {
servo.attach(9); //9번핀에 서보모터 연결
}
void loop() {
int val = analogRead(A1); // 저항의 가운데핀을 A1에 연결
int angle = map(val, 0, 1023, 0, 179); // 0~1023을 0~179로 변환
servo.write(angle);
delay(10);
}