아두이노 가변 저항기에 의해 제어되는 서보 모터
이전 튜토리얼에서는 포텐쇼미터가 서보 모터를 어떻게 작동시키는지 배웠습니다. 이번 튜토리얼에서는 포텐쇼미터의 출력 값에 따라 서보 모터를 어떻게 회전시키는지 배울 예정입니다.
준비물
| 1 | × | 아두이노 우노 R3 | 쿠팡 | 아마존 | |
| 1 | × | USB 2.0 타입 A-to-B 케이블 (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 2.0 타입 C-to-B 케이블 (USB-C PC용) | 아마존 | |
| 1 | × | 서보 모터 | 쿠팡 | 아마존 | |
| 1 | × | 포텐셔미터 | 쿠팡 | 아마존 | |
| 1 | × | 노브가 있는 포텐셔미터 모듈 | 쿠팡 | 아마존 | |
| 1 | × | 브레드보드 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) Sensors/Servo Expansion Shield for Arduino Uno | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 브레드보드 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 케이스 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 |
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
서보 모터와 포텐쇼미터에 대하여
서보 모터와 포텐쇼미터(핀 배치, 작동 방식, 프로그래밍 방법 등)에 대해 잘 모른다면, 다음 튜토리얼에서 배워보세요:
선연결

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
프로그램 하는 방법
포텐쇼미터의 값을 읽습니다 (0에서 1023 사이의 값)
int analogValue = analogRead(A0);
각도(0과 180 사이의 값)로 조정합니다
int angle = map(analogValue, 0, 1023, 0, 180);
각도에 따라 서보 위치를 설정합니다.
myServo.write(angle);
아두이노 코드
/*
* 이 아두이노 코드는 newbiely.kr 에서 개발되었습니다
* 이 아두이노 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/arduino/arduino-servo-motor-controlled-by-potentiometer
*/
#include <Servo.h>
Servo myServo; // 서보 개체를 생성하여 서보를 제어합니다
void setup() {
// 9600 비트/초로 시리얼 통신 초기화:
Serial.begin(9600);
myServo.attach(9); // 9번 핀에 서보를 부착하여 서보 객체에 연결합니다
}
void loop() {
// 포텐쇼미터의 값을 읽습니다(값은 0에서 1023 사이)
int analogValue = analogRead(A0);
// 서보 사용을 위해 스케일을 조정합니다(값은 0에서 180 사이)
int angle = map(analogValue, 0, 1023, 0, 180);
// 스케일된 값에 따라 서보 위치를 설정합니다
myServo.write(angle);
// 값 출력
Serial.print("Analog: ");
Serial.print(analogValue);
Serial.print(", Angle: ");
Serial.println(angle);
delay(100);
}
사용 방법
- 아두이노를 USB 케이블을 통해 PC에 연결하십시오
- 아두이노 IDE를 열고 올바른 보드와 포트를 선택하십시오
- 위의 코드를 복사하여 아두이노 IDE로 엽니다
- 코드를 아두이노에 업로드하려면 아두이노 IDE에서 Upload 버튼을 클릭하십시오

- 시리얼 모니터 열기
- 포텐쇼미터를 돌리세요
- 서보 모터의 회전을 확인하세요
- 시리얼 모니터에서 결과를 확인하세요
8
Serial.println("Hello World!");
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
Analog: 0, Angle: 0
Analog: 85, Angle: 14
Analog: 201, Angle: 35
Analog: 286, Angle: 50
Analog: 370, Angle: 65
Analog: 444, Angle: 78
Analog: 521, Angle: 91
Analog: 608, Angle: 106
Analog: 690, Angle: 121
Analog: 793, Angle: 139
Analog: 907, Angle: 159
Analog: 1023, Angle: 180
Analog: 1023, Angle: 180
코드 설명
소스 코드의 주석 라인에 있는 줄별 설명을 읽으세요!
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.