안녕하세요.
오늘은 서보모터 사용에 대해서 알아보겠습니다.
서보모터란 정해진 회전 반경 안에서 PWM 신호에 의해 제어되는
정밀한 동작을 하는 모터입니다.
준비물
※ 클릭 시 구매 링크로 이동합니다.
아두이노 R3 보드
서보모터 SG90
아두이노 택트 스위치
브레드보드 400핀
가변저항 100K
스위치로 SG90 동작하기
이렇게 연결해주시고
아래의 소스를 업로드 해주세요.
#include <Servo.h> //서보모터 라이브러리
Servo SG90; //서보모터 객체를 선언
int sg90 = 11;
int Switch1= 2;
int Angle=0;
void setup() {
Serial.begin(9600);
SG90.attach(sg90); // 11번핀에 연결
pinMode(Switch1, INPUT_PULLUP);
}
void loop() {
int SW1 = digitalRead(Switch1);
if(SW1 == LOW){
Serial.print("Switch : ★★★ START ★★★"); // 스위치 눌렀을때 스타트 출력 및 동작시작
for(Angle = 0; Angle <= 180; Angle++){ //0부터 180까지 1씩 증가
SG90.write(Angle);
Serial.print("Angle : ");
Serial.println(Angle);
}
delay(1000);
for(Angle = 180; Angle > 0; Angle--){ //180부터 0까지 1씩 감소
SG90.write(Angle);
Serial.print("Angle : ");
Serial.println(Angle);
}
delay(200);
}
delay(10);
}
스위치를 누르면 시작과 함께 각도가 변하는 것을 볼 수 있어요.
가변저항으로 SG90 동작하기
#include <Servo.h> //서보모터 라이브러리
Servo SG90; //서보모터 객체를 선언
int sg90 = 11;
int Angle=0;
int val = 0;
void setup() {
Serial.begin(9600);
SG90.attach(sg90); // 11번핀에 연결
}
void loop() {
int val = analogRead(A1);
int Angle = map(val, 0, 1023, 0, 179);
SG90.write(Angle);
Serial.print("Angle : ");
Serial.println(Angle);
delay(10);
}
가변저항의 값에 따라 0~179를 설정하여 각도 조절도 가능해요.
오늘은 서보모터 사용법에 대해서 알아봤어요.
다음에는 RFID-RC522 카드리더 모듈에 대해서 알아보겠습니다.
전자부품 전문 쇼핑몰 인투피온입니다.
필요한 자재에 관한 문의는 홈페이지를 통한 견적 신청, 혹은 전화나 메일로 주시면 빠른 회신을 드릴 수 있도록 하겠습니다.
▶ 홈페이지: http://intopion.com/
▶ 전화: 02-2615-7278
▶ FAX : 02-6124-4242
▶ 메일: intopion@hanmail.net
'인투피온 강좌 > 아두이노 팁(Tip)' 카테고리의 다른 글
아두이노 도트 매트릭스 모듈(MAX7219) 사용하기 (0) | 2021.12.20 |
---|---|
아두이노 RFID(RC522) NFC 사용하기 (0) | 2021.12.20 |
아두이노 스위치 사용하기 (0) | 2021.12.20 |
아두이노 조도센서 사용하기 (0) | 2021.12.20 |
아두이노 HC-SR501 인체감지 경보기 (0) | 2021.12.20 |