동영상 :
https://youtu.be/s2WRirUblYY
<* 서보모터 가변 저항으로 동작 조절 *>
가변저항을 조절하면 각도가 변하여 움직임
----- < 서보모터 가변저항 제어 소스 코드 > ------------------------------
#include <Servo.h>
Servo myservo;
int potpin = A0;
int val;
void setup() {
myservo.attach(9);
}
void loop() {
val = analogRead(potpin);
val = map(val, 0, 1023, 0, 180);
myservo.write(val);
delay(15);
}
<* 서보모터 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값의 각도로 회전
}
}