Limetime's TimeLine
article thumbnail
반응형

조도 센서를 이용해서 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);

위와 같이 작성해주면 된다.

반응형
profile

Limetime's TimeLine

@Limetime

포스팅이 좋았다면 "공감❤️" 또는 "구독👍🏻" 해주세요!