○ 아두이노 서보 모터 제어하기
아두이노 서보모터 움직이기
○ 사용 부품
2) 서보모터
○ 회로 연결
○ 적용 코드
#include <Servo.h>
Servo myservo
int pos = 0;
void setup() {
Serial.begin(9600);
myservo.attach(3);
myservo.write(30);
Serial.print("Degree : ");
Serial.println(myservo.read());
delay(5000);
}
void loop() {
for(pos=30; pos<150; pos++){
myservo.write(pos);
Serial.print("Degree : ");
Serial.println(myservo.read());
delay(10);
}
for(pos = 150; pos>30; pos--){
myservo.write(pos);
Serial.print("Degree : ");
Serial.println(myservo.read());
delay(10);
}
}
○ 주의사항
서보모터의 신호연결선은 반드시 물결표(~) 모양이 있는 pin에 연결해야 한다.
물결 표시는 PWM제어가 가능한 pin임을 나타낸다.
○ 코드 뜯어보기
Servo myservo // Servo인스턴스 myservo선언
myservo.attach(3) //myservo 객체에 3번 pin 할당
myservo.write(30) // 서보모터 각도 30으로 변경
myservo.read() // 서보모터의 현재 각도 반환
서보모터 뜯어보기
서보모터는 일반 직류모터와 다르게 각도를 직접 지정하여 회전시킬 수 있다. 각도를 지정하는 방법으로는 PWM( Pulse-Width Modulation : 펄스 폭 변조 )제어방법을 사용하는데, 가동범위 내에서 자유롭게 움직이는 특성상 공업/의료용 기계팔이나 폐쇄회로 카메라의 회전축 등에 사용한다.
이번에 실습한 서보모터의 경우에는 0~180도 까지만 회전이 가능하지만,
넓게 서보 모터는 자신이 회전한 각도를 알 수 있는 모터를 서보 모터라 한다.
PWM 제어 ( Pulse-Width Modulation Contorl )
디지털 소스를 사용해 아날로그 신호를 생성하는 방법이다.
PWM제어신호는 듀티 사이클과 주파수(Hz)로 구성되어 있으며, 듀티 사이클은 HIGH – LOW의 1Hz 디지털신호 안에서 HIGH신호 길이의 비율을 뜻한다.
이것을 만약에 원격에서 제어를 하고 싶다면 어떻게 해야할까요??
Blynk라는 어플을 통해서 만들면 편리하고 쉽게 구현할 수 있습니다!!
Blynk를 사용한 예제는 아래를 참조해주세요~!
https://kgu0724.tistory.com/145
'메이커 이야기 > 아두이노' 카테고리의 다른 글
[아두이노 조이스틱] Arduino Joystick Control (0) | 2020.02.23 |
---|---|
[블루투스모듈] HC-06 Bluetooth On/Off (0) | 2020.02.11 |
[아두이노 릴레이모듈] 릴레이모듈 LED 제어 (0) | 2020.02.07 |
[아두이노 터치센서] 터치센서 LED on/off (0) | 2020.02.07 |
[아두이노 RFID 기초] RFID로 UID 읽어오기 (0) | 2020.02.07 |