Arduino/서보 모터(Servo motor)
포텐시오미터의 입력 값에 따라 서보 모터의 각도 조절하기
DesignatedRoom
2020. 10. 28. 18:23
서보 모터의 연결은 아래와 같다.
designatedroom87.tistory.com/247?category=899480
서보 모터의 기본적인 연결 및 동작
서보 모터는 3개의 선으로 구성되어 있는데, 아래의 세 선이 서보 모터에 연결된 선이다. 이 선 색을 중심으로 보면 서보 모터의 가운데는 VCC에, 갈색은 GND에, 주황색 선은 출력선이다. 이 출력선
designatedroom87.tistory.com
포텐시오미터의 연결을 알아보자.
아래의 포텐시오미터의 연결 그림에서 왼쪽의 검은 선은 GND에 연결 된다.
중간의 선은 A0핀에 연결이 된다.
맨 오른쪽 선은 VCC에 연결 한다.
왼쪽의 검은 선 아래의 붉은 선은 신경쓰지말자. 서보 모터에 연결된 선이다.
아래의 버튼은 무시하자. 나중에 필요한 것이다.
아래의 예제는
포텐시오미터의 값에 따라 서보 모터의 각도 조절하기이다.
포텐시오미터는 0~1023사이의 값을 갖고 서보모터는 0~180도 사이의 값을 갖는다.
포텐시오미터의 값을 받아 이를 각도로 환산하면 된다.
소스 코드
// 포텐시오미터의 값에 따라 서보 모터의 각도 조절하기
// 포텐시오미터는 0~1023사이의 값을 갖고 서보모터는 0~180도 사이의 값을 갖는다.
// 포텐시오미터의 값을 받아 이를 각도로 환산하면 된다.
#include <Servo.h>
Servo servo;
void setup() {
// put your setup code here, to run once:
servo.attach(6); // 6번핀
Serial.begin(9600);
pinMode(A0,INPUT); // A0핀과 포텐시오미터 연결
}
void loop() {
// put your main code here, to run repeatedly:
int poten = analogRead(A0);
//Serial.println(poten);
// 아날로그 값을 각도 값으로 환산
int degree = (float)poten / 1023 * 180;
Serial.println(degree);
servo.write(degree);
delay(100);
}