# 목적
- 주변의 빛의 양을 측정하여 그만큼 서보모터를 회전시키기
# 준비물
- 빛센서, 10k 저항, 서보모터, 점퍼케이블, 보드
# 입출력 설명
- 입력 : 빛의 양(아날로그 값, 0~1023)
- 처리 : 빛의 양을 읽어(analogRead), 서보모터의 회전 값으로 쓰기(write)
- 출력 : 서보모터의 회전 각도(PWM, 0~179)
# 회로도
# 아두이노 코드
#include <Servo.h>
Servo myServo;
int cdsPin = A0;
int servoPin = 9;
int value = 0;
int angle = 0;
void setup() {
myServo.attach(servoPin);
Serial.begin(9600);
}
void loop() {
value = analogRead(cdsPin);
Serial.print("cds value: ");
Serial.println(value);
angle = map(value, 0, 1023, 0, 179);
Serial.print("angle: ");
Serial.println(angle);
myServo.write(angle);
delay(100);
}
# 코드 - 코드아이플러스(codeiPlus)
# 참고자료
- 더스틴 로버츠(2012). 움직이는 사물의 비밀, 180-184.
- 키모 카르비넨, 테로 카르비넨(2015). 처음 시작하는 센서, 85-88.