반응형
조도 센서를 이용해서 LED를 어두울 때는 어둡게, 밝을 때는 밝게 만들어보자!
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int val = map(analogRead(A0), 0, 1023, 0, 255);
Serial.println(val);
analogWrite(9, val);
}
map 함수는 5가지 인수로 구성되어 있다.
map(입력 값, 입력 값의 최솟값, 입력 값의 최댓값, 변환될 출력 값의 최솟값, 변환될 출력 값의 최댓값);
map 함수는 위와 같이 입력되는 값의 범위를 원하는 범위의 값으로 변환하여 출력할 수 있다.
즉, 조도 센서의 출력값의 범위는 0~1023인데, analogWrite의 범위가 0~255이기 때문에 변환해준다.
LED에는 1k옴이 필요하고, 조도 센서에는 10k옴이 필요하다.
조도 센서를 어둡게하면 LED가 어두워지고, 밝게 하면 같이 밝아진다.
만약, 반대로 LED를 어두울 때, 밝게하고 싶다면
val = map(analogRead(A0),0,1023,255,0);
또는
val = 255 - map(analogRead(A0),0,1023,0,255);
위와 같이 작성해주면 된다.
반응형