【 아두이노 기초 】 #30 서보(Servo) 모터 제어 하기 응용
지난 시간(http://rasino.tistory.com/147)에는 서보 모터를 정방향과 역방향 180도 회전제어를 해보았다.
이번 시간에는 빛에 따라 저항값이 변하는 CDS(광도전셀)를 이용해서 빛에 따라 서보모터를 제어 해보도록 하자. 이를 이용하면 매우 간단하게 빛에 따라 도어를 개폐하는 등의 작업이 가능하다.
▶ SG90 및 각종 서보 모터
《 SG90 》
《 HS311FS5106R 》
《 FS5106R - 무한 회전 서보 모터 》
▶ 실습 목표 :
CDS를 이용하여 빛의 밝기에 따라 서보모터를 0˚ 에서 180˚ 회전 시켜 본다.
▶ 실습 회로도면 :
(이미지 클릭하면 확대 가능)
▶ 부대품 목록 : 아두이노 보드, 브레드 보드
▶ 부품 목록 : 서보모터(SG90), CDS, 저항(220Ω)
▶ 프로그램 (코드& 설명) :
#include <Servo.h>
#define ServoPin 9 // 서보모터 연결할 핀 설정
Servo myservo;
int Angle = 0;
void setup() {
myservo.attach(ServoPin);
Serial.begin(9600);
}
void loop() {
val=analogRead(TEMP);
int Val_light = analogRead(A0); // CDS로부터 전압 값 받아서 저장
Serial.println(Val_light);
Angle = map(Val_light, 1,42, 0, 180); // 실 측정값으로 맵핑
myservo.write(Angle);
delay(50); // 서보모터가 동작하는 시간을 기다려 줌
}
※ 보충 설명
1. CDS는 빛이 최대로 들어 올 때 저항 값이 ‘0’에 가깝고, 가장 어두울 때 저항 값을 ‘무한대∞’로
▶ 실행 영상 :
▶ 아두이노 소스 코드 다운로드 :
'아두이노 > 1. 아두이노기초' 카테고리의 다른 글
【 아두이노 기초 】 #32 스텝(Step Motor)모터 정회전 역회전 (0) | 2018.11.19 |
---|---|
【 아두이노 기초 】 #31 스텝(Step Motor)모터의 이해 (9) | 2018.11.14 |
【 아두이노 기초 】 #29 서보(Servo) 모터 제어 하기 2 (0) | 2018.11.07 |
【 아두이노 기초 】 #28 서보(Servo) 모터 제어 하기 1 (0) | 2018.10.30 |
【 아두이노 기초 】 #27 DC 모터 제어 하기 7 (RC카 모터구동) (0) | 2018.10.17 |