B10K를 이용하여 360도 회전하는 서보모터 컨트롤을 해보았습니다.
준비물
아두이노, 가변저항, 서보모터
전원과 신호선만 아두이노 우노에 잘 연결해주면된다. 서보모터의 신호는 PWM 디지털핀에 연결하고 가변저항신호는 아날로그핀에 연결해준다.
코팅
서보모터 라이브러리를 사용하여 서보모터를 작동시키고 map함수를 이용하여 아날로그값 0~1023을 서보모터가 작동하는 -170~170 사이값으로 지정해준다.
#include <Servo.h> // 아두이노 서보모터라이브러리 사용
int servoPin = 9; //서보모터 데이터케이블(주황)을 아두이노 9번 핀에 연결
Servo servo; // 서보모터를 servo 이름으로 정의
void setup (){
servo.attach(servoPin); // 서보모터를 아두이노와 연결
Serial.begin(9600); // Serial 통신을 설정합니다.
while(!Serial);
Serial.println("Servo Connected"); // 시리얼통신이 정상적으로 연결되면 시리얼모니터에 Servo Connected 출력
delay(1000);
}
void loop(){
int b, c ;
int val = analogRead(A5); // 가변저항을 아날로그 A5에 연결하고 이를 'val'에 저장합니다
b = map(val, 0, 1023, -170, 170); //0~1023을 -170 ~ 170 로 맵핑
Serial.print("Potentiometer/ servo angle: ");
Serial.print(val); // 시리얼 모니터로 가변저항 값을 출력합니다
Serial.print(" / ");
Serial.println(b);
servo.write(b); // b에 입력된 값을 서보모터 움직임 각도로 동작
delay(100); // 현재 입력된 서보모터 각도값을 반복(PWM신호)
}
반응형
'만들기 > 아두이노' 카테고리의 다른 글
아두이노를 이용한 워터펌프 (pwm 신호 제어) (0) | 2022.08.27 |
---|---|
온도조절 펌프 만들기 ( 아두이노, 펠티어, 열선) (0) | 2022.08.13 |
MG995 360도 서보모터 예제 (0) | 2022.07.08 |
아두이노 아날로그 홀센서 (0) | 2022.07.05 |
[아두이노] at1d 토글 스위치 사용하기 (0) | 2022.07.04 |