본문 바로가기

Arduino 제어

06. 아두이노 LED를 조도센서로 ON/OFF 제어 해보기. Arduino LED, CDS

안녕하세요. 
오늘은 아두이노 조도센서를 이용하여 LED를 ON/OFF 제어를 해보도록 하겠습니다.

소스코드는 맨 아래에서 다운로드를 하실 수 있도록 하였습니다.

오늘 사용할 조도센서는, 빛의 밝기에 따라 조도센서의 저항값이 바뀌는 수치를 아날로그 신호로 받아
그 수치가 일정량 이상일 경우 ON or OFF를 하도록 해보도록 하겠습니다!

 

 


준비물입니다.

아두이노 UNO , LED 1개, 220옴 1개, 1K옴 1개, 조도센서(CDS)

[오늘의 저항 색깔은 빨빨, 입니다.]

LED는 DigitalWrite 신호로 ON/OFF를 할 것이고,
조도센서는 A0 아날로그 신호로 받을 예정입니다.

 

[차근차근 한 단계씩 진행하기.]


우선 조도센서 값이 얼마나 출력이 되고 있는지를 우리는 알아야 합니다.
조도센서가 불이 어둡다, 밝다를 구분해주기 때문에!  우선 센서 값을 눈으로 보도록 합시다.

오늘부터는 시리얼 모니터 기능을 사용하게 될 것입니다.
시리얼 모니터는 아두이노에서 출력되는 시리얼 값을 사용자가 눈으로 확인할 수 있습니다.
단축키는 Ctrl + Shift + M 입니다.

혹은, 상단의 툴 - 시리얼 모니터에서도 접근이 가능합니다.

 

아래 사진과 같이 시리얼 모니터에서 조도센서의 값을 불러와서 볼 수 있는 걸 확인할 수 있었습니다.

 


코드

int Sensor = A0;    // 조도센서를 A0핀에서 사용합니다.
int S_Value; 

void setup(){
 Serial.begin(9600);  // 시리얼 통신속도를 9600으로 지정합니다.
 
}

void loop(){
  S_Value = analogRead(A0);   // A0 포트에서 불러올 Sensor값을 S_Value 이름으로 지칭합니다.
  Serial.println(S_Value);  // Serial모니터에 S_Value 값을 한칸 아래에 불러옵니다.
  delay(500);  // 0.5초마다 출력.

}

 

결과

손으로 가리게 되면, 센서 값이 내려가는것을 첨부된 동영상으로 확인이 가능합니다.

 

 


센서값 확인을 했으니, 이제 일정 센서값 이하로 떨어지는 경우에 LED를 켜보도록 하겠습니다. (if문)

 

소스코드

int Sensor = A0;
int S_Value;
int RED_LED = 7;  // 7번핀에 LED를 연결합니다.

void setup() {
  Serial.begin(9600);
  pinMode(RED_LED, OUTPUT);  // 해당 핀을 출력으로 설정합니다.
}

void loop() {
  S_Value = analogRead(A0);
  Serial.println(S_Value);
  delay(500);

  if(S_Value<=100){  // S_Value값이 100보다 작거나 같다면,
    digitalWrite(RED_LED, HIGH);  // LED는 켜지게 됩니다.
  }

  else if(S_Value>=100){  // S_Value값이 100보다 크다면,
    digitalWrite(RED_LED, LOW); // LED는 꺼지게 됩니다.
  }
  
}

 

결과 : 조도센서에 손으로 빛을 가려 값이 100 이하로 내려가면, LED가 HIGH 상태가 됩니다.
반대로, 100을 초과한다면, LED는 LOW 상태가 됩니다.


아래 동영상을 참고하세요.

 

 

오늘도 찾아주셔서 감사합니다.
댓글을 통해 원하시는 자료가 있으면 요청해주시면 빠른 시일 내 응답하도록 하겠습니다.
감사합니다.

Thank you for visiting my blog today.
If you have any data you want through the comments, please request it and we will respond as soon as possible.
Thank you.

 

CDS_LED.zip
0.00MB